mirror of
https://github.com/ProxymanApp/atlantis.git
synced 2026-04-26 08:26:04 +03:00
[GH-ISSUE #52] Consider Separating API from Use Case #40
Labels
No labels
Done
Done
Windows
bug
bug
bug
enhancement
enhancement
enhancement
good first issue
hacktoberfest
pull-request
wontfix
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/atlantis#40
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @Sherlouk on GitHub (Jan 19, 2021).
Original GitHub issue: https://github.com/ProxymanApp/atlantis/issues/52
Originally assigned to: @NghiaTranUIT on GitHub.
Hey @NghiaTranUIT 👋
First off just wanted to say I love Proxyman - I use it personally and it's a breath of fresh air from what feels like an ancient Charles Proxy! 🙌
I just wondered how you felt about the idea of separating Atlantis down into two distinct 'targets' (to use SPM terminology) or 'subspecs' (CocoaPods).
In essence, I have a use case where I want to monitor network traffic as part of a debug monitoring package.
In its simplest form I'd want to register an observer/listener which receives a call with the request/response every time a request is completed. It should work automatically (method swizzling) or through the manual API as per your implementation documentation.
The reason I mention specifically breaking it down into two distinct frameworks is that it'd be nice to not have to include the transporter or bonjour/local network components which would generally improve the amount of use cases?
Thanks 😄
@NghiaTranUIT commented on GitHub (Jan 20, 2021):
Hi, Glad to know that you love Proxyman 😄
It's possible to support two targets (SMP):
But it's quite complicated to implement it at the moment (since I have a plan to support WS/WSS too).
However, I can quick support:
It doesn't change the structure of the project and it can be implemented easily.
What do you think? Is it fit your case? 🤔
@Sherlouk commented on GitHub (Jan 20, 2021):
Thanks for the quick response! That'd certainly help support my use case 🙌
We can of course still keep an issue around for a longer-term improvement to break the project down, but it won't be as time critical if we can still carry out our pieces
@NghiaTranUIT commented on GitHub (Jan 21, 2021):
@Sherlouk If you don't mind, please check out this branch (https://github.com/ProxymanApp/atlantis/pull/53)
From now, you can disable the Bonjour and observe the traffic from its delegate:
Please let me know if it works for you 👍
@Sherlouk commented on GitHub (Jan 21, 2021):
Hey @NghiaTranUIT 👋
Thanks for the quick work! The PR looks perfect for what we need.
Unfortunately I'm getting an unrelated issue when installing the CocoaPod - and we've not yet upgraded to Xcode 12 for the SPM version (in the main project).
I'll download it into a sample project this evening to triple check behaviour and confirm 👍 Sorry for the delay
@NghiaTranUIT commented on GitHub (Jan 21, 2021):
Thanks for letting me know. I will upload a better sample project for the Atlantis project in this week. It's easier for other users who would try the Atlantis 👍
@Sherlouk commented on GitHub (Jan 21, 2021):
I have also just got it working on an experimental Xcode 12 branch using the SPM integration and it's working beautifully. Huge appreciation for getting that done
@NghiaTranUIT commented on GitHub (Jan 22, 2021):
Glad to know it works for you. I will finalize the PR and bump a version today 😄
@NghiaTranUIT commented on GitHub (Jan 22, 2021):
Just let you know that the PR, which includes a new Example Code as I promise is closed due to a few limitations of SMP #54