Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

This project depends on KituraNet #26

Open
ianpartridge opened this issue Oct 11, 2018 · 9 comments
Open

This project depends on KituraNet #26

ianpartridge opened this issue Oct 11, 2018 · 9 comments

Comments

@ianpartridge
Copy link

Currently, this project depends on the KituraNet API for outbound HTTP requests. As far as I can tell, this is for historical reasons: the KituraNet API runs on libcurl and worked reliably on Linux back when URLSession on Linux didn't.

We intend to deprecate and remove the KituraNet API as there is no reason why it should provide an API for outbound HTTP requests now that URLSession on Linux is functional.

This issue is to discuss how to achieve that. Here are a few options:

  1. Change this repo so it uses RestKit instead
  2. Change this repo so it uses SwiftyRequest instead
  3. Change all the users of this repo so they use RestKit instead, and deprecate this repo
  4. Change all the users of this repo so they use SwiftyRequest instead, and deprecate this repo

My preference is for options 3 or 4, as I don't see why the users of this repo can't be updated to use one of the alternatives directly.

@ianpartridge
Copy link
Author

@ianpartridge
Copy link
Author

If anyone knows which repos depend on this one, please comment. I am only aware of https://github.com/ibm-bluemix-mobile-services/bms-pushnotifications-serversdk-swift

@AnthonyOliveri
Copy link
Contributor

I asked Anton about this repo awhile ago. He said it's up to you guys (Swift team) to decide if you want to keep it. I'm pretty sure that this can be deprecated, so option 3 or 4 is probably best.

@aal80 Do you know of any other projects that would be affected by this?

@aal80
Copy link
Contributor

aal80 commented Oct 16, 2018

These are all the references to this library on github.com, there might be others on GHE. https://github.com/search?q=bluemix-simple-http-client-swift&type=Code

@ianpartridge
Copy link
Author

I thought of an option 5.

  1. Change this repo so it uses URLSession directly.

I kind of like that, what do you think @AnthonyOliveri @aal80 ?

@AnthonyOliveri
Copy link
Contributor

That might be an easier solution, since there would be no need to coordinate updating the dependencies of several projects that depend on this. This is a fairly simple framework, and there is already some commented-out URLSession code that can be used as a starting point.

Once that's done, it's probably worthwhile to put a bold notice on the README that this repo is no longer being maintained, and URLSession should be used instead.

@christiancompton
Copy link
Collaborator

christiancompton commented Oct 25, 2018

One of the biggest dependencies we own is the old Object Storage SDK:

https://github.com/ibm-bluemix-mobile-services/bluemix-objectstorage-serversdk-swift/blob/master/Package.swift

This is for a deprecated service - the new limited COS SDK should be released soon.

@ianpartridge
Copy link
Author

ianpartridge commented Oct 26, 2018

Option 6.

  1. Change all the users of this repo (bms-pushnotifications-serversdk-swift and bluemix-objectstorage-serversdk-swift) to use URLSession directly, and deprecate this repo.

Thoughts?

@AnthonyOliveri
Copy link
Contributor

@ianpartridge When you said that "we intend to deprecate and remove the KituraNet API", do you mean you will be deleting the repo too? If the repo is going to stay up, then I think the most practical solution would be to simply put a deprecation notice to the README in this SDK, and leave everything else alone. As long as KituraNet repo exists, then there should be no issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants