use super::{Headers, HttperClient};
use client::response_future::ResponseFuture;
use failure::Error;
use http;
use hyper;
use std::collections::HashMap;
#[derive(Debug)]
pub struct Get<'a> {
pub request_builder: Result<http::request::Builder, Error>,
pub client: &'a HttperClient,
pub headers: Headers,
}
impl<'a> Get<'a> {
pub fn new(
request_builder: Result<http::request::Builder, Error>,
client: &'a HttperClient,
) -> Self {
Get {
request_builder,
client,
headers: HashMap::new(),
}
}
pub fn headers(self, headers: Headers) -> Self {
Get {
headers,
request_builder: self.request_builder,
client: self.client,
}
}
pub fn send(self) -> ResponseFuture {
self.client
.send_request(self.request_builder, hyper::Body::empty(), self.headers)
}
}