mirror of
https://github.com/ramsayleung/rspotify.git
synced 2026-04-25 23:45:52 +03:00
[GH-ISSUE #234] Use an external HTTP universal interface instead of rspotify-http #79
Labels
No labels
Stale
bug
discussion
enhancement
good first issue
good first issue
help wanted
pull-request
question
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/rspotify#79
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 @marioortizmanero on GitHub (Jul 15, 2021).
Original GitHub issue: https://github.com/ramsayleung/rspotify/issues/234
Is your feature request related to a problem? Please describe.
Ever since we abstracted away the HTTP clients into the
BaseHttpClienttrait I've wanted to consider making it a public crate outside of rspotify. The currentrspotify-httpshould just be a dependency, and worked on externally. Separating the module into therspotify-cratewas 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 #221 remains unsolved. @fMeow, do you plan on maintaining the crate any further?Other crates that implement HTTP interfaces with
maybe-async:@marioortizmanero commented on GitHub (Sep 15, 2021):
We should probably do this after #221, since it may change the way Http clients work.
@github-actions[bot] commented on GitHub (Jul 3, 2023):
Message to comment on stale issues. If none provided, will not mark issues stale
@github-actions[bot] commented on GitHub (Nov 29, 2025):
Message to comment on stale issues. If none provided, will not mark issues stale