Struct tower_surf::Surf

source ยท
pub struct Surf { /* private fields */ }
Expand description

A layer providing the Token extension.

On every request, it will create a cookie for the current visitor if one has not already been created. The session ID used is an i128 generated by the rand crate.

Implementationsยง

sourceยง

impl Surf

source

pub fn new(secret: impl Into<String>) -> Self

Creates a new Surf layer with the provided secret and default token configuration.

source

pub fn cookie_name(self, cookie_name: impl Into<String>) -> Self

Sets the cookie name. Note that this will be previed with __HOST- unless you have disabled it with prefix. The default value is csrf_token.

source

pub fn expires(self, expires: Expiration) -> Self

Sets the cookieโ€™s expiration. The default value is Expiration::Session.

source

pub fn header_name(self, header_name: impl Into<String>) -> Self

Sets the header name used when validating the request. The default value is X-CSRF-Token.

source

pub fn http_only(self, http_only: bool) -> Self

Sets the HTTPOnly attribute of the cookie. The default value is true.

โš ๏ธ Warning: This should generally not be set to false. See: HttpOnly Cookie Attribute.

source

pub fn prefix(self, prefix: bool) -> Self

Sets whether to prefix the cookie name with __HOST-. The default value is true.

See: Cookie Name.

source

pub fn same_site(self, same_site: SameSite) -> Self

Sets the SameSite attribute of the cookie. The default value is SameSite::Strict.

See: SameSite Cookie Attribute.

source

pub fn secure(self, secure: bool) -> Self

Sets the secure attribute of the cookie. Note that this is required to be false for cookies to work on localhost. The default value is true.

See: Secure Cookie Attribute.

Trait Implementationsยง

sourceยง

impl Clone for Surf

sourceยง

fn clone(&self) -> Surf

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<S> Layer<S> for Surf

ยง

type Service = CookieManager<SurfService<GuardService<S>>>

The wrapped service
sourceยง

fn layer(&self, inner: S) -> Self::Service

Wrap the given service with the middleware, returning a new service that has been decorated with the middleware.

Auto Trait Implementationsยง

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, dst: *mut T)

๐Ÿ”ฌThis is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
sourceยง

impl<T> From<T> for T

sourceยง

fn from(t: T) -> T

Returns the argument unchanged.

sourceยง

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

sourceยง

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
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