ci-badge license-badge docs-badge ![rust badge]

aur

aur is a package for interacting with the [Arch User Repository] RPC API.

It supports client trait implementations for both asynchronous hyper and synchronous reqwest.

Installation

This library requires at least Rust 1.21.0.

Add the following to your Cargo.toml:

toml [dependencies] aur = "~0.1"

And the following to your main.rs or lib.rs:

rust extern crate aur;

There are two features: hyper-support and reqwest-support. hyper-support is enabled by default. To enable reqwest-support, instead depend on aur like so:

toml [dependencies.aur] default-features = false features = ["reqwest-support"] version = "~0.1"

Examples

Asynchronously request information for the rust-nightly package:

```rust extern crate aur; extern crate hyper; extern crate hyperrustls; extern crate tokiocore;

use aur::bridge::hyper::AurRequester; use hyper::Client; use hyper_rustls::HttpsConnector;

let connector = HttpsConnector::new(4); let client = Client::builder().build(connector);

let done = client.aursearch(Some("rust-nightly"), None).map(|search| { assert!(search.resultcount >= 2); }).map_err(|why| { println!("Error getting rust-nightly info: {:?}", why); });

tokio::run(done); ```

Synchronously request information for the rust-nightly package:

```rust extern crate aur; extern crate reqwest;

use aur::bridge::reqwest::AurRequester; use reqwest::Client;

let client = Client::new();

let info = client.aur_info(&["rust-nightly"])?;

match info.first() { Some(package) => { if let Some(ref maintainer) = package.maintainer { println!("The package is maintained by: {}", maintainer); } else { println!("The package has no maintainer"); } }, None => { println!("No package found!"); }, } ```

License

ISC.