Loading crates/s3s-aws/src/connector.rs +6 −5 Original line number Diff line number Diff line use crate::body::{s3s_body_into_sdk_body, sdk_body_into_s3s_body}; use s3s::S3Result; use s3s::service::S3Service; use std::ops::Not; Loading @@ -14,7 +13,6 @@ use aws_smithy_runtime_api::client::result::ConnectorError; use hyper::header::HOST; use hyper::http; use hyper::{Request, Response}; #[derive(Debug)] pub struct Client(S3Service); Loading Loading @@ -55,7 +53,7 @@ impl HttpConnector for Connector { } } fn convert_input(req: AwsHttpRequest) -> Result<Request<s3s::Body>, ConnectorError> { fn convert_input(req: AwsHttpRequest) -> Result<s3s::HttpRequest, ConnectorError> { let mut req = req.try_into_http1x().map_err(on_err)?; if req.headers().contains_key(HOST).not() { Loading @@ -66,10 +64,13 @@ fn convert_input(req: AwsHttpRequest) -> Result<Request<s3s::Body>, ConnectorErr Ok(req.map(sdk_body_into_s3s_body)) } fn convert_output(result: S3Result<Response<s3s::Body>>) -> Result<AwsHttpResponse, ConnectorError> { fn convert_output(result: Result<s3s::HttpResponse, s3s::HttpError>) -> Result<AwsHttpResponse, ConnectorError> { match result { Ok(res) => res.map(s3s_body_into_sdk_body).try_into().map_err(on_err), Err(e) => Err(on_err(e)), Err(e) => { let kind = aws_smithy_runtime_api::client::retries::ErrorKind::ServerError; Err(ConnectorError::other(e.into(), Some(kind))) } } } Loading crates/s3s/src/error/mod.rs +2 −2 Original line number Diff line number Diff line mod generated; pub use self::generated::*; use crate::http; use crate::HttpResponse; use crate::ops; use crate::xml; use std::borrow::Cow; Loading Loading @@ -144,7 +144,7 @@ impl S3Error { /// # Errors /// /// Returns [`S3Error`] if it was not possible to serialize the error into XML. pub fn to_hyper_response(self) -> S3Result<hyper::Response<http::Body>> { pub fn to_http_response(self) -> S3Result<HttpResponse> { ops::serialize_error(self, false).map(Into::into) } } Loading crates/s3s/src/http/request.rs +3 −2 Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ use super::Body; use super::Multipart; use super::OrderedQs; use crate::HttpRequest; use crate::auth::Credentials; use crate::path::S3Path; use crate::stream::VecByteStream; Loading Loading @@ -34,8 +35,8 @@ pub(crate) struct S3Extensions { pub service: Option<String>, } impl From<hyper::Request<Body>> for Request { fn from(req: hyper::Request<Body>) -> Self { impl From<HttpRequest> for Request { fn from(req: HttpRequest) -> Self { let (parts, body) = req.into_parts(); Self { method: parts.method, Loading crates/s3s/src/http/response.rs +4 −2 Original line number Diff line number Diff line use crate::HttpResponse; use super::Body; use hyper::HeaderMap; Loading @@ -13,9 +15,9 @@ pub struct Response { pub extensions: Extensions, } impl From<Response> for hyper::Response<Body> { impl From<Response> for HttpResponse { fn from(res: Response) -> Self { let mut ans = hyper::Response::default(); let mut ans = HttpResponse::default(); *ans.status_mut() = res.status; *ans.headers_mut() = res.headers; *ans.body_mut() = res.body; Loading crates/s3s/src/lib.rs +3 −0 Original line number Diff line number Diff line Loading @@ -42,5 +42,8 @@ pub use self::http::Body; pub use self::s3_op::S3Operation; pub use self::s3_trait::S3; pub use self::protocol::HttpError; pub use self::protocol::HttpRequest; pub use self::protocol::HttpResponse; pub use self::protocol::S3Request; pub use self::protocol::S3Response; Loading
crates/s3s-aws/src/connector.rs +6 −5 Original line number Diff line number Diff line use crate::body::{s3s_body_into_sdk_body, sdk_body_into_s3s_body}; use s3s::S3Result; use s3s::service::S3Service; use std::ops::Not; Loading @@ -14,7 +13,6 @@ use aws_smithy_runtime_api::client::result::ConnectorError; use hyper::header::HOST; use hyper::http; use hyper::{Request, Response}; #[derive(Debug)] pub struct Client(S3Service); Loading Loading @@ -55,7 +53,7 @@ impl HttpConnector for Connector { } } fn convert_input(req: AwsHttpRequest) -> Result<Request<s3s::Body>, ConnectorError> { fn convert_input(req: AwsHttpRequest) -> Result<s3s::HttpRequest, ConnectorError> { let mut req = req.try_into_http1x().map_err(on_err)?; if req.headers().contains_key(HOST).not() { Loading @@ -66,10 +64,13 @@ fn convert_input(req: AwsHttpRequest) -> Result<Request<s3s::Body>, ConnectorErr Ok(req.map(sdk_body_into_s3s_body)) } fn convert_output(result: S3Result<Response<s3s::Body>>) -> Result<AwsHttpResponse, ConnectorError> { fn convert_output(result: Result<s3s::HttpResponse, s3s::HttpError>) -> Result<AwsHttpResponse, ConnectorError> { match result { Ok(res) => res.map(s3s_body_into_sdk_body).try_into().map_err(on_err), Err(e) => Err(on_err(e)), Err(e) => { let kind = aws_smithy_runtime_api::client::retries::ErrorKind::ServerError; Err(ConnectorError::other(e.into(), Some(kind))) } } } Loading
crates/s3s/src/error/mod.rs +2 −2 Original line number Diff line number Diff line mod generated; pub use self::generated::*; use crate::http; use crate::HttpResponse; use crate::ops; use crate::xml; use std::borrow::Cow; Loading Loading @@ -144,7 +144,7 @@ impl S3Error { /// # Errors /// /// Returns [`S3Error`] if it was not possible to serialize the error into XML. pub fn to_hyper_response(self) -> S3Result<hyper::Response<http::Body>> { pub fn to_http_response(self) -> S3Result<HttpResponse> { ops::serialize_error(self, false).map(Into::into) } } Loading
crates/s3s/src/http/request.rs +3 −2 Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ use super::Body; use super::Multipart; use super::OrderedQs; use crate::HttpRequest; use crate::auth::Credentials; use crate::path::S3Path; use crate::stream::VecByteStream; Loading Loading @@ -34,8 +35,8 @@ pub(crate) struct S3Extensions { pub service: Option<String>, } impl From<hyper::Request<Body>> for Request { fn from(req: hyper::Request<Body>) -> Self { impl From<HttpRequest> for Request { fn from(req: HttpRequest) -> Self { let (parts, body) = req.into_parts(); Self { method: parts.method, Loading
crates/s3s/src/http/response.rs +4 −2 Original line number Diff line number Diff line use crate::HttpResponse; use super::Body; use hyper::HeaderMap; Loading @@ -13,9 +15,9 @@ pub struct Response { pub extensions: Extensions, } impl From<Response> for hyper::Response<Body> { impl From<Response> for HttpResponse { fn from(res: Response) -> Self { let mut ans = hyper::Response::default(); let mut ans = HttpResponse::default(); *ans.status_mut() = res.status; *ans.headers_mut() = res.headers; *ans.body_mut() = res.body; Loading
crates/s3s/src/lib.rs +3 −0 Original line number Diff line number Diff line Loading @@ -42,5 +42,8 @@ pub use self::http::Body; pub use self::s3_op::S3Operation; pub use self::s3_trait::S3; pub use self::protocol::HttpError; pub use self::protocol::HttpRequest; pub use self::protocol::HttpResponse; pub use self::protocol::S3Request; pub use self::protocol::S3Response;