Crates.io | osu |
lib.rs | osu |
version | 0.2.0 |
source | src |
created_at | 2016-11-22 21:58:05.053004 |
updated_at | 2018-01-21 04:05:26.201251 |
description | Unofficial Rust wrapper for the osu! API. |
homepage | https://github.com/zeyla/osu.rs |
repository | https://github.com/zeyla/osu.rs.git |
max_upload_size | |
id | 7335 |
size | 316,862 |
Unofficial Rust crate for the osu! API.
Add the following dependency to your Cargo.toml:
osu = "0.2"
And include it in your project:
extern crate osu;
Using hyper
with the hyper-tls
HTTPS connector, retrieve the start time of a
match by ID:
extern crate futures;
extern crate hyper;
extern crate hyper_tls;
extern crate osu;
extern crate tokio_core;
use futures::Future;
use hyper::client::{Client, HttpConnector};
use hyper_tls::HttpsConnector;
use osu::bridge::hyper::OsuHyperRequester;
use std::error::Error;
use std::env;
use tokio_core::reactor::Core;
fn try_main() -> Result<(), Box<Error>> {
let mut core = Core::new()?;
let client = Client::configure()
.connector(HttpsConnector::new(4, &core.handle())?)
.build(&core.handle());
let key = env::var("OSU_KEY")?;
let done = client.get_match(&key, 71641).map(|match| {
println!("Match start time: {}", match.start_time);
()
}).map_err(|_| ());
core.run(done).expect("Error running core");
Ok(())
}
fn main() {
try_main().unwrap();
}
Using reqwest, retrieve a match's start time by ID:
extern crate osu;
extern crate reqwest;
use osu::bridge::reqwest::OsuReqwestRequester;
use reqwest::Client;
use std::error::Error;
fn try_main() -> Result<(), Box<Error>> {
let key = env::var("OSU_KEY")?;
let client = Client::new();
let match = client.get_match(&key, 71641)?;
println!("Match start time: {}", match.start_time);
Ok(())
}
fn main() {
try_main().unwrap();
}
License info in LICENSE.md. Long story short, ISC.