Add ListenBrainz::new_with_url constructor
Analogous to raw::Client::new_with_url
This commit is contained in:
parent
672aff1565
commit
5dd96b3179
18
src/lib.rs
18
src/lib.rs
|
@ -4,12 +4,15 @@
|
|||
//! It contains functionality for direct access to the API in the [`raw`] module, as well
|
||||
//! as a more convenient [`ListenBrainz`] client which is easier to use.
|
||||
//!
|
||||
//! [ListenBrainz HTTP API]: https://listenbrainz.readthedocs.io/en/production/dev/api/
|
||||
//!
|
||||
//! Generally, using the `raw` functionality is more cumbersome, as its types and functions
|
||||
//! map one-to-one to the HTTP API's JSON input- and response data. Using the `ListenBrainz`
|
||||
//! type is therefore recommended.
|
||||
//!
|
||||
//! # Example
|
||||
//!
|
||||
//! Submit a currently playing song to ListenBrainz.org:
|
||||
//! ```no_run
|
||||
//! # use listenbrainz::ListenBrainz;
|
||||
//! #
|
||||
|
@ -22,7 +25,20 @@
|
|||
//! .expect("Could not submit 'playing now' request");
|
||||
//! ```
|
||||
//!
|
||||
//! [ListenBrainz HTTP API]: https://listenbrainz.readthedocs.io/en/production/dev/api/
|
||||
//! Use a custom API URL, for example to submit songs to [Maloja]:
|
||||
//! ```no_run
|
||||
//! # use listenbrainz::ListenBrainz;
|
||||
//! #
|
||||
//! let mut client = ListenBrainz::new_with_url("http://maloja.example.com/apis/listenbrainz");
|
||||
//!
|
||||
//! client.authenticate("MALOJA API KEY")
|
||||
//! .expect("Could not authenticate with Maloja");
|
||||
//!
|
||||
//! client.listen("Lymbyc Systym", "Split Stones", "Split Stones")
|
||||
//! .expect("Could not submit listen");
|
||||
//! ```
|
||||
//!
|
||||
//! [Maloja](https://github.com/krateng/maloja)
|
||||
|
||||
#![deny(
|
||||
missing_docs,
|
||||
|
|
|
@ -32,6 +32,14 @@ impl ListenBrainz {
|
|||
}
|
||||
}
|
||||
|
||||
/// Construct a new ListenBrainz client with a custom API URL that is not authenticated.
|
||||
pub fn new_with_url(url: &str) -> Self {
|
||||
Self {
|
||||
client: Client::new_with_url(url),
|
||||
auth: None,
|
||||
}
|
||||
}
|
||||
|
||||
/// Check if this client is authenticated.
|
||||
pub fn is_authenticated(&self) -> bool {
|
||||
self.auth.is_some()
|
||||
|
|
Loading…
Reference in New Issue