# This is a work in progress! ### _Please don't put it into production yet._ # What's there? Not a whole lot, yet. The list of examples is pretty exhaustive. # Envelope ## Result type Every endpoint returns `Result, GitHubApiError>`. ### GitHubApiResult ```rust pub struct GitHubApiResult { pub result: T, pub raw_result: String, pub limits: Option, pub owner: Option, pub repository: Option, pub next_page: Option, } ``` ### GitHubApiError ```rust pub enum GitHubApiError { NotImplemented, JsonError((JsonError, String)), GitHubError((String, String)), ReqwestError(ReqwestError), } ``` # Examples ## Get rate limit ```rust let gh = GitHubApi::new(&username, &password); let result = gh.get_rate_limit(); println!("{:#?}", result); ``` ## Get license ```rust let gh = GitHubApi::new(&username, &password); let license = gh.get_license("segfaultsourcery", "githubapi"); println!("{:#?}", license); ``` ## Get releases ```rust let gh = GitHubApi::new(&username, &password); for page in gh.get_releases("segfaultsourcery", "githubapi") { println!("{:#?}", page); } ``` ## Get tags ```rust let gh = GitHubApi::new(&username, &password); for page in gh.get_tags("segfaultsourcery", "githubapi") { println!("{:#?}", page); } ```