Crates.io | aur |
lib.rs | aur |
version | 0.2.0 |
source | src |
created_at | 2018-08-26 04:53:31.91936 |
updated_at | 2018-11-25 16:56:42.376625 |
description | HTTP client implementations for the AUR. |
homepage | https://github.com/zeyla/aur.rs |
repository | https://github.com/zeyla/aur.rs.git |
max_upload_size | |
id | 81463 |
size | 37,434 |
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
.
This library requires at least Rust 1.26.0.
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"
Asynchronously request information for the rust-nightly
package:
extern crate aur;
extern crate hyper;
extern crate hyper_rustls;
extern crate tokio_core;
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.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.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!");
},
}
ISC.