Struct http_signature_normalization_actix::Config

source ·
pub struct Config<Spawner = DefaultSpawner> { /* private fields */ }
Expand description

Configuration for signing and verifying signatures

By default, the config is set up to create and verify signatures that expire after 10 seconds, and use the (created) and (expires) fields that were introduced in draft 11

Implementations§

source§

impl Config

source

pub fn new() -> Self

Create a new Config with a default expiration of 10 seconds

source§

impl<Spawner> Config<Spawner>

source

pub fn set_host_header(self) -> Self

Since manually setting the Host header doesn’t work so well in AWC, you can use this method to enable setting the Host header for signing requests without breaking client functionality

source

pub fn spawner<S>(self, spawner: S) -> Config<S>
where S: Spawn,

Set the spawner for spawning blocking tasks

http-signature-normalization-actix offloads signing messages and generating hashes to a blocking threadpool, which can be configured by providing a custom spawner.

source

pub fn mastodon_compat(self) -> Self

Enable mastodon compatibility

This is the same as disabling the use of (created) and (expires) signature fields, requiring the Date header, and requiring the Host header

source

pub fn require_digest(self) -> Self

Require the Digest header be set

This is useful for POST, PUT, and PATCH requests, but doesn’t make sense for GET or DELETE.

source

pub fn dont_use_created_field(self) -> Self

Opt out of using the (created) and (expires) fields introduced in draft 11

Note that by enabling this, the Date header becomes required on requests. This is to prevent replay attacks

source

pub fn set_expiration(self, expires_after: Duration) -> Self

Set the expiration to a custom duration

source

pub fn require_header(self, header: &str) -> Self

Require a header on signed and verified requests

source

pub fn begin_sign( &self, method: &Method, path_and_query: Option<&PathAndQuery>, headers: HeaderMap ) -> Result<Unsigned, PrepareSignError>

Begin the process of singing a request

source

pub fn begin_verify( &self, method: &Method, path_and_query: Option<&PathAndQuery>, headers: HeaderMap ) -> Result<Unverified, PrepareVerifyError>

Begin the proess of verifying a request

Trait Implementations§

source§

impl<Spawner: Clone> Clone for Config<Spawner>

source§

fn clone(&self) -> Config<Spawner>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<Spawner: Debug> Debug for Config<Spawner>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<Spawner: Default> Default for Config<Spawner>

source§

fn default() -> Config<Spawner>

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl<Spawner> Freeze for Config<Spawner>
where Spawner: Freeze,

§

impl<Spawner> RefUnwindSafe for Config<Spawner>
where Spawner: RefUnwindSafe,

§

impl<Spawner> Send for Config<Spawner>
where Spawner: Send,

§

impl<Spawner> Sync for Config<Spawner>
where Spawner: Sync,

§

impl<Spawner> Unpin for Config<Spawner>
where Spawner: Unpin,

§

impl<Spawner> UnwindSafe for Config<Spawner>
where Spawner: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more