pub struct Meta { /* private fields */ }Expand description
Service metadata: spec, health, and key usage.
Implementations§
Source§impl Meta
impl Meta
Sourcepub fn openapi<T: DeserializeOwned>(&self) -> Result<T, Error>
pub fn openapi<T: DeserializeOwned>(&self) -> Result<T, Error>
The raw OpenAPI specification for the API.
Sourcepub fn ping<T: DeserializeOwned>(&self) -> Result<T, Error>
pub fn ping<T: DeserializeOwned>(&self) -> Result<T, Error>
Health check.
Examples found in repository?
examples/quickstart.rs (line 17)
11fn main() -> Result<(), Error> {
12 let key = std::env::var("BITCULATOR_API_KEY").unwrap_or_default();
13 let base =
14 std::env::var("BITCULATOR_BASE_URL").unwrap_or_else(|_| "https://bitculator.com".into());
15 let client = Client::builder(key).base_url(base).build();
16
17 client.meta().ping::<Value>()?;
18
19 // Single resource, decoded as generic JSON (or bring your own type).
20 let bitcoin: Value = client.coins().get("bitcoin", Params::new())?;
21 println!("BTC price: {}", bitcoin["price"]); // decimal string, never rounded
22
23 // Top 5 coins by marketcap.
24 let page: Page<Value> = client
25 .coins()
26 .list(Params::new().set("per_page", 5).set("sort", "-marketcap"))?;
27 for coin in &page.data {
28 println!("#{} {} {}", coin["rank"], coin["symbol"], coin["price"]);
29 }
30
31 // Auto-paginate the first ~40 gainers.
32 let gainers: Page<Value> = client.coins().gainers(Params::new().set("per_page", 20))?;
33 for (i, item) in gainers.auto_paging().enumerate() {
34 let coin = item?;
35 println!("gainer: {}", coin["symbol"]);
36 if i >= 39 {
37 break;
38 }
39 }
40
41 println!("quota: {:?}", client.quota());
42 Ok(())
43}Sourcepub fn usage<T: DeserializeOwned>(&self) -> Result<T, Error>
pub fn usage<T: DeserializeOwned>(&self) -> Result<T, Error>
Current key usage and quota.
Auto Trait Implementations§
impl !RefUnwindSafe for Meta
impl !UnwindSafe for Meta
impl Freeze for Meta
impl Send for Meta
impl Sync for Meta
impl Unpin for Meta
impl UnsafeUnpin for Meta
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more