[][src]Struct http_signature_normalization::Config

pub struct Config { /* fields omitted */ }

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

impl Config[src]

pub fn new() -> Self[src]

Create a new Config with a default expiration of 10 seconds

pub fn mastodon_compat(self) -> Self[src]

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

pub fn require_digest(self) -> Self[src]

Require the Digest header be set

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

pub fn dont_use_created_field(self) -> Self[src]

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

Note that by not requiring the created field, the Date header becomes required. This is to prevent replay attacks.

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

Set the expiration to a custom duration

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

Mark a header as required

pub fn begin_sign(
    &self,
    method: &str,
    path_and_query: &str,
    headers: BTreeMap<String, String>
) -> Result<Unsigned, RequiredError>
[src]

Perform the neccessary operations to produce an Unsigned type, which can be used to sign the header

pub fn begin_verify(
    &self,
    method: &str,
    path_and_query: &str,
    headers: BTreeMap<String, String>
) -> Result<Unverified, PrepareVerifyError>
[src]

Perform the neccessary operations to produce and [Unerified] type, which can be used to verify the header

Trait Implementations

impl Clone for Config[src]

impl Debug for Config[src]

impl Default for Config[src]

Auto Trait Implementations

impl RefUnwindSafe for Config

impl Send for Config

impl Sync for Config

impl Unpin for Config

impl UnwindSafe for Config

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.