Trait httpsig_hyper::MessageSignatureRes
source · pub trait MessageSignatureRes {
type Error;
// Required methods
fn set_message_signature<T, B>(
&mut self,
signature_params: &HttpSignatureParams,
signing_key: &T,
signature_name: Option<&str>,
req_for_param: Option<&Request<B>>
) -> impl Future<Output = Result<(), Self::Error>> + Send
where Self: Sized,
T: SigningKey + Sync,
B: Sync;
fn set_message_signatures<T, B>(
&mut self,
params_key_name: &[(&HttpSignatureParams, &T, Option<&str>)],
req_for_param: Option<&Request<B>>
) -> impl Future<Output = Result<(), Self::Error>> + Send
where Self: Sized,
T: SigningKey + Sync,
B: Sync;
fn verify_message_signature<T, B>(
&self,
verifying_key: &T,
key_id: Option<&str>,
req_for_param: Option<&Request<B>>
) -> impl Future<Output = Result<String, Self::Error>> + Send
where Self: Sized,
T: VerifyingKey + Sync,
B: Sync;
fn verify_message_signatures<T, B>(
&self,
key_and_id: &[(&T, Option<&str>)],
req_for_param: Option<&Request<B>>
) -> impl Future<Output = Result<Vec<Result<String, Self::Error>>, Self::Error>> + Send
where Self: Sized,
T: VerifyingKey + Sync,
B: Sync;
fn extract_signatures<B>(
&self,
req_for_param: Option<&Request<B>>
) -> Result<IndexMap<String, (HttpSignatureBase, HttpSignatureHeaders)>, Self::Error>;
}Expand description
A trait about http message signature for response
Required Associated Types§
Required Methods§
sourcefn set_message_signature<T, B>(
&mut self,
signature_params: &HttpSignatureParams,
signing_key: &T,
signature_name: Option<&str>,
req_for_param: Option<&Request<B>>
) -> impl Future<Output = Result<(), Self::Error>> + Send
fn set_message_signature<T, B>( &mut self, signature_params: &HttpSignatureParams, signing_key: &T, signature_name: Option<&str>, req_for_param: Option<&Request<B>> ) -> impl Future<Output = Result<(), Self::Error>> + Send
Set the http message signature from given http signature params and signing key
sourcefn set_message_signatures<T, B>(
&mut self,
params_key_name: &[(&HttpSignatureParams, &T, Option<&str>)],
req_for_param: Option<&Request<B>>
) -> impl Future<Output = Result<(), Self::Error>> + Send
fn set_message_signatures<T, B>( &mut self, params_key_name: &[(&HttpSignatureParams, &T, Option<&str>)], req_for_param: Option<&Request<B>> ) -> impl Future<Output = Result<(), Self::Error>> + Send
Set the http message signatures from given tuples of (http signature params, signing key, name)
sourcefn verify_message_signature<T, B>(
&self,
verifying_key: &T,
key_id: Option<&str>,
req_for_param: Option<&Request<B>>
) -> impl Future<Output = Result<String, Self::Error>> + Send
fn verify_message_signature<T, B>( &self, verifying_key: &T, key_id: Option<&str>, req_for_param: Option<&Request<B>> ) -> impl Future<Output = Result<String, Self::Error>> + Send
Verify the http message signature with given verifying key if the request has signature and signature-input headers
sourcefn verify_message_signatures<T, B>(
&self,
key_and_id: &[(&T, Option<&str>)],
req_for_param: Option<&Request<B>>
) -> impl Future<Output = Result<Vec<Result<String, Self::Error>>, Self::Error>> + Send
fn verify_message_signatures<T, B>( &self, key_and_id: &[(&T, Option<&str>)], req_for_param: Option<&Request<B>> ) -> impl Future<Output = Result<Vec<Result<String, Self::Error>>, Self::Error>> + Send
Verify multiple signatures at once
sourcefn extract_signatures<B>(
&self,
req_for_param: Option<&Request<B>>
) -> Result<IndexMap<String, (HttpSignatureBase, HttpSignatureHeaders)>, Self::Error>
fn extract_signatures<B>( &self, req_for_param: Option<&Request<B>> ) -> Result<IndexMap<String, (HttpSignatureBase, HttpSignatureHeaders)>, Self::Error>
Extract all signature bases contained in the request headers
Object Safety§
Implementations on Foreign Types§
source§impl<D> MessageSignatureRes for Response<D>
impl<D> MessageSignatureRes for Response<D>
source§async fn set_message_signature<T, B>(
&mut self,
signature_params: &HttpSignatureParams,
signing_key: &T,
signature_name: Option<&str>,
req_for_param: Option<&Request<B>>
) -> Result<(), Self::Error>
async fn set_message_signature<T, B>( &mut self, signature_params: &HttpSignatureParams, signing_key: &T, signature_name: Option<&str>, req_for_param: Option<&Request<B>> ) -> Result<(), Self::Error>
Set the http message signature from given http signature params and signing key
source§async fn verify_message_signature<T, B>(
&self,
verifying_key: &T,
key_id: Option<&str>,
req_for_param: Option<&Request<B>>
) -> Result<String, Self::Error>
async fn verify_message_signature<T, B>( &self, verifying_key: &T, key_id: Option<&str>, req_for_param: Option<&Request<B>> ) -> Result<String, Self::Error>
Verify the http message signature with given verifying key if the response has signature and signature-input headers Return Ok(()) if the signature is valid. If invalid for the given key or error occurs (like the case where the request does not have signature and/or signature-input headers), return Err. If key_id is given, it is used to match the key id in signature params
source§fn extract_signatures<B>(
&self,
req_for_param: Option<&Request<B>>
) -> Result<IndexMap<String, (HttpSignatureBase, HttpSignatureHeaders)>, Self::Error>
fn extract_signatures<B>( &self, req_for_param: Option<&Request<B>> ) -> Result<IndexMap<String, (HttpSignatureBase, HttpSignatureHeaders)>, Self::Error>
Extract all signature bases contained in the response headers