http-signature-normalization/http-signature-normalization-actix/examples/client.rs

45 lines
1.1 KiB
Rust
Raw Normal View History

2019-09-11 23:06:36 +00:00
use actix::System;
use actix_web::client::Client;
use futures::future::{lazy, Future};
use http_signature_normalization_actix::prelude::*;
fn main() {
System::new("client-example")
.block_on(lazy(|| {
let config = Config::default();
Client::default()
.get("http://127.0.0.1:8010/")
.header("User-Agent", "Actix Web")
.authorization_signature::<_, MyError, _>(&config, "my-key-id", |s| {
Ok(s.as_bytes().to_vec())
})
.unwrap()
.send()
.map_err(|_| ())
.and_then(|mut res| res.body().map_err(|_| ()))
.map(|body| {
println!("{:?}", body);
})
}))
.unwrap();
}
#[derive(Debug)]
pub enum MyError {
Convert(ToStrError),
Header(InvalidHeaderValue),
}
impl From<ToStrError> for MyError {
fn from(e: ToStrError) -> Self {
MyError::Convert(e)
}
}
impl From<InvalidHeaderValue> for MyError {
fn from(e: InvalidHeaderValue) -> Self {
MyError::Header(e)
}
}