Unverified Commit e8feae32 authored by Sebastian Beyvers's avatar Sebastian Beyvers Committed by GitHub
Browse files

Add header / uri in S3Request (#27)

* feat: Add query_params and header to S3Request

* feat: Removed OrderedQs added raw URI
parent 95e97273
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -47,10 +47,15 @@ pub trait Operation: Send + Sync + 'static {
fn build_s3_request<T>(input: T, req: &mut Request) -> S3Request<T> {
    let credentials = req.s3ext.credentials.take();
    let extensions = mem::take(&mut req.extensions);
    let headers = mem::take(&mut req.headers);
    let uri = mem::take(&mut req.uri);

    S3Request {
        input,
        credentials,
        extensions,
        headers,
        uri,
    }
}

+14 −1
Original line number Diff line number Diff line
use hyper::http::Extensions;
use hyper::{
    http::{Extensions, HeaderValue},
    HeaderMap, Uri,
};

use crate::auth::Credentials;

@@ -15,6 +18,12 @@ pub struct S3Request<T> {

    /// Request extensions
    pub extensions: Extensions,

    // Headers
    pub headers: HeaderMap<HeaderValue>,

    // Raw URI
    pub uri: Uri,
}

impl<T> S3Request<T> {
@@ -23,6 +32,8 @@ impl<T> S3Request<T> {
            input,
            credentials: Default::default(),
            extensions: Default::default(),
            headers: Default::default(),
            uri: Default::default(),
        }
    }

@@ -31,6 +42,8 @@ impl<T> S3Request<T> {
            input: f(self.input),
            credentials: self.credentials,
            extensions: self.extensions,
            headers: self.headers,
            uri: self.uri,
        }
    }
}