Crate aur

Source
Expand description

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

Add the following to your Cargo.toml:

[dependencies]
aur = "~0.1"

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

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:

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

§Examples

Asynchronously request information for the rust-nightly package:

mod inner {
extern crate aur;
extern crate hyper;
extern crate hyper_tls;
extern crate tokio;

use aur::bridge::hyper::AurRequester;
use hyper::Client;
use hyper::net::HttpsConnector;
use hyper_tls::NativeTlsClient;

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

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

tokio::run(done);

Synchronously request information for the rust-nightly package:

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.results.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.

Re-exports§

pub use self::bridge::hyper::AurRequester as AurHyperRequester;

Modules§

bridge
Bridge implementations for HTTP client libraries.
model
Models mapping the API.

Enums§

Error
Enum encompassing the library’s possible returned errors.

Type Aliases§

Result
Standard result type for asynchronous functions throughout the library.