pub struct ContentEncryption { /* private fields */ }Expand description
Opt-in authenticated request decryption and response encryption middleware.
Non-empty requests must contain x-content-encryption: aes-256-gcm-v1 and a
x-content-key-id. Envelopes are standard base64 over RZC1 || nonce || ciphertext || tag.
Authentication additionally binds the method, path/query, direction, and response status.
Implementations§
Source§impl ContentEncryption
impl ContentEncryption
pub fn new<P>(provider: P, max_body_bytes: usize) -> Selfwhere
P: ContentKeyProvider,
pub fn with_response_limit(self, max_response_bytes: usize) -> Self
Trait Implementations§
Source§impl Clone for ContentEncryption
impl Clone for ContentEncryption
Source§fn clone(&self) -> ContentEncryption
fn clone(&self) -> ContentEncryption
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<S, B> Transform<S, ServiceRequest> for ContentEncryptionwhere
S: Service<ServiceRequest, Response = ServiceResponse<B>, Error = Error> + 'static,
S::Future: 'static,
B: MessageBody + 'static,
impl<S, B> Transform<S, ServiceRequest> for ContentEncryptionwhere
S: Service<ServiceRequest, Response = ServiceResponse<B>, Error = Error> + 'static,
S::Future: 'static,
B: MessageBody + 'static,
Source§type Response = ServiceResponse
type Response = ServiceResponse
Responses produced by the service.
Source§type Transform = ContentEncryptionMiddleware<S>
type Transform = ContentEncryptionMiddleware<S>
The
TransformService value created by this factorySource§type Future = Ready<Result<<ContentEncryption as Transform<S, ServiceRequest>>::Transform, <ContentEncryption as Transform<S, ServiceRequest>>::InitError>>
type Future = Ready<Result<<ContentEncryption as Transform<S, ServiceRequest>>::Transform, <ContentEncryption as Transform<S, ServiceRequest>>::InitError>>
The future response value.
Source§fn new_transform(&self, service: S) -> Self::Future
fn new_transform(&self, service: S) -> Self::Future
Creates and returns a new Transform component, asynchronously
Auto Trait Implementations§
impl !RefUnwindSafe for ContentEncryption
impl !UnwindSafe for ContentEncryption
impl Freeze for ContentEncryption
impl Send for ContentEncryption
impl Sync for ContentEncryption
impl Unpin for ContentEncryption
impl UnsafeUnpin for ContentEncryption
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request