Struct Config

Source
pub struct Config { /* 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 const fn new() -> Self

Create a new Config with a default expiration of 10 seconds

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 not requiring the created field, the Date header becomes required. This is to prevent replay attacks.

Source

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

Set the expiration to a custom duration

Source

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

Mark a header as required

Source

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

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

Source

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

Perform the neccessary operations to produce and Unverified type, which can be used to verify the header

Trait Implementations§

Source§

impl Clone for Config

Source§

fn clone(&self) -> Config

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for Config

Source§

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

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

impl Default for Config

Source§

fn default() -> Self

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

Auto Trait Implementations§

§

impl Freeze for Config

§

impl RefUnwindSafe for Config

§

impl Send for Config

§

impl Sync for Config

§

impl Unpin for Config

§

impl UnwindSafe for Config

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> ToOwned for T
where T: Clone,

Source§

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>,

Source§

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>,

Source§

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.