You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
Ever since we abstracted away the HTTP clients into the BaseHttpClient trait I've wanted to consider making it a public crate outside of rspotify. The current rspotify-http should just be a dependency, and worked on externally. Separating the module into the rspotify-crate was the first step. Not only would we actually separate http logic from spotify's API, but also have support from the community and reduce the maintenance work needed for Rspotify.
This isn't really a top priority right now as it might be a bit complicated, but ideally it should be released before v0.11 in order to avoid confusion.
Describe the solution you'd like
I think the best way to handle the HTTP client abstraction would be to create a separate crate, as I can imagine it's a frequent problem for other API wrappers like us and we could do with some support from other developers outside of Rspotify. This way it'll be much easier to add new clients.
After investigating a bit I've found the following already-existing crates:
http-client: "Types and traits for http clients", very similar and well maintained. Not sure if it's the exact same as uclient, I should try it out. Problems: I think it only supports asynchronous clients currently.
Other crates that implement HTTP interfaces with maybe-async:
Is your feature request related to a problem? Please describe.
Ever since we abstracted away the HTTP clients into the
BaseHttpClient
trait I've wanted to consider making it a public crate outside of rspotify. The currentrspotify-http
should just be a dependency, and worked on externally. Separating the module into therspotify-crate
was the first step. Not only would we actually separate http logic from spotify's API, but also have support from the community and reduce the maintenance work needed for Rspotify.This isn't really a top priority right now as it might be a bit complicated, but ideally it should be released before v0.11 in order to avoid confusion.
Describe the solution you'd like
I think the best way to handle the HTTP client abstraction would be to create a separate crate, as I can imagine it's a frequent problem for other API wrappers like us and we could do with some support from other developers outside of Rspotify. This way it'll be much easier to add new clients.
After investigating a bit I've found the following already-existing crates:
maybe_async
, just what we're looking for. Problems: (1) seems a bit abandoned currently, (2) usesmaybe_async
, so Avoiding conflicting features; allow multiple HTTP clients at once #221 remains unsolved. @fMeow, do you plan on maintaining the crate any further?Other crates that implement HTTP interfaces with
maybe-async
:The text was updated successfully, but these errors were encountered: