Not a whole lot, yet. The list of examples is pretty exhaustive.
Start by adding it to your dependencies, then check the examples.
[dependencies]
githubapi = { git = "https://github.com/segfaultsourcery/githubapi", tag = "v0.1.0" }
Every endpoint returns Result<GitHubApiResult<T>, GitHubApiError>
.
pub struct GitHubApiResult<T> {
pub result: T,
pub raw_result: String,
pub limits: Option<LimitRemainingReset>,
pub owner: Option<String>,
pub repository: Option<String>,
pub next_page: Option<u64>,
}
pub enum GitHubApiError {
NotImplemented,
JsonError((JsonError, String)),
GitHubError((String, String)),
ReqwestError(ReqwestError),
}
let gh = GitHubApi::new(&username, &password);
let result = gh.get_rate_limit();
println!("{:#?}", result);
let gh = GitHubApi::new(&username, &password);
let license = gh.get_license("segfaultsourcery", "githubapi");
println!("{:#?}", license);
let gh = GitHubApi::new(&username, &password);
for page in gh.get_releases("segfaultsourcery", "githubapi") {
println!("{:#?}", page);
}
let gh = GitHubApi::new(&username, &password);
for page in gh.get_tags("segfaultsourcery", "githubapi") {
println!("{:#?}", page);
}