cpageler93 / JiraSwift

Jira Client for Swift
MIT License
23 stars 11 forks source link

Refactor to use async-http-client #4

Closed Yasumoto closed 5 years ago

Yasumoto commented 5 years ago

Generally, folks in the Swift sswg (Server Side Working Group) recommend using Swift NIO as a foundational toolkit for networking, and built out the AsyncHTTPClient leveraging that and many best practices.

This is a heavily breaking change, moving away from SwiftyJSON in favor of built-in support for Codable, as well as the AsyncHTTPClient since that should be well-supported and able to place nice with other packages across the ecosystem.

@cpageler93 I know this diff is pretty big, so open to suggestions if you'd prefer I broke this up a bit! Also, I haven't yet had a chance to dig into the tests since it looks like they're an integration suite that requires a live JIRA server, and I only have a "production" one available. Mainly wanted to get this sent over for some feedback on the approach πŸ™‡

cpageler93 commented 5 years ago

Hi @Yasumoto,

thank you for your pull request! The project has unfortunately become a bit outdated, and is therefore in such an old-fashioned style.

I'm kind of familiar with Swift NIO, but not with AsyncHTTPClient. Your changes with AsyncHTTPClient looks way better to me, so I'd suggest that I'll merge your pull request not in master but in another branch, so I can make some other code style updates and check the tests. After that I'd like to merge these changes in master and create a new major version tag.

What do you think?

Yasumoto commented 5 years ago

Totally makes sense; that’d be great! πŸŽ‰