InputUsername / listenbrainz-rs

ListenBrainz API bindings for Rust
https://crates.io/crates/listenbrainz
MIT License
11 stars 6 forks source link

Add support for alternative Listenbrainz hosts #6

Closed shymega closed 3 years ago

shymega commented 3 years ago

This commit adds support for alternative Listenbrainz hosts.

L10 defines the most used official host for Listenbrainz.

I have refactored the Client struct to have the api_root_url field. This is automatically set to the value L10 defines, when a Client is instantiated with new(). On the invocation of client_with_url(url: &str), the api_root_url field is set to the Listenbrainz instance API root URL passed to the function.

The 1:1 functions <-> API methods have been modified to use self.api_root_url as the base of the format!() macro invoked, rather than the global constant of API_ROOT_URL.

This commit has been tested with the examples, and appears to be functional.

Fixes #2.

Signed-off-by: Dom Rodriguez shymega@shymega.org.uk

InputUsername commented 3 years ago

Looks great!