aws_smithy_compression/
http.rs1use crate::Compress;
10use http_1x::header::{HeaderName, HeaderValue};
11
12pub trait CompressRequest: Compress + CloneCompressRequest {
14 fn header_name(&self) -> HeaderName {
16 HeaderName::from_static("content-encoding")
17 }
18
19 fn header_value(&self) -> HeaderValue;
21}
22
23pub trait CloneCompressRequest {
25 fn clone_request_compressor(&self) -> Box<dyn CompressRequest>;
27}
28
29impl<T> CloneCompressRequest for T
30where
31 T: CompressRequest + Clone + 'static,
32{
33 fn clone_request_compressor(&self) -> Box<dyn CompressRequest> {
34 Box::new(self.clone())
35 }
36}
37
38impl Clone for Box<dyn CompressRequest> {
39 fn clone(&self) -> Self {
40 self.clone_request_compressor()
41 }
42}