diff --git a/actix_cors/all.html b/actix_cors/all.html index 73595f59b..4dcd01ab2 100644 --- a/actix_cors/all.html +++ b/actix_cors/all.html @@ -1,2 +1 @@ -List of all items in this crate -

List of all items

Structs

Enums

\ No newline at end of file +List of all items in this crate

List of all items

Structs

Enums

\ No newline at end of file diff --git a/actix_cors/enum.CorsError.html b/actix_cors/enum.CorsError.html index fecc22adf..158db0620 100644 --- a/actix_cors/enum.CorsError.html +++ b/actix_cors/enum.CorsError.html @@ -1,5 +1,4 @@ -CorsError in actix_cors - Rust -
#[non_exhaustive]
pub enum CorsError { +CorsError in actix_cors - Rust

Enum actix_cors::CorsError

source ·
#[non_exhaustive]
pub enum CorsError { WildcardOrigin, MissingOrigin, MissingRequestMethod, @@ -28,10 +27,10 @@

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> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

impl<V, T> VZip<V> 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> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_cors/index.html b/actix_cors/index.html index 7ed3a3a7d..e13ed7d5a 100644 --- a/actix_cors/index.html +++ b/actix_cors/index.html @@ -1,6 +1,4 @@ -actix_cors - Rust -

Crate actix_cors

source ·
Expand description

Cross-Origin Resource Sharing (CORS) controls for Actix Web.

+actix_cors - Rust

Crate actix_cors

source ·
Expand description

Cross-Origin Resource Sharing (CORS) controls for Actix Web.

This middleware can be applied to both applications and resources. Once built, a Cors builder can be used as an argument for Actix Web’s App::wrap(), Scope::wrap(), or Resource::wrap() methods.

diff --git a/actix_cors/struct.Cors.html b/actix_cors/struct.Cors.html index f532fa876..126de60d3 100644 --- a/actix_cors/struct.Cors.html +++ b/actix_cors/struct.Cors.html @@ -1,5 +1,4 @@ -Cors in actix_cors - Rust -

Struct actix_cors::Cors

source ·
pub struct Cors { /* private fields */ }
Expand description

Builder for CORS middleware.

+Cors in actix_cors - Rust

Struct actix_cors::Cors

source ·
pub struct Cors { /* private fields */ }
Expand description

Builder for CORS middleware.

To construct a CORS middleware, call Cors::default() to create a blank, restrictive builder. Then use any of the builder methods to customize CORS behavior.

The alternative Cors::permissive() constructor is available for local development, allowing @@ -143,8 +142,8 @@ not supported. No max age (will use browser’s default).

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

impl<V, T> VZip<V> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_identity/all.html b/actix_identity/all.html index 36e45c9be..b484bd5b5 100644 --- a/actix_identity/all.html +++ b/actix_identity/all.html @@ -1,2 +1 @@ -List of all items in this crate -
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/actix_identity/config/enum.LogoutBehaviour.html b/actix_identity/config/enum.LogoutBehaviour.html index 571d186ae..0f05a3b9e 100644 --- a/actix_identity/config/enum.LogoutBehaviour.html +++ b/actix_identity/config/enum.LogoutBehaviour.html @@ -1,5 +1,4 @@ -LogoutBehaviour in actix_identity::config - Rust -
#[non_exhaustive]
pub enum LogoutBehaviour { +LogoutBehaviour in actix_identity::config - Rust

Enum actix_identity::config::LogoutBehaviour

source ·
#[non_exhaustive]
pub enum LogoutBehaviour { PurgeSession, DeleteIdentityKeys, }
Expand description

LogoutBehaviour controls what actions are going to be performed when Identity::logout is @@ -23,8 +22,8 @@ is not tied to the user’s identity and should be retained after logout.

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.
§

impl<V, T> VZip<V> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_identity/config/index.html b/actix_identity/config/index.html index eb5fd566c..86135c65c 100644 --- a/actix_identity/config/index.html +++ b/actix_identity/config/index.html @@ -1,5 +1,4 @@ -actix_identity::config - Rust -

Module actix_identity::config

source ·
Expand description

Configuration options to tune the behaviour of IdentityMiddleware.

+actix_identity::config - Rust

Module actix_identity::config

source ·
Expand description

Configuration options to tune the behaviour of IdentityMiddleware.

Structs§

Enums§

\ No newline at end of file diff --git a/actix_identity/config/struct.IdentityMiddlewareBuilder.html b/actix_identity/config/struct.IdentityMiddlewareBuilder.html index c595873dc..9e0ccd4c0 100644 --- a/actix_identity/config/struct.IdentityMiddlewareBuilder.html +++ b/actix_identity/config/struct.IdentityMiddlewareBuilder.html @@ -1,5 +1,4 @@ -IdentityMiddlewareBuilder in actix_identity::config - Rust -
pub struct IdentityMiddlewareBuilder { /* private fields */ }
Expand description

A fluent builder to construct an IdentityMiddleware instance with custom configuration +IdentityMiddlewareBuilder in actix_identity::config - Rust

Struct actix_identity::config::IdentityMiddlewareBuilder

source ·
pub struct IdentityMiddlewareBuilder { /* private fields */ }
Expand description

A fluent builder to construct an IdentityMiddleware instance with custom configuration parameters.

Use IdentityMiddleware::builder to get started!

Implementations§

source§

impl IdentityMiddlewareBuilder

source

pub fn id_key(self, key: &'static str) -> Self

Set a custom key to identify the user in the session.

@@ -38,8 +37,8 @@ has passed since their last visit. 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.
§

impl<V, T> VZip<V> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_identity/error/enum.GetIdentityError.html b/actix_identity/error/enum.GetIdentityError.html index 808c4d180..b2c4f397c 100644 --- a/actix_identity/error/enum.GetIdentityError.html +++ b/actix_identity/error/enum.GetIdentityError.html @@ -1,5 +1,4 @@ -GetIdentityError in actix_identity::error - Rust -
#[non_exhaustive]
pub enum GetIdentityError { +GetIdentityError in actix_identity::error - Rust

Enum actix_identity::error::GetIdentityError

source ·
#[non_exhaustive]
pub enum GetIdentityError { SessionExpiryError(SessionExpiryError), MissingIdentityError(MissingIdentityError), SessionGetError(SessionGetError), @@ -10,7 +9,7 @@
§

SessionGetError(SessionGetError)

Failed to accessing the session store.

§

LostIdentityError(LostIdentityError)

Identity info was lost after being validated.

Seeing this error indicates a bug in actix-identity.

-

Trait Implementations§

source§

impl Debug for GetIdentityError

source§

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

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

impl Display for GetIdentityError

source§

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

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

impl Error for GetIdentityError

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<LostIdentityError> for GetIdentityError

source§

fn from(original: LostIdentityError) -> GetIdentityError

Converts to this type from the input type.
source§

impl From<MissingIdentityError> for GetIdentityError

source§

fn from(original: MissingIdentityError) -> GetIdentityError

Converts to this type from the input type.
source§

impl From<SessionExpiryError> for GetIdentityError

source§

fn from(original: SessionExpiryError) -> GetIdentityError

Converts to this type from the input type.
source§

impl From<SessionGetError> for GetIdentityError

source§

fn from(original: SessionGetError) -> GetIdentityError

Converts to this type from the input type.
source§

impl ResponseError for GetIdentityError

source§

fn status_code(&self) -> StatusCode

Returns appropriate status code for error. Read more
§

fn error_response(&self) -> HttpResponse

Creates full response for error. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Debug for GetIdentityError

source§

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

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

impl Display for GetIdentityError

source§

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

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

impl Error for GetIdentityError

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<LostIdentityError> for GetIdentityError

source§

fn from(original: LostIdentityError) -> GetIdentityError

Converts to this type from the input type.
source§

impl From<MissingIdentityError> for GetIdentityError

source§

fn from(original: MissingIdentityError) -> GetIdentityError

Converts to this type from the input type.
source§

impl From<SessionExpiryError> for GetIdentityError

source§

fn from(original: SessionExpiryError) -> GetIdentityError

Converts to this type from the input type.
source§

impl From<SessionGetError> for GetIdentityError

source§

fn from(original: SessionGetError) -> GetIdentityError

Converts to this type from the input type.
source§

impl ResponseError for GetIdentityError

source§

fn status_code(&self) -> StatusCode

Returns appropriate status code for error. Read more
§

fn error_response(&self) -> HttpResponse

Creates full response for error. Read more

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> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

@@ -20,10 +19,10 @@ 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> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

impl<V, T> VZip<V> for T
where +

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_identity/error/index.html b/actix_identity/error/index.html index dec48b919..11b689539 100644 --- a/actix_identity/error/index.html +++ b/actix_identity/error/index.html @@ -1,3 +1,2 @@ -actix_identity::error - Rust -

Module actix_identity::error

source ·
Expand description

Failure modes of identity operations.

+actix_identity::error - Rust

Module actix_identity::error

source ·
Expand description

Failure modes of identity operations.

Structs§

Enums§

\ No newline at end of file diff --git a/actix_identity/error/struct.LoginError.html b/actix_identity/error/struct.LoginError.html index e188723d1..41b35b57c 100644 --- a/actix_identity/error/struct.LoginError.html +++ b/actix_identity/error/struct.LoginError.html @@ -1,5 +1,4 @@ -LoginError in actix_identity::error - Rust -
pub struct LoginError(/* private fields */);
Expand description

Error that can occur during login attempts.

+LoginError in actix_identity::error - Rust

Struct actix_identity::error::LoginError

source ·
pub struct LoginError(/* private fields */);
Expand description

Error that can occur during login attempts.

Trait Implementations§

source§

impl Debug for LoginError

source§

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

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

impl Display for LoginError

source§

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

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

impl Error for LoginError

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<SessionInsertError> for LoginError

source§

fn from(original: SessionInsertError) -> LoginError

Converts to this type from the input type.
source§

impl ResponseError for LoginError

source§

fn status_code(&self) -> StatusCode

Returns appropriate status code for error. Read more
§

fn error_response(&self) -> HttpResponse

Creates full response for error. Read more

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 @@ -10,10 +9,10 @@ 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> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

impl<V, T> VZip<V> for T
where +

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_identity/error/struct.LostIdentityError.html b/actix_identity/error/struct.LostIdentityError.html index 105b7152b..ce682ef55 100644 --- a/actix_identity/error/struct.LostIdentityError.html +++ b/actix_identity/error/struct.LostIdentityError.html @@ -1,7 +1,6 @@ -LostIdentityError in actix_identity::error - Rust -
#[non_exhaustive]
pub struct LostIdentityError;
Expand description

The identity information has been lost.

+LostIdentityError in actix_identity::error - Rust

Struct actix_identity::error::LostIdentityError

source ·
#[non_exhaustive]
pub struct LostIdentityError;
Expand description

The identity information has been lost.

Seeing this error in user code indicates a bug in actix-identity.

-

Trait Implementations§

source§

impl Debug for LostIdentityError

source§

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

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

impl Display for LostIdentityError

source§

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

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

impl Error for LostIdentityError

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<LostIdentityError> for GetIdentityError

source§

fn from(original: LostIdentityError) -> GetIdentityError

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Debug for LostIdentityError

source§

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

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

impl Display for LostIdentityError

source§

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

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

impl Error for LostIdentityError

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<LostIdentityError> for GetIdentityError

source§

fn from(original: LostIdentityError) -> GetIdentityError

Converts to this type from the input type.

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> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

@@ -11,10 +10,10 @@ 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> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

impl<V, T> VZip<V> for T
where +

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_identity/error/struct.MissingIdentityError.html b/actix_identity/error/struct.MissingIdentityError.html index 413a59374..7e9901572 100644 --- a/actix_identity/error/struct.MissingIdentityError.html +++ b/actix_identity/error/struct.MissingIdentityError.html @@ -1,5 +1,4 @@ -MissingIdentityError in actix_identity::error - Rust -
#[non_exhaustive]
pub struct MissingIdentityError;
Expand description

There is no identity information attached to the current session.

+MissingIdentityError in actix_identity::error - Rust

Struct actix_identity::error::MissingIdentityError

source ·
#[non_exhaustive]
pub struct MissingIdentityError;
Expand description

There is no identity information attached to the current session.

Trait Implementations§

source§

impl Debug for MissingIdentityError

source§

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

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

impl Display for MissingIdentityError

source§

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

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

impl Error for MissingIdentityError

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<MissingIdentityError> for GetIdentityError

source§

fn from(original: MissingIdentityError) -> GetIdentityError

Converts to this type from the input type.

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 @@ -10,10 +9,10 @@ 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> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

impl<V, T> VZip<V> for T
where +

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_identity/error/struct.SessionExpiryError.html b/actix_identity/error/struct.SessionExpiryError.html index 866f294e2..ab97032af 100644 --- a/actix_identity/error/struct.SessionExpiryError.html +++ b/actix_identity/error/struct.SessionExpiryError.html @@ -1,5 +1,4 @@ -SessionExpiryError in actix_identity::error - Rust -
pub struct SessionExpiryError(/* private fields */);
Expand description

Error encountered when working with a session that has expired.

+SessionExpiryError in actix_identity::error - Rust

Struct actix_identity::error::SessionExpiryError

source ·
pub struct SessionExpiryError(/* private fields */);
Expand description

Error encountered when working with a session that has expired.

Trait Implementations§

source§

impl Debug for SessionExpiryError

source§

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

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

impl Display for SessionExpiryError

source§

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

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

impl Error for SessionExpiryError

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<SessionExpiryError> for GetIdentityError

source§

fn from(original: SessionExpiryError) -> GetIdentityError

Converts to this type from the input type.

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 @@ -10,10 +9,10 @@ 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> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

impl<V, T> VZip<V> for T
where +

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_identity/index.html b/actix_identity/index.html index 8c2029780..b1edb931a 100644 --- a/actix_identity/index.html +++ b/actix_identity/index.html @@ -1,6 +1,4 @@ -actix_identity - Rust -

Crate actix_identity

source ·
Expand description

Identity management for Actix Web.

+actix_identity - Rust

Crate actix_identity

source ·
Expand description

Identity management for Actix Web.

actix-identity can be used to track identity of a user across multiple requests. It is built on top of HTTP sessions, via actix-session.

§Getting started

diff --git a/actix_identity/struct.Identity.html b/actix_identity/struct.Identity.html index af65b973c..d4499d0d6 100644 --- a/actix_identity/struct.Identity.html +++ b/actix_identity/struct.Identity.html @@ -1,5 +1,4 @@ -Identity in actix_identity - Rust -
pub struct Identity(/* private fields */);
Expand description

A verified user identity. It can be used as a request extractor.

+Identity in actix_identity - Rust

Struct actix_identity::Identity

source ·
pub struct Identity(/* private fields */);
Expand description

A verified user identity. It can be used as a request extractor.

The lifecycle of a user identity is tied to the lifecycle of the underlying session. If the session is destroyed (e.g. the session expired), the user identity will be forgotten, de-facto forcing a user log out.

@@ -113,8 +112,8 @@ require a valid From<T> for U chooses to do.

source§

impl<T> Same for T

§

type Output = T

Should always be Self
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.
§

impl<V, T> VZip<V> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_identity/struct.IdentityMiddleware.html b/actix_identity/struct.IdentityMiddleware.html index 5844ca2a1..b5a98e511 100644 --- a/actix_identity/struct.IdentityMiddleware.html +++ b/actix_identity/struct.IdentityMiddleware.html @@ -1,5 +1,4 @@ -IdentityMiddleware in actix_identity - Rust -
pub struct IdentityMiddleware { /* private fields */ }
Expand description

Identity management middleware.

+IdentityMiddleware in actix_identity - Rust

Struct actix_identity::IdentityMiddleware

source ·
pub struct IdentityMiddleware { /* private fields */ }
Expand description

Identity management middleware.

use actix_web::{cookie::Key, App, HttpServer};
 use actix_session::storage::RedisSessionStore;
@@ -36,8 +35,8 @@
 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.
§

impl<V, T> VZip<V> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_identity/trait.IdentityExt.html b/actix_identity/trait.IdentityExt.html index 2a07d1d3e..e7f7fff3d 100644 --- a/actix_identity/trait.IdentityExt.html +++ b/actix_identity/trait.IdentityExt.html @@ -1,5 +1,4 @@ -IdentityExt in actix_identity - Rust -
pub trait IdentityExt {
+IdentityExt in actix_identity - Rust

Trait actix_identity::IdentityExt

source ·
pub trait IdentityExt {
     // Required method
     fn get_identity(&self) -> Result<Identity, GetIdentityError>;
 }
Expand description

Helper trait to retrieve an Identity instance from various actix-web’s types.

diff --git a/actix_limitation/all.html b/actix_limitation/all.html index 71a175cf3..b7830b91a 100644 --- a/actix_limitation/all.html +++ b/actix_limitation/all.html @@ -1,2 +1 @@ -List of all items in this crate -
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/actix_limitation/constant.DEFAULT_COOKIE_NAME.html b/actix_limitation/constant.DEFAULT_COOKIE_NAME.html index fa27e5969..0171a9e86 100644 --- a/actix_limitation/constant.DEFAULT_COOKIE_NAME.html +++ b/actix_limitation/constant.DEFAULT_COOKIE_NAME.html @@ -1,3 +1,2 @@ -DEFAULT_COOKIE_NAME in actix_limitation - Rust -
pub const DEFAULT_COOKIE_NAME: &str = "sid";
Expand description

Default cookie name.

+DEFAULT_COOKIE_NAME in actix_limitation - Rust

Constant actix_limitation::DEFAULT_COOKIE_NAME

source ·
pub const DEFAULT_COOKIE_NAME: &str = "sid";
Expand description

Default cookie name.

\ No newline at end of file diff --git a/actix_limitation/constant.DEFAULT_PERIOD_SECS.html b/actix_limitation/constant.DEFAULT_PERIOD_SECS.html index 64f01db1d..9109b5d27 100644 --- a/actix_limitation/constant.DEFAULT_PERIOD_SECS.html +++ b/actix_limitation/constant.DEFAULT_PERIOD_SECS.html @@ -1,3 +1,2 @@ -DEFAULT_PERIOD_SECS in actix_limitation - Rust -
pub const DEFAULT_PERIOD_SECS: u64 = 3600;
Expand description

Default period (in seconds).

+DEFAULT_PERIOD_SECS in actix_limitation - Rust

Constant actix_limitation::DEFAULT_PERIOD_SECS

source ·
pub const DEFAULT_PERIOD_SECS: u64 = 3600;
Expand description

Default period (in seconds).

\ No newline at end of file diff --git a/actix_limitation/constant.DEFAULT_REQUEST_LIMIT.html b/actix_limitation/constant.DEFAULT_REQUEST_LIMIT.html index 5b432f86c..1891f8d6f 100644 --- a/actix_limitation/constant.DEFAULT_REQUEST_LIMIT.html +++ b/actix_limitation/constant.DEFAULT_REQUEST_LIMIT.html @@ -1,3 +1,2 @@ -DEFAULT_REQUEST_LIMIT in actix_limitation - Rust -
pub const DEFAULT_REQUEST_LIMIT: usize = 5000;
Expand description

Default request limit.

+DEFAULT_REQUEST_LIMIT in actix_limitation - Rust

Constant actix_limitation::DEFAULT_REQUEST_LIMIT

source ·
pub const DEFAULT_REQUEST_LIMIT: usize = 5000;
Expand description

Default request limit.

\ No newline at end of file diff --git a/actix_limitation/constant.DEFAULT_SESSION_KEY.html b/actix_limitation/constant.DEFAULT_SESSION_KEY.html index 86369ab6b..0c53cccef 100644 --- a/actix_limitation/constant.DEFAULT_SESSION_KEY.html +++ b/actix_limitation/constant.DEFAULT_SESSION_KEY.html @@ -1,3 +1,2 @@ -DEFAULT_SESSION_KEY in actix_limitation - Rust -
pub const DEFAULT_SESSION_KEY: &str = "rate-api-id";
Expand description

Default session key.

+DEFAULT_SESSION_KEY in actix_limitation - Rust

Constant actix_limitation::DEFAULT_SESSION_KEY

source ·
pub const DEFAULT_SESSION_KEY: &str = "rate-api-id";
Expand description

Default session key.

\ No newline at end of file diff --git a/actix_limitation/enum.Error.html b/actix_limitation/enum.Error.html index 743ab0cde..1dded10da 100644 --- a/actix_limitation/enum.Error.html +++ b/actix_limitation/enum.Error.html @@ -1,5 +1,4 @@ -Error in actix_limitation - Rust -
pub enum Error {
+Error in actix_limitation - Rust

Enum actix_limitation::Error

source ·
pub enum Error {
     Client(RedisError),
     LimitExceeded(Status),
     Time(ComponentRange),
@@ -9,7 +8,7 @@
 
§

LimitExceeded(Status)

Limit is exceeded for a key.

§

Time(ComponentRange)

Time conversion failed.

§

Other(String)

Generic error.

-

Trait Implementations§

source§

impl Debug for Error

source§

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

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

impl Display for Error

source§

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

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

impl Error for Error

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<ComponentRange> for Error

source§

fn from(original: ComponentRange) -> Error

Converts to this type from the input type.
source§

impl From<RedisError> for Error

source§

fn from(original: RedisError) -> Error

Converts to this type from the input type.

Auto Trait Implementations§

§

impl Freeze for Error

§

impl !RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl !UnwindSafe for Error

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Debug for Error

source§

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

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

impl Display for Error

source§

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

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

impl Error for Error

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<ComponentRange> for Error

source§

fn from(original: ComponentRange) -> Error

Converts to this type from the input type.
source§

impl From<RedisError> for Error

source§

fn from(original: RedisError) -> Error

Converts to this type from the input type.

Auto Trait Implementations§

§

impl Freeze for Error

§

impl !RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl !UnwindSafe for Error

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.

@@ -19,10 +18,10 @@ 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> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

impl<V, T> VZip<V> for T
where +

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_limitation/index.html b/actix_limitation/index.html index 15999792b..1c04b3964 100644 --- a/actix_limitation/index.html +++ b/actix_limitation/index.html @@ -1,6 +1,4 @@ -actix_limitation - Rust -

Crate actix_limitation

source ·
Expand description

Rate limiter using a fixed window counter for arbitrary keys, backed by Redis for Actix Web.

+actix_limitation - Rust

Crate actix_limitation

source ·
Expand description

Rate limiter using a fixed window counter for arbitrary keys, backed by Redis for Actix Web.

[dependencies]
 actix-web = "4"
 actix-limitation = "0.5"
diff --git a/actix_limitation/struct.Builder.html b/actix_limitation/struct.Builder.html
index 8bbc02216..723242413 100644
--- a/actix_limitation/struct.Builder.html
+++ b/actix_limitation/struct.Builder.html
@@ -1,5 +1,4 @@
-Builder in actix_limitation - Rust
-    
pub struct Builder { /* private fields */ }
Expand description

Rate limiter builder.

+Builder in actix_limitation - Rust

Struct actix_limitation::Builder

source ·
pub struct Builder { /* private fields */ }
Expand description

Rate limiter builder.

Implementations§

source§

impl Builder

source

pub fn limit(&mut self, limit: usize) -> &mut Self

Set upper limit.

source

pub fn period(&mut self, period: Duration) -> &mut Self

Set limit window/period.

source

pub fn key_by<F>(&mut self, resolver: F) -> &mut Self
where @@ -29,8 +28,8 @@

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

impl<V, T> VZip<V> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_limitation/struct.Limiter.html b/actix_limitation/struct.Limiter.html index 0bbeb391c..fb0027036 100644 --- a/actix_limitation/struct.Limiter.html +++ b/actix_limitation/struct.Limiter.html @@ -1,5 +1,4 @@ -Limiter in actix_limitation - Rust -
pub struct Limiter { /* private fields */ }
Expand description

Rate limiter.

+Limiter in actix_limitation - Rust

Struct actix_limitation::Limiter

source ·
pub struct Limiter { /* private fields */ }
Expand description

Rate limiter.

Implementations§

source§

impl Limiter

source

pub fn builder(redis_url: impl Into<String>) -> Builder

Construct rate limiter builder with defaults.

See redis-rs docs on connection parameters for how to set the Redis URL.

@@ -16,8 +15,8 @@ parameters for how to set the Redis URL.

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.
§

impl<V, T> VZip<V> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_limitation/struct.RateLimiter.html b/actix_limitation/struct.RateLimiter.html index 353dd8551..760c4ed71 100644 --- a/actix_limitation/struct.RateLimiter.html +++ b/actix_limitation/struct.RateLimiter.html @@ -1,5 +1,4 @@ -RateLimiter in actix_limitation - Rust -
#[non_exhaustive]
pub struct RateLimiter;
Expand description

Rate limit middleware.

+RateLimiter in actix_limitation - Rust

Struct actix_limitation::RateLimiter

source ·
#[non_exhaustive]
pub struct RateLimiter;
Expand description

Rate limit middleware.

Trait Implementations§

source§

impl Debug for RateLimiter

source§

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

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

impl Default for RateLimiter

source§

fn default() -> RateLimiter

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

impl<S, B> Transform<S, ServiceRequest> for RateLimiter
where S: Service<ServiceRequest, Response = ServiceResponse<B>, Error = Error> + 'static, S::Future: 'static, @@ -14,8 +13,8 @@

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

impl<V, T> VZip<V> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_limitation/struct.Status.html b/actix_limitation/struct.Status.html index fbbe8505d..05ab021b0 100644 --- a/actix_limitation/struct.Status.html +++ b/actix_limitation/struct.Status.html @@ -1,5 +1,4 @@ -Status in actix_limitation - Rust -
pub struct Status { /* private fields */ }
Expand description

A report for a given key containing the limit status.

+Status in actix_limitation - Rust

Struct actix_limitation::Status

source ·
pub struct Status { /* private fields */ }
Expand description

A report for a given key containing the limit status.

Implementations§

source§

impl Status

source

pub fn limit(&self) -> usize

Returns the maximum number of requests allowed in the current period.

source

pub fn remaining(&self) -> usize

Returns how many requests are left in the current period.

source

pub fn reset_epoch_utc(&self) -> usize

Returns a UNIX timestamp in UTC approximately when the next period will begin.

@@ -15,8 +14,8 @@ 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.
§

impl<V, T> VZip<V> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_protobuf/all.html b/actix_protobuf/all.html index f600246ec..dd88bbc77 100644 --- a/actix_protobuf/all.html +++ b/actix_protobuf/all.html @@ -1,2 +1 @@ -List of all items in this crate -
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/actix_protobuf/enum.ProtoBufPayloadError.html b/actix_protobuf/enum.ProtoBufPayloadError.html index 861dc61dc..d2839cf6c 100644 --- a/actix_protobuf/enum.ProtoBufPayloadError.html +++ b/actix_protobuf/enum.ProtoBufPayloadError.html @@ -1,5 +1,4 @@ -ProtoBufPayloadError in actix_protobuf - Rust -
pub enum ProtoBufPayloadError {
+ProtoBufPayloadError in actix_protobuf - Rust

Enum actix_protobuf::ProtoBufPayloadError

source ·
pub enum ProtoBufPayloadError {
     Overflow,
     ContentType,
     Serialize(EncodeError),
@@ -10,7 +9,7 @@
 
§

Serialize(EncodeError)

Serialize error

§

Deserialize(DecodeError)

Deserialize error

§

Payload(PayloadError)

Payload error

-

Trait Implementations§

source§

impl Debug for ProtoBufPayloadError

source§

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

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

impl Display for ProtoBufPayloadError

source§

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

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

impl From<DecodeError> for ProtoBufPayloadError

source§

fn from(err: ProtoBufDecodeError) -> ProtoBufPayloadError

Converts to this type from the input type.
source§

impl From<PayloadError> for ProtoBufPayloadError

source§

fn from(err: PayloadError) -> ProtoBufPayloadError

Converts to this type from the input type.
source§

impl ResponseError for ProtoBufPayloadError

source§

fn error_response(&self) -> HttpResponse

Creates full response for error. Read more
§

fn status_code(&self) -> StatusCode

Returns appropriate status code for error. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Debug for ProtoBufPayloadError

source§

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

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

impl Display for ProtoBufPayloadError

source§

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

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

impl From<DecodeError> for ProtoBufPayloadError

source§

fn from(err: ProtoBufDecodeError) -> ProtoBufPayloadError

Converts to this type from the input type.
source§

impl From<PayloadError> for ProtoBufPayloadError

source§

fn from(err: PayloadError) -> ProtoBufPayloadError

Converts to this type from the input type.
source§

impl ResponseError for ProtoBufPayloadError

source§

fn error_response(&self) -> HttpResponse

Creates full response for error. Read more
§

fn status_code(&self) -> StatusCode

Returns appropriate status code for error. Read more

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> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

@@ -20,10 +19,10 @@ 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> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

impl<V, T> VZip<V> for T
where +

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_protobuf/index.html b/actix_protobuf/index.html index 9de6c2c4d..1dbb69cc9 100644 --- a/actix_protobuf/index.html +++ b/actix_protobuf/index.html @@ -1,4 +1,2 @@ -actix_protobuf - Rust -

Crate actix_protobuf

source ·
Expand description

Protobuf payload extractor for Actix Web.

+actix_protobuf - Rust

Crate actix_protobuf

source ·
Expand description

Protobuf payload extractor for Actix Web.

Structs§

Enums§

Traits§

\ No newline at end of file diff --git a/actix_protobuf/struct.ProtoBuf.html b/actix_protobuf/struct.ProtoBuf.html index 921066792..22d14d3df 100644 --- a/actix_protobuf/struct.ProtoBuf.html +++ b/actix_protobuf/struct.ProtoBuf.html @@ -1,15 +1,12 @@ -ProtoBuf in actix_protobuf - Rust -
pub struct ProtoBuf<T: Message>(pub T);

Tuple Fields§

§0: T

Trait Implementations§

source§

impl<T> Debug for ProtoBuf<T>
where +ProtoBuf in actix_protobuf - Rust

Struct actix_protobuf::ProtoBuf

source ·
pub struct ProtoBuf<T: Message>(pub T);

Tuple Fields§

§0: T

Trait Implementations§

source§

impl<T> Debug for ProtoBuf<T>
where T: Debug + Message,

source§

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

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

impl<T: Message> Deref for ProtoBuf<T>

§

type Target = T

The resulting type after dereferencing.
source§

fn deref(&self) -> &T

Dereferences the value.
source§

impl<T: Message> DerefMut for ProtoBuf<T>

source§

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

Mutably dereferences the value.
source§

impl<T> Display for ProtoBuf<T>
where T: Display + Message,

source§

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

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

impl<T> FromRequest for ProtoBuf<T>
where T: Message + Default + 'static,

§

type Error = Error

The associated error which can be returned.
§

type Future = Pin<Box<dyn Future<Output = Result<ProtoBuf<T>, Error>>>>

Future that resolves to a Self. Read more
source§

fn from_request(req: &HttpRequest, payload: &mut Payload) -> Self::Future

Create a Self from request parts asynchronously.
§

fn extract(req: &HttpRequest) -> Self::Future

Create a Self from request head asynchronously. Read more
source§

impl<T: Message + Default> Responder for ProtoBuf<T>

§

type Body = BoxBody

source§

fn respond_to(self, _: &HttpRequest) -> HttpResponse

Convert self to HttpResponse.
§

fn customize(self) -> CustomizeResponder<Self>
where Self: Sized,

Wraps responder to allow alteration of its response. Read more

Auto Trait Implementations§

§

impl<T> Freeze for ProtoBuf<T>
where - T: Sync + Send + Debug + Freeze,

§

impl<T> RefUnwindSafe for ProtoBuf<T>
where - T: Sync + Send + Debug + RefUnwindSafe,

§

impl<T> Send for ProtoBuf<T>
where - T: Sync + Send + Debug,

§

impl<T> Sync for ProtoBuf<T>
where - T: Sync + Send + Debug,

§

impl<T> Unpin for ProtoBuf<T>
where - T: Sync + Send + Debug + Unpin,

§

impl<T> UnwindSafe for ProtoBuf<T>
where - T: Sync + Send + Debug + UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where + T: Freeze,

§

impl<T> RefUnwindSafe for ProtoBuf<T>
where + T: RefUnwindSafe,

§

impl<T> Send for ProtoBuf<T>

§

impl<T> Sync for ProtoBuf<T>

§

impl<T> Unpin for ProtoBuf<T>
where + T: Unpin,

§

impl<T> UnwindSafe for ProtoBuf<T>
where + T: 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.

@@ -19,10 +16,10 @@ 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> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

impl<V, T> VZip<V> for T
where +

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_protobuf/struct.ProtoBufConfig.html b/actix_protobuf/struct.ProtoBufConfig.html index fd489859e..39031cf1d 100644 --- a/actix_protobuf/struct.ProtoBufConfig.html +++ b/actix_protobuf/struct.ProtoBufConfig.html @@ -1,5 +1,4 @@ -ProtoBufConfig in actix_protobuf - Rust -
pub struct ProtoBufConfig { /* private fields */ }

Implementations§

source§

impl ProtoBufConfig

source

pub fn limit(&mut self, limit: usize) -> &mut Self

Change max size of payload. By default max size is 256Kb

+ProtoBufConfig in actix_protobuf - Rust

Struct actix_protobuf::ProtoBufConfig

source ·
pub struct ProtoBufConfig { /* private fields */ }

Implementations§

source§

impl ProtoBufConfig

source

pub fn limit(&mut self, limit: usize) -> &mut Self

Change max size of payload. By default max size is 256Kb

Trait Implementations§

source§

impl Default for ProtoBufConfig

source§

fn default() -> Self

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

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 @@ -11,8 +10,8 @@

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

impl<V, T> VZip<V> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_protobuf/struct.ProtoBufMessage.html b/actix_protobuf/struct.ProtoBufMessage.html index c9c5a9b1a..dcd2c833b 100644 --- a/actix_protobuf/struct.ProtoBufMessage.html +++ b/actix_protobuf/struct.ProtoBufMessage.html @@ -1,10 +1,7 @@ -ProtoBufMessage in actix_protobuf - Rust -
pub struct ProtoBufMessage<T: Message + Default> { /* private fields */ }

Implementations§

source§

impl<T: Message + Default> ProtoBufMessage<T>

source

pub fn new(req: &HttpRequest, payload: &mut Payload) -> Self

Create ProtoBufMessage for request.

+ProtoBufMessage in actix_protobuf - Rust

Struct actix_protobuf::ProtoBufMessage

source ·
pub struct ProtoBufMessage<T: Message + Default> { /* private fields */ }

Implementations§

source§

impl<T: Message + Default> ProtoBufMessage<T>

source

pub fn new(req: &HttpRequest, payload: &mut Payload) -> Self

Create ProtoBufMessage for request.

source

pub fn limit(self, limit: usize) -> Self

Change max size of payload. By default max size is 256Kb

Trait Implementations§

source§

impl<T: Message + Default + 'static> Future for ProtoBufMessage<T>

§

type Output = Result<T, ProtoBufPayloadError>

The type of value produced on completion.
source§

fn poll(self: Pin<&mut Self>, task: &mut Context<'_>) -> Poll<Self::Output>

Attempt to resolve the future to a final value, registering -the current task for wakeup if the value is not yet available. Read more

Auto Trait Implementations§

§

impl<T> Freeze for ProtoBufMessage<T>
where - T: Sync + Send + Debug,

§

impl<T> !RefUnwindSafe for ProtoBufMessage<T>

§

impl<T> !Send for ProtoBufMessage<T>

§

impl<T> !Sync for ProtoBufMessage<T>

§

impl<T> Unpin for ProtoBufMessage<T>
where - T: Sync + Send + Debug,

§

impl<T> !UnwindSafe for ProtoBufMessage<T>

Blanket Implementations§

source§

impl<T> Any for T
where +the current task for wakeup if the value is not yet available. Read more

Auto Trait Implementations§

§

impl<T> Freeze for ProtoBufMessage<T>

§

impl<T> !RefUnwindSafe for ProtoBufMessage<T>

§

impl<T> !Send for ProtoBufMessage<T>

§

impl<T> !Sync for ProtoBufMessage<T>

§

impl<T> Unpin for ProtoBufMessage<T>

§

impl<T> !UnwindSafe for ProtoBufMessage<T>

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.

@@ -60,7 +57,7 @@ the future is ready after the first call to Future::poll. Read m From<T> for U chooses to do.

source§

impl<F> IntoFuture for F
where F: Future,

§

type Output = <F as Future>::Output

The output that the future will produce on completion.
§

type IntoFuture = F

Which kind of future are we turning this into?
source§

fn into_future(self) -> <F as IntoFuture>::IntoFuture

Creates a future from a value. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
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.
§

impl<F, T, E> TryFuture for F
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.
§

impl<F, T, E> TryFuture for F
where F: Future<Output = Result<T, E>> + ?Sized,

§

type Ok = T

The type of successful values yielded by this future
§

type Error = E

The type of failures yielded by this future
§

fn try_poll( self: Pin<&mut F>, cx: &mut Context<'_> @@ -111,7 +108,7 @@ future is a stream. Read more

Poll<Result<Self::Ok, Self::Error>>
where Self: Unpin,
A convenience method for calling [TryFuture::try_poll] on Unpin future types.
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.
§

impl<V, T> VZip<V> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_protobuf/trait.ProtoBufResponseBuilder.html b/actix_protobuf/trait.ProtoBufResponseBuilder.html index 674f22962..913530843 100644 --- a/actix_protobuf/trait.ProtoBufResponseBuilder.html +++ b/actix_protobuf/trait.ProtoBufResponseBuilder.html @@ -1,5 +1,4 @@ -ProtoBufResponseBuilder in actix_protobuf - Rust -
pub trait ProtoBufResponseBuilder {
+ProtoBufResponseBuilder in actix_protobuf - Rust

Trait actix_protobuf::ProtoBufResponseBuilder

source ·
pub trait ProtoBufResponseBuilder {
     // Required method
     fn protobuf<T: Message>(&mut self, value: T) -> Result<HttpResponse, Error>;
 }

Required Methods§

source

fn protobuf<T: Message>(&mut self, value: T) -> Result<HttpResponse, Error>

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl ProtoBufResponseBuilder for HttpResponseBuilder

source§

fn protobuf<T: Message>(&mut self, value: T) -> Result<HttpResponse, Error>

Implementors§

\ No newline at end of file diff --git a/actix_session/all.html b/actix_session/all.html index 529566f59..c025c3a5e 100644 --- a/actix_session/all.html +++ b/actix_session/all.html @@ -1,2 +1 @@ -List of all items in this crate -
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/actix_session/config/enum.CookieContentSecurity.html b/actix_session/config/enum.CookieContentSecurity.html index d1048f889..92d41712f 100644 --- a/actix_session/config/enum.CookieContentSecurity.html +++ b/actix_session/config/enum.CookieContentSecurity.html @@ -1,5 +1,4 @@ -CookieContentSecurity in actix_session::config - Rust -
pub enum CookieContentSecurity {
+CookieContentSecurity in actix_session::config - Rust

Enum actix_session::config::CookieContentSecurity

source ·
pub enum CookieContentSecurity {
     Private,
     Signed,
 }
Expand description

Determines how to secure the content of the session cookie.

@@ -22,8 +21,8 @@ tamper with the cookie content, but they can read it.

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.
§

impl<V, T> VZip<V> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_session/config/enum.SessionLifecycle.html b/actix_session/config/enum.SessionLifecycle.html index 7735f1c60..f2d642b01 100644 --- a/actix_session/config/enum.SessionLifecycle.html +++ b/actix_session/config/enum.SessionLifecycle.html @@ -1,5 +1,4 @@ -SessionLifecycle in actix_session::config - Rust -
#[non_exhaustive]
pub enum SessionLifecycle { +SessionLifecycle in actix_session::config - Rust

Enum actix_session::config::SessionLifecycle

source ·
#[non_exhaustive]
pub enum SessionLifecycle { BrowserSession(BrowserSession), PersistentSession(PersistentSession), }
Expand description

Determines what type of session cookie should be used and how its lifecycle should be managed.

@@ -12,7 +11,7 @@ Check the documentation of the browsers you are targeting for up-to-date informa
§

PersistentSession(PersistentSession)

The session cookie will be a persistent cookie.

Persistent cookies have a pre-determined lifetime, specified via the Max-Age or Expires attribute. They do not disappear when the current browser session ends.

-

Trait Implementations§

source§

impl Clone for SessionLifecycle

source§

fn clone(&self) -> SessionLifecycle

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 Debug for SessionLifecycle

source§

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

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

impl From<BrowserSession> for SessionLifecycle

source§

fn from(original: BrowserSession) -> SessionLifecycle

Converts to this type from the input type.
source§

impl From<PersistentSession> for SessionLifecycle

source§

fn from(original: PersistentSession) -> SessionLifecycle

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Clone for SessionLifecycle

source§

fn clone(&self) -> SessionLifecycle

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 Debug for SessionLifecycle

source§

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

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

impl From<BrowserSession> for SessionLifecycle

source§

fn from(original: BrowserSession) -> SessionLifecycle

Converts to this type from the input type.
source§

impl From<PersistentSession> for SessionLifecycle

source§

fn from(original: PersistentSession) -> SessionLifecycle

Converts to this type from the input type.

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> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

@@ -24,8 +23,8 @@ attribute. They do not disappear when the current browser session ends.

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.
§

impl<V, T> VZip<V> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_session/config/enum.TtlExtensionPolicy.html b/actix_session/config/enum.TtlExtensionPolicy.html index a9178873d..9a10516fe 100644 --- a/actix_session/config/enum.TtlExtensionPolicy.html +++ b/actix_session/config/enum.TtlExtensionPolicy.html @@ -1,5 +1,4 @@ -TtlExtensionPolicy in actix_session::config - Rust -
#[non_exhaustive]
pub enum TtlExtensionPolicy { +TtlExtensionPolicy in actix_session::config - Rust

Enum actix_session::config::TtlExtensionPolicy

source ·
#[non_exhaustive]
pub enum TtlExtensionPolicy { OnEveryRequest, OnStateChanges, }
Expand description

Configuration for which events should trigger an extension of the time-to-live for your session.

@@ -28,8 +27,8 @@ your server.

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.
§

impl<V, T> VZip<V> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_session/config/index.html b/actix_session/config/index.html index 986ad10a8..9f1fff588 100644 --- a/actix_session/config/index.html +++ b/actix_session/config/index.html @@ -1,4 +1,3 @@ -actix_session::config - Rust -

Module actix_session::config

source ·
Expand description

Configuration options to tune the behaviour of SessionMiddleware.

+actix_session::config - Rust

Module actix_session::config

source ·
Expand description

Configuration options to tune the behaviour of SessionMiddleware.

Structs§

Enums§

  • Determines how to secure the content of the session cookie.
  • Determines what type of session cookie should be used and how its lifecycle should be managed.
  • Configuration for which events should trigger an extension of the time-to-live for your session.
\ No newline at end of file diff --git a/actix_session/config/struct.BrowserSession.html b/actix_session/config/struct.BrowserSession.html index fa032bd66..262e9f5bf 100644 --- a/actix_session/config/struct.BrowserSession.html +++ b/actix_session/config/struct.BrowserSession.html @@ -1,5 +1,4 @@ -BrowserSession in actix_session::config - Rust -
pub struct BrowserSession { /* private fields */ }
Expand description

A session lifecycle strategy where the session cookie expires when the +BrowserSession in actix_session::config - Rust

Struct actix_session::config::BrowserSession

source ·
pub struct BrowserSession { /* private fields */ }
Expand description

A session lifecycle strategy where the session cookie expires when the browser’s current session ends.

When does a browser session end? It depends on the browser. Chrome, for example, will often continue running in the background when the browser is closed—session cookies are not deleted @@ -41,8 +40,8 @@ specifying a more aggressive state TTL extension policy - check out 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.
§

impl<V, T> VZip<V> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_session/config/struct.PersistentSession.html b/actix_session/config/struct.PersistentSession.html index 5034a608e..2399e7607 100644 --- a/actix_session/config/struct.PersistentSession.html +++ b/actix_session/config/struct.PersistentSession.html @@ -1,5 +1,4 @@ -PersistentSession in actix_session::config - Rust -
pub struct PersistentSession { /* private fields */ }
Expand description

A session lifecycle strategy where the session cookie will be persistent.

+PersistentSession in actix_session::config - Rust

Struct actix_session::config::PersistentSession

source ·
pub struct PersistentSession { /* private fields */ }
Expand description

A session lifecycle strategy where the session cookie will be persistent.

Persistent cookies have a pre-determined expiration, specified via the Max-Age or Expires attribute. They do not disappear when the current browser session ends.

Due to its Into<SessionLifecycle> implementation, a PersistentSession can be passed directly @@ -41,8 +40,8 @@ See 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.
§

impl<V, T> VZip<V> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_session/config/struct.SessionMiddlewareBuilder.html b/actix_session/config/struct.SessionMiddlewareBuilder.html index 340b50432..877a42a81 100644 --- a/actix_session/config/struct.SessionMiddlewareBuilder.html +++ b/actix_session/config/struct.SessionMiddlewareBuilder.html @@ -1,5 +1,4 @@ -SessionMiddlewareBuilder in actix_session::config - Rust -
pub struct SessionMiddlewareBuilder<Store: SessionStore> { /* private fields */ }
Expand description

A fluent, customized SessionMiddleware builder.

+SessionMiddlewareBuilder in actix_session::config - Rust

Struct actix_session::config::SessionMiddlewareBuilder

source ·
pub struct SessionMiddlewareBuilder<Store: SessionStore> { /* private fields */ }
Expand description

A fluent, customized SessionMiddleware builder.

Implementations§

source§

impl<Store: SessionStore> SessionMiddlewareBuilder<Store>

source

pub fn cookie_name(self, name: String) -> Self

Set the name of the cookie used to store the session ID.

Defaults to id.

source

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

Set the Secure attribute for the cookie used to store the session ID.

@@ -71,8 +70,8 @@ running in the browser.

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

impl<V, T> VZip<V> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_session/enum.SessionStatus.html b/actix_session/enum.SessionStatus.html index 51b04b6fc..fc33d3d3b 100644 --- a/actix_session/enum.SessionStatus.html +++ b/actix_session/enum.SessionStatus.html @@ -1,5 +1,4 @@ -SessionStatus in actix_session - Rust -
pub enum SessionStatus {
+SessionStatus in actix_session - Rust

Enum actix_session::SessionStatus

source ·
pub enum SessionStatus {
     Changed,
     Purged,
     Renewed,
@@ -27,8 +26,8 @@ sufficient, and should not be overridden without very good reason.
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.
§

impl<V, T> VZip<V> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_session/index.html b/actix_session/index.html index 218731db9..2348bc883 100644 --- a/actix_session/index.html +++ b/actix_session/index.html @@ -1,6 +1,4 @@ -actix_session - Rust -

Crate actix_session

source ·
Expand description

Session management for Actix Web.

+actix_session - Rust

Crate actix_session

source ·
Expand description

Session management for Actix Web.

The HTTP protocol, at a first glance, is stateless: the client sends a request, the server parses its content, performs some processing and returns a response. The outcome is only influenced by the provided inputs (i.e. the request content) and whatever state the server diff --git a/actix_session/storage/enum.LoadError.html b/actix_session/storage/enum.LoadError.html index 105bc05e2..f45210dc1 100644 --- a/actix_session/storage/enum.LoadError.html +++ b/actix_session/storage/enum.LoadError.html @@ -1,10 +1,9 @@ -LoadError in actix_session::storage - Rust

-
pub enum LoadError {
-    Deserialization(Error),
-    Other(Error),
+LoadError in actix_session::storage - Rust

Enum actix_session::storage::LoadError

source ·
pub enum LoadError {
+    Deserialization(Error),
+    Other(Error),
 }
Expand description

Possible failures modes for SessionStore::load.

-

Variants§

§

Deserialization(Error)

Failed to deserialize session state.

-
§

Other(Error)

Something went wrong when retrieving the session state.

+

Variants§

§

Deserialization(Error)

Failed to deserialize session state.

+
§

Other(Error)

Something went wrong when retrieving the session state.

Trait Implementations§

source§

impl Debug for LoadError

source§

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

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

impl Display for LoadError

source§

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

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

impl Error for LoadError

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more

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 @@ -15,10 +14,10 @@ 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> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

impl<V, T> VZip<V> for T
where +

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_session/storage/enum.SaveError.html b/actix_session/storage/enum.SaveError.html index 841fbc8b3..061d8d8f4 100644 --- a/actix_session/storage/enum.SaveError.html +++ b/actix_session/storage/enum.SaveError.html @@ -1,11 +1,10 @@ -SaveError in actix_session::storage - Rust -
pub enum SaveError {
-    Serialization(Error),
-    Other(Error),
+SaveError in actix_session::storage - Rust

Enum actix_session::storage::SaveError

source ·
pub enum SaveError {
+    Serialization(Error),
+    Other(Error),
 }
Expand description

Possible failures modes for SessionStore::save.

-

Variants§

§

Serialization(Error)

Failed to serialize session state.

-
§

Other(Error)

Something went wrong when persisting the session state.

-

Trait Implementations§

source§

impl Debug for SaveError

source§

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

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

impl Display for SaveError

source§

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

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

impl Error for SaveError

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Variants§

§

Serialization(Error)

Failed to serialize session state.

+
§

Other(Error)

Something went wrong when persisting the session state.

+

Trait Implementations§

source§

impl Debug for SaveError

source§

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

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

impl Display for SaveError

source§

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

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

impl Error for SaveError

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more

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> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

@@ -15,10 +14,10 @@ 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> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

impl<V, T> VZip<V> for T
where +

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_session/storage/enum.UpdateError.html b/actix_session/storage/enum.UpdateError.html index 8bd0caa66..1406255a8 100644 --- a/actix_session/storage/enum.UpdateError.html +++ b/actix_session/storage/enum.UpdateError.html @@ -1,10 +1,9 @@ -UpdateError in actix_session::storage - Rust -
pub enum UpdateError {
-    Serialization(Error),
-    Other(Error),
+UpdateError in actix_session::storage - Rust

Enum actix_session::storage::UpdateError

source ·
pub enum UpdateError {
+    Serialization(Error),
+    Other(Error),
 }
Expand description

Possible failures modes for SessionStore::update.

-

Variants§

§

Serialization(Error)

Failed to serialize session state.

-
§

Other(Error)

Something went wrong when updating the session state.

+

Variants§

§

Serialization(Error)

Failed to serialize session state.

+
§

Other(Error)

Something went wrong when updating the session state.

Trait Implementations§

source§

impl Debug for UpdateError

source§

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

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

impl Display for UpdateError

source§

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

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

impl Error for UpdateError

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more

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 @@ -15,10 +14,10 @@ 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> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

impl<V, T> VZip<V> for T
where +

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_session/storage/index.html b/actix_session/storage/index.html index b1920f932..4452e93f1 100644 --- a/actix_session/storage/index.html +++ b/actix_session/storage/index.html @@ -1,5 +1,4 @@ -actix_session::storage - Rust -

Module actix_session::storage

source ·
Expand description

Pluggable storage backends for session state.

+actix_session::storage - Rust

Module actix_session::storage

source ·
Expand description

Pluggable storage backends for session state.

Structs§

Enums§

Traits§

  • The interface to retrieve and save the current session data from/to the chosen storage backend.
\ No newline at end of file diff --git a/actix_session/storage/struct.CookieSessionStore.html b/actix_session/storage/struct.CookieSessionStore.html index 056d605e6..fba75ec4e 100644 --- a/actix_session/storage/struct.CookieSessionStore.html +++ b/actix_session/storage/struct.CookieSessionStore.html @@ -1,5 +1,4 @@ -CookieSessionStore in actix_session::storage - Rust -
#[non_exhaustive]
pub struct CookieSessionStore;
Expand description

Use the session key, stored in the session cookie, as storage backend for the session state.

+CookieSessionStore in actix_session::storage - Rust

Struct actix_session::storage::CookieSessionStore

source ·
#[non_exhaustive]
pub struct CookieSessionStore;
Expand description

Use the session key, stored in the session cookie, as storage backend for the session state.

use actix_web::{cookie::Key, web, App, HttpServer, HttpResponse, Error};
 use actix_session::{SessionMiddleware, storage::CookieSessionStore};
@@ -45,7 +44,7 @@ storage backend.

&self, _session_key: &SessionKey, _ttl: &Duration -) -> Result<(), Error>
Updates the TTL of the session state associated to a pre-existing session key.
source§

async fn delete(&self, _session_key: &SessionKey) -> Result<(), Error>

Deletes a session from the store.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +) -> Result<(), Error>

Updates the TTL of the session state associated to a pre-existing session key.
source§

async fn delete(&self, _session_key: &SessionKey) -> Result<(), Error>

Deletes a session from the store.

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> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

@@ -56,8 +55,8 @@ storage backend.

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

impl<V, T> VZip<V> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_session/storage/struct.RedisSessionStore.html b/actix_session/storage/struct.RedisSessionStore.html index 5a6a93d9f..68fe28754 100644 --- a/actix_session/storage/struct.RedisSessionStore.html +++ b/actix_session/storage/struct.RedisSessionStore.html @@ -1,5 +1,4 @@ -RedisSessionStore in actix_session::storage - Rust -
pub struct RedisSessionStore { /* private fields */ }
Expand description

Use Redis as session storage backend.

+RedisSessionStore in actix_session::storage - Rust

Struct actix_session::storage::RedisSessionStore

source ·
pub struct RedisSessionStore { /* private fields */ }
Expand description

Use Redis as session storage backend.

use actix_web::{web, App, HttpServer, HttpResponse, Error};
 use actix_session::{SessionMiddleware, storage::RedisSessionStore};
@@ -44,7 +43,7 @@ It takes as input the only required input to create a new instance of 
source

pub async fn new<S: Into<String>>( connection_string: S -) -> Result<RedisSessionStore, Error>

Create a new instance of RedisSessionStore using the default configuration. +) -> Result<RedisSessionStore, Error>

Create a new instance of RedisSessionStore using the default configuration. It takes as input the only required input to create a new instance of RedisSessionStore - a connection string for Redis.

Trait Implementations§

source§

impl Clone for RedisSessionStore

source§

fn clone(&self) -> RedisSessionStore

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 SessionStore for RedisSessionStore

source§

async fn load( @@ -63,7 +62,7 @@ connection string for Redis.

&self, session_key: &SessionKey, ttl: &Duration -) -> Result<(), Error>

Updates the TTL of the session state associated to a pre-existing session key.
source§

async fn delete(&self, session_key: &SessionKey) -> Result<(), Error>

Deletes a session from the store.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +) -> Result<(), Error>

Updates the TTL of the session state associated to a pre-existing session key.
source§

async fn delete(&self, session_key: &SessionKey) -> Result<(), Error>

Deletes a session from the store.

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> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

@@ -75,8 +74,8 @@ connection string for Redis.

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.
§

impl<V, T> VZip<V> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_session/storage/struct.RedisSessionStoreBuilder.html b/actix_session/storage/struct.RedisSessionStoreBuilder.html index 65229f250..166318184 100644 --- a/actix_session/storage/struct.RedisSessionStoreBuilder.html +++ b/actix_session/storage/struct.RedisSessionStoreBuilder.html @@ -1,9 +1,8 @@ -RedisSessionStoreBuilder in actix_session::storage - Rust -
pub struct RedisSessionStoreBuilder { /* private fields */ }
Expand description

A fluent builder to construct a RedisSessionStore instance with custom configuration +RedisSessionStoreBuilder in actix_session::storage - Rust

Struct actix_session::storage::RedisSessionStoreBuilder

source ·
pub struct RedisSessionStoreBuilder { /* private fields */ }
Expand description

A fluent builder to construct a RedisSessionStore instance with custom configuration parameters.

Implementations§

source§

impl RedisSessionStoreBuilder

source

pub fn cache_keygen<F>(self, keygen: F) -> Self
where F: Fn(&str) -> String + 'static + Send + Sync,

Set a custom cache key generation strategy, expecting a session key as input.

-
source

pub async fn build(self) -> Result<RedisSessionStore, Error>

Finalise the builder and return a RedisSessionStore instance.

+
source

pub async fn build(self) -> Result<RedisSessionStore, Error>

Finalise the builder and return a RedisSessionStore instance.

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 @@ -15,8 +14,8 @@ parameters.

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

impl<V, T> VZip<V> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_session/storage/struct.SessionKey.html b/actix_session/storage/struct.SessionKey.html index 857282e67..c64d95d9a 100644 --- a/actix_session/storage/struct.SessionKey.html +++ b/actix_session/storage/struct.SessionKey.html @@ -1,5 +1,4 @@ -SessionKey in actix_session::storage - Rust -
pub struct SessionKey(/* private fields */);
Expand description

A session key, the string stored in a client-side cookie to associate a user with its session +SessionKey in actix_session::storage - Rust

Struct actix_session::storage::SessionKey

source ·
pub struct SessionKey(/* private fields */);
Expand description

A session key, the string stored in a client-side cookie to associate a user with its session state on the backend.

§Validation

Session keys are stored as cookies, therefore they cannot be arbitrary long. Session keys are @@ -23,8 +22,8 @@ sufficient, and should not be overridden without very good reason.

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

impl<V, T> VZip<V> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_session/storage/trait.SessionStore.html b/actix_session/storage/trait.SessionStore.html index 6b1d73acc..4346c8025 100644 --- a/actix_session/storage/trait.SessionStore.html +++ b/actix_session/storage/trait.SessionStore.html @@ -1,5 +1,4 @@ -SessionStore in actix_session::storage - Rust -
pub trait SessionStore {
+SessionStore in actix_session::storage - Rust

Trait actix_session::storage::SessionStore

source ·
pub trait SessionStore {
     // Required methods
     fn load(
         &self,
@@ -20,11 +19,11 @@
         &self,
         session_key: &SessionKey,
         ttl: &Duration
-    ) -> impl Future<Output = Result<(), Error>>;
+    ) -> impl Future<Output = Result<(), Error>>;
     fn delete(
         &self,
         session_key: &SessionKey
-    ) -> impl Future<Output = Result<(), Error>>;
+    ) -> impl Future<Output = Result<(), Error>>;
 }
Expand description

The interface to retrieve and save the current session data from/to the chosen storage backend.

You can provide your own custom session store backend by implementing this trait.

Required Methods§

source

fn load( @@ -47,9 +46,9 @@ &self, session_key: &SessionKey, ttl: &Duration -) -> impl Future<Output = Result<(), Error>>

Updates the TTL of the session state associated to a pre-existing session key.

+) -> impl Future<Output = Result<(), Error>>

Updates the TTL of the session state associated to a pre-existing session key.

source

fn delete( &self, session_key: &SessionKey -) -> impl Future<Output = Result<(), Error>>

Deletes a session from the store.

+) -> impl Future<Output = Result<(), Error>>

Deletes a session from the store.

Object Safety§

This trait is not object safe.

Implementors§

\ No newline at end of file diff --git a/actix_session/struct.Session.html b/actix_session/struct.Session.html index 9ac20b82d..9cd2a6430 100644 --- a/actix_session/struct.Session.html +++ b/actix_session/struct.Session.html @@ -1,5 +1,4 @@ -Session in actix_session - Rust -

Struct actix_session::Session

source ·
pub struct Session(/* private fields */);
Expand description

The primary interface to access and modify session state.

+Session in actix_session - Rust

Struct actix_session::Session

source ·
pub struct Session(/* private fields */);
Expand description

The primary interface to access and modify session state.

Session is an extractor—you can specify it as an input type for your request handlers and it will be automatically extracted from the incoming request.

@@ -17,7 +16,7 @@ request handlers and it will be automatically extracted from the incoming reques }

You can also retrieve a Session object from an HttpRequest or a ServiceRequest using SessionExt.

-

Implementations§

source§

impl Session

Implementations§

source§

impl Session

source

pub fn get<T: DeserializeOwned>( &self, key: &str ) -> Result<Option<T>, SessionGetError>

Get a value from the session.

@@ -25,7 +24,7 @@ request handlers and it will be automatically extracted from the incoming reques
source

pub fn entries(&self) -> Ref<'_, HashMap<String, String>>

Get all raw key-value data from the session.

Note that values are JSON encoded.

source

pub fn status(&self) -> SessionStatus

Returns session status.

-
source

pub fn insert<T: Serialize>( +

source

pub fn insert<T: Serialize>( &self, key: impl Into<String>, value: T @@ -35,7 +34,7 @@ only a reference to the value is taken.

It returns an error if it fails to serialize value to JSON.

source

pub fn remove(&self, key: &str) -> Option<String>

Remove value from the session.

If present, the JSON encoded value is returned.

-
source

pub fn remove_as<T: DeserializeOwned>( +

source

pub fn remove_as<T: DeserializeOwned>( &self, key: &str ) -> Option<Result<T, String>>

Remove value from the session and deserialize.

@@ -72,8 +71,8 @@ otherwise returns un-deserialized JSON string.

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.
§

impl<V, T> VZip<V> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_session/struct.SessionGetError.html b/actix_session/struct.SessionGetError.html index 93857bc4a..2f8974b69 100644 --- a/actix_session/struct.SessionGetError.html +++ b/actix_session/struct.SessionGetError.html @@ -1,6 +1,5 @@ -SessionGetError in actix_session - Rust -
pub struct SessionGetError(/* private fields */);
Expand description

Error returned by Session::get.

-

Trait Implementations§

source§

impl Debug for SessionGetError

source§

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

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

impl Display for SessionGetError

source§

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

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

impl Error for SessionGetError

source§

fn source(&self) -> Option<&(dyn StdError + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<Error> for SessionGetError

source§

fn from(original: Error) -> SessionGetError

Converts to this type from the input type.
source§

impl ResponseError for SessionGetError

source§

fn error_response(&self) -> HttpResponse<BoxBody>

Creates full response for error. Read more
§

fn status_code(&self) -> StatusCode

Returns appropriate status code for error. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +SessionGetError in actix_session - Rust

Struct actix_session::SessionGetError

source ·
pub struct SessionGetError(/* private fields */);
Expand description

Error returned by Session::get.

+

Trait Implementations§

source§

impl Debug for SessionGetError

source§

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

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

impl Display for SessionGetError

source§

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

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

impl Error for SessionGetError

source§

fn source(&self) -> Option<&(dyn StdError + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<Error> for SessionGetError

source§

fn from(original: Error) -> SessionGetError

Converts to this type from the input type.
source§

impl ResponseError for SessionGetError

source§

fn error_response(&self) -> HttpResponse<BoxBody>

Creates full response for error. Read more
§

fn status_code(&self) -> StatusCode

Returns appropriate status code for error. Read more

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> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

@@ -10,10 +9,10 @@ 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> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

impl<V, T> VZip<V> for T
where +

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_session/struct.SessionInsertError.html b/actix_session/struct.SessionInsertError.html index f7fe58bb5..cb16ba973 100644 --- a/actix_session/struct.SessionInsertError.html +++ b/actix_session/struct.SessionInsertError.html @@ -1,6 +1,5 @@ -SessionInsertError in actix_session - Rust -
pub struct SessionInsertError(/* private fields */);
Expand description

Error returned by Session::insert.

-

Trait Implementations§

source§

impl Debug for SessionInsertError

source§

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

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

impl Display for SessionInsertError

source§

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

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

impl Error for SessionInsertError

source§

fn source(&self) -> Option<&(dyn StdError + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<Error> for SessionInsertError

source§

fn from(original: Error) -> SessionInsertError

Converts to this type from the input type.
source§

impl ResponseError for SessionInsertError

source§

fn error_response(&self) -> HttpResponse<BoxBody>

Creates full response for error. Read more
§

fn status_code(&self) -> StatusCode

Returns appropriate status code for error. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +SessionInsertError in actix_session - Rust

Struct actix_session::SessionInsertError

source ·
pub struct SessionInsertError(/* private fields */);
Expand description

Error returned by Session::insert.

+

Trait Implementations§

source§

impl Debug for SessionInsertError

source§

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

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

impl Display for SessionInsertError

source§

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

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

impl Error for SessionInsertError

source§

fn source(&self) -> Option<&(dyn StdError + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<Error> for SessionInsertError

source§

fn from(original: Error) -> SessionInsertError

Converts to this type from the input type.
source§

impl ResponseError for SessionInsertError

source§

fn error_response(&self) -> HttpResponse<BoxBody>

Creates full response for error. Read more
§

fn status_code(&self) -> StatusCode

Returns appropriate status code for error. Read more

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> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

@@ -10,10 +9,10 @@ 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> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

impl<V, T> VZip<V> for T
where +

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_session/struct.SessionMiddleware.html b/actix_session/struct.SessionMiddleware.html index f51ddd751..051730a9b 100644 --- a/actix_session/struct.SessionMiddleware.html +++ b/actix_session/struct.SessionMiddleware.html @@ -1,5 +1,4 @@ -SessionMiddleware in actix_session - Rust -
pub struct SessionMiddleware<Store: SessionStore> { /* private fields */ }
Expand description

A middleware for session management in Actix Web applications.

+SessionMiddleware in actix_session - Rust

Struct actix_session::SessionMiddleware

source ·
pub struct SessionMiddleware<Store: SessionStore> { /* private fields */ }
Expand description

A middleware for session management in Actix Web applications.

SessionMiddleware takes care of a few jobs:

  • Instructs the session storage backend to create/update/delete/retrieve the state attached to @@ -114,8 +113,8 @@ parameters.

    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.
§

impl<V, T> VZip<V> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_session/trait.SessionExt.html b/actix_session/trait.SessionExt.html index cdadafebc..0e3d695fc 100644 --- a/actix_session/trait.SessionExt.html +++ b/actix_session/trait.SessionExt.html @@ -1,5 +1,4 @@ -SessionExt in actix_session - Rust -
pub trait SessionExt {
+SessionExt in actix_session - Rust

Trait actix_session::SessionExt

source ·
pub trait SessionExt {
     // Required method
     fn get_session(&self) -> Session;
 }
Expand description

Extract a Session object from various actix-web types (e.g. HttpRequest, diff --git a/actix_settings/all.html b/actix_settings/all.html index cd041768a..f277d75a0 100644 --- a/actix_settings/all.html +++ b/actix_settings/all.html @@ -1,2 +1 @@ -List of all items in this crate

-
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/actix_settings/enum.Backlog.html b/actix_settings/enum.Backlog.html index b54732277..f3fd3b96d 100644 --- a/actix_settings/enum.Backlog.html +++ b/actix_settings/enum.Backlog.html @@ -1,5 +1,4 @@ -Backlog in actix_settings - Rust -
pub enum Backlog {
+Backlog in actix_settings - Rust

Enum actix_settings::Backlog

source ·
pub enum Backlog {
     Default,
     Manual(usize),
 }
Expand description

The maximum number of pending connections.

@@ -10,8 +9,8 @@ under significant load.

“default”, or an integer N > 0 e.g. “6”.

Variants§

§

Default

The default number of connections. See struct docs.

§

Manual(usize)

A specific number of connections.

-

Trait Implementations§

source§

impl Clone for Backlog

source§

fn clone(&self) -> Backlog

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 Debug for Backlog

source§

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

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

impl<'de> Deserialize<'de> for Backlog

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where - D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Hash for Backlog

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where +

Trait Implementations§

source§

impl Clone for Backlog

source§

fn clone(&self) -> Backlog

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 Debug for Backlog

source§

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

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

impl<'de> Deserialize<'de> for Backlog

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where + D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Hash for Backlog

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Parse for Backlog

source§

fn parse(string: &str) -> Result<Self, Error>

Parse Self from string.
source§

impl PartialEq for Backlog

source§

fn eq(&self, other: &Backlog) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always @@ -31,10 +30,10 @@ sufficient, and should not be overridden without very good reason.
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.
§

impl<V, T> VZip<V> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +[WithDispatch] wrapper. Read more
source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

\ No newline at end of file diff --git a/actix_settings/enum.Error.html b/actix_settings/enum.Error.html index e486d5cee..25e7f6afe 100644 --- a/actix_settings/enum.Error.html +++ b/actix_settings/enum.Error.html @@ -1,5 +1,4 @@ -Error in actix_settings - Rust -
pub enum Error {
+Error in actix_settings - Rust

Enum actix_settings::Error

source ·
pub enum Error {
     EnvVarError(VarError),
     FileExists(PathBuf),
     InvalidValue {
@@ -23,7 +22,7 @@
 
§

ParseIntError(ParseIntError)

Value is not an integer.

§

ParseAddressError(String)

Value is not an address.

§

TomlError(Error)

Error deserializing as TOML.

-

Trait Implementations§

source§

impl Debug for Error

source§

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

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

impl Display for Error

source§

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

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

impl Error for Error

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<Error> for Error

source§

fn from(err: Error) -> Self

Converts to this type from the input type.
source§

impl From<Error> for Error

source§

fn from(err: Error) -> Self

Converts to this type from the input type.
source§

impl From<Error> for Error

source§

fn from(err: TomlError) -> Self

Converts to this type from the input type.
source§

impl From<ParseBoolError> for Error

source§

fn from(err: ParseBoolError) -> Self

Converts to this type from the input type.
source§

impl From<ParseIntError> for Error

source§

fn from(err: ParseIntError) -> Self

Converts to this type from the input type.
source§

impl From<VarError> for Error

source§

fn from(err: VarError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl Freeze for Error

§

impl !RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl !UnwindSafe for Error

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Debug for Error

source§

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

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

impl Display for Error

source§

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

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

impl Error for Error

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<Error> for Error

source§

fn from(err: Error) -> Self

Converts to this type from the input type.
source§

impl From<Error> for Error

source§

fn from(err: Error) -> Self

Converts to this type from the input type.
source§

impl From<Error> for Error

source§

fn from(err: TomlError) -> Self

Converts to this type from the input type.
source§

impl From<ParseBoolError> for Error

source§

fn from(err: ParseBoolError) -> Self

Converts to this type from the input type.
source§

impl From<ParseIntError> for Error

source§

fn from(err: ParseIntError) -> Self

Converts to this type from the input type.
source§

impl From<VarError> for Error

source§

fn from(err: VarError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl Freeze for Error

§

impl !RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl !UnwindSafe for Error

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.

@@ -33,10 +32,10 @@ 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> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

impl<V, T> VZip<V> for T
where +

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_settings/enum.KeepAlive.html b/actix_settings/enum.KeepAlive.html index 7a7259343..7c05ef774 100644 --- a/actix_settings/enum.KeepAlive.html +++ b/actix_settings/enum.KeepAlive.html @@ -1,5 +1,4 @@ -KeepAlive in actix_settings - Rust -
pub enum KeepAlive {
+KeepAlive in actix_settings - Rust

Enum actix_settings::KeepAlive

source ·
pub enum KeepAlive {
     Default,
     Disabled,
     Os,
@@ -12,8 +11,8 @@
 
§

Os

Let the OS determine keep-alive duration.

Note: this is usually quite long.

§

Seconds(usize)

A specific keep-alive duration (in seconds).

-

Trait Implementations§

source§

impl Clone for KeepAlive

source§

fn clone(&self) -> KeepAlive

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 Debug for KeepAlive

source§

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

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

impl<'de> Deserialize<'de> for KeepAlive

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where - D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Hash for KeepAlive

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where +

Trait Implementations§

source§

impl Clone for KeepAlive

source§

fn clone(&self) -> KeepAlive

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 Debug for KeepAlive

source§

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

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

impl<'de> Deserialize<'de> for KeepAlive

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where + D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Hash for KeepAlive

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Parse for KeepAlive

source§

fn parse(string: &str) -> Result<Self, Error>

Parse Self from string.
source§

impl PartialEq for KeepAlive

source§

fn eq(&self, other: &KeepAlive) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always @@ -33,10 +32,10 @@ sufficient, and should not be overridden without very good reason.
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.
§

impl<V, T> VZip<V> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +[WithDispatch] wrapper. Read more
source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

\ No newline at end of file diff --git a/actix_settings/enum.MaxConnectionRate.html b/actix_settings/enum.MaxConnectionRate.html index 9b65b7166..69b804407 100644 --- a/actix_settings/enum.MaxConnectionRate.html +++ b/actix_settings/enum.MaxConnectionRate.html @@ -1,5 +1,4 @@ -MaxConnectionRate in actix_settings - Rust -
pub enum MaxConnectionRate {
+MaxConnectionRate in actix_settings - Rust

Enum actix_settings::MaxConnectionRate

source ·
pub enum MaxConnectionRate {
     Default,
     Manual(usize),
 }
Expand description

The maximum per-worker concurrent TLS connection limit.

@@ -8,8 +7,8 @@ limit the global TLS CPU usage. By default max connections is set to a 256. Take value: Either “default”, or an integer N > 0 e.g. “6”.

Variants§

§

Default

The default connection limit. See struct docs.

§

Manual(usize)

A specific connection limit.

-

Trait Implementations§

source§

impl Clone for MaxConnectionRate

source§

fn clone(&self) -> MaxConnectionRate

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 Debug for MaxConnectionRate

source§

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

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

impl<'de> Deserialize<'de> for MaxConnectionRate

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where - D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Hash for MaxConnectionRate

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where +

Trait Implementations§

source§

impl Clone for MaxConnectionRate

source§

fn clone(&self) -> MaxConnectionRate

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 Debug for MaxConnectionRate

source§

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

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

impl<'de> Deserialize<'de> for MaxConnectionRate

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where + D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Hash for MaxConnectionRate

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Parse for MaxConnectionRate

source§

fn parse(string: &str) -> Result<Self, Error>

Parse Self from string.
source§

impl PartialEq for MaxConnectionRate

source§

fn eq(&self, other: &MaxConnectionRate) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always @@ -29,10 +28,10 @@ sufficient, and should not be overridden without very good reason.
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.
§

impl<V, T> VZip<V> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +[WithDispatch] wrapper. Read more
source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

\ No newline at end of file diff --git a/actix_settings/enum.MaxConnections.html b/actix_settings/enum.MaxConnections.html index db665e444..ceae5a724 100644 --- a/actix_settings/enum.MaxConnections.html +++ b/actix_settings/enum.MaxConnections.html @@ -1,5 +1,4 @@ -MaxConnections in actix_settings - Rust -
pub enum MaxConnections {
+MaxConnections in actix_settings - Rust

Enum actix_settings::MaxConnections

source ·
pub enum MaxConnections {
     Default,
     Manual(usize),
 }
Expand description

The maximum per-worker number of concurrent connections.

@@ -8,8 +7,8 @@ By default max connections is set to a 25k. Takes a string value: Either “defa integer N > 0 e.g. “6”.

Variants§

§

Default

The default number of connections. See struct docs.

§

Manual(usize)

A specific number of connections.

-

Trait Implementations§

source§

impl Clone for MaxConnections

source§

fn clone(&self) -> MaxConnections

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 Debug for MaxConnections

source§

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

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

impl<'de> Deserialize<'de> for MaxConnections

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where - D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Hash for MaxConnections

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where +

Trait Implementations§

source§

impl Clone for MaxConnections

source§

fn clone(&self) -> MaxConnections

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 Debug for MaxConnections

source§

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

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

impl<'de> Deserialize<'de> for MaxConnections

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where + D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Hash for MaxConnections

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Parse for MaxConnections

source§

fn parse(string: &str) -> Result<Self, Error>

Parse Self from string.
source§

impl PartialEq for MaxConnections

source§

fn eq(&self, other: &MaxConnections) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always @@ -29,10 +28,10 @@ sufficient, and should not be overridden without very good reason.
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.
§

impl<V, T> VZip<V> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +[WithDispatch] wrapper. Read more
source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

\ No newline at end of file diff --git a/actix_settings/enum.Mode.html b/actix_settings/enum.Mode.html index 0cb7bad1f..8121deb68 100644 --- a/actix_settings/enum.Mode.html +++ b/actix_settings/enum.Mode.html @@ -1,12 +1,11 @@ -Mode in actix_settings - Rust -

Enum actix_settings::Mode

source ·
pub enum Mode {
+Mode in actix_settings - Rust

Enum actix_settings::Mode

source ·
pub enum Mode {
     Development,
     Production,
 }
Expand description

Marker of intended deployment environment.

Variants§

§

Development

Marks development environment.

§

Production

Marks production environment.

-

Trait Implementations§

source§

impl Clone for Mode

source§

fn clone(&self) -> Mode

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 Debug for Mode

source§

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

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

impl<'de> Deserialize<'de> for Mode

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Hash for Mode

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where +

Trait Implementations§

source§

impl Clone for Mode

source§

fn clone(&self) -> Mode

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 Debug for Mode

source§

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

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

impl<'de> Deserialize<'de> for Mode

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Hash for Mode

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Parse for Mode

source§

fn parse(string: &str) -> Result<Self, Error>

Parse Self from string.
source§

impl PartialEq for Mode

source§

fn eq(&self, other: &Mode) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always @@ -26,10 +25,10 @@ sufficient, and should not be overridden without very good reason.
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.
§

impl<V, T> VZip<V> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +[WithDispatch] wrapper. Read more
source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

\ No newline at end of file diff --git a/actix_settings/enum.NumWorkers.html b/actix_settings/enum.NumWorkers.html index 767197619..5233280ef 100644 --- a/actix_settings/enum.NumWorkers.html +++ b/actix_settings/enum.NumWorkers.html @@ -1,5 +1,4 @@ -NumWorkers in actix_settings - Rust -
pub enum NumWorkers {
+NumWorkers in actix_settings - Rust

Enum actix_settings::NumWorkers

source ·
pub enum NumWorkers {
     Default,
     Manual(usize),
 }
Expand description

The number of workers that the server should start.

@@ -7,8 +6,8 @@ “default”, or an integer N > 0 e.g. “6”.

Variants§

§

Default

The default number of workers. See struct docs.

§

Manual(usize)

A specific number of workers.

-

Trait Implementations§

source§

impl Clone for NumWorkers

source§

fn clone(&self) -> NumWorkers

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 Debug for NumWorkers

source§

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

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

impl<'de> Deserialize<'de> for NumWorkers

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where - D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Hash for NumWorkers

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where +

Trait Implementations§

source§

impl Clone for NumWorkers

source§

fn clone(&self) -> NumWorkers

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 Debug for NumWorkers

source§

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

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

impl<'de> Deserialize<'de> for NumWorkers

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where + D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Hash for NumWorkers

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Parse for NumWorkers

source§

fn parse(string: &str) -> Result<Self, Error>

Parse Self from string.
source§

impl PartialEq for NumWorkers

source§

fn eq(&self, other: &NumWorkers) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always @@ -28,10 +27,10 @@ sufficient, and should not be overridden without very good reason.
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.
§

impl<V, T> VZip<V> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +[WithDispatch] wrapper. Read more
source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

\ No newline at end of file diff --git a/actix_settings/enum.Timeout.html b/actix_settings/enum.Timeout.html index 979f91da1..9966aed3b 100644 --- a/actix_settings/enum.Timeout.html +++ b/actix_settings/enum.Timeout.html @@ -1,5 +1,4 @@ -Timeout in actix_settings - Rust -
pub enum Timeout {
+Timeout in actix_settings - Rust

Enum actix_settings::Timeout

source ·
pub enum Timeout {
     Default,
     Milliseconds(usize),
     Seconds(usize),
@@ -7,8 +6,8 @@
 

Variants§

§

Default

The default timeout. Depends on context.

§

Milliseconds(usize)

Timeout in milliseconds.

§

Seconds(usize)

Timeout in seconds.

-

Trait Implementations§

source§

impl Clone for Timeout

source§

fn clone(&self) -> Timeout

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 Debug for Timeout

source§

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

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

impl<'de> Deserialize<'de> for Timeout

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where - D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Hash for Timeout

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where +

Trait Implementations§

source§

impl Clone for Timeout

source§

fn clone(&self) -> Timeout

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 Debug for Timeout

source§

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

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

impl<'de> Deserialize<'de> for Timeout

source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where + D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Hash for Timeout

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Parse for Timeout

source§

fn parse(string: &str) -> Result<Self, Error>

Parse Self from string.
source§

impl PartialEq for Timeout

source§

fn eq(&self, other: &Timeout) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always @@ -28,10 +27,10 @@ sufficient, and should not be overridden without very good reason.
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.
§

impl<V, T> VZip<V> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +[WithDispatch] wrapper. Read more
source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

\ No newline at end of file diff --git a/actix_settings/index.html b/actix_settings/index.html index 5e77d23d4..dd698560e 100644 --- a/actix_settings/index.html +++ b/actix_settings/index.html @@ -1,6 +1,4 @@ -actix_settings - Rust -

Crate actix_settings

source ·
Expand description

Easily manage Actix Web’s settings from a TOML file and environment variables.

+actix_settings - Rust

Crate actix_settings

source ·
Expand description

Easily manage Actix Web’s settings from a TOML file and environment variables.

To get started add a Settings::parse_toml("./Server.toml") call to the top of your main function. This will create a template file with descriptions of all the configurable settings. You can change or remove anything in that file and it will be picked up diff --git a/actix_settings/struct.ActixSettings.html b/actix_settings/struct.ActixSettings.html index ee7cf428c..922b36a50 100644 --- a/actix_settings/struct.ActixSettings.html +++ b/actix_settings/struct.ActixSettings.html @@ -1,5 +1,4 @@ -ActixSettings in actix_settings - Rust

-
pub struct ActixSettings {
Show 13 fields +ActixSettings in actix_settings - Rust

Struct actix_settings::ActixSettings

source ·
pub struct ActixSettings {
Show 13 fields pub hosts: Vec<Address>, pub mode: Mode, pub enable_compression: bool, @@ -35,8 +34,8 @@ S::InitError: Debug, S::Response: Into<Response<B>> + 'static, S::Future: 'static, - B: MessageBody + 'static,
source§

fn apply_settings(self, settings: &ActixSettings) -> Self

Apply some settings object value to self.
source§

impl Clone for ActixSettings

source§

fn clone(&self) -> ActixSettings

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 Debug for ActixSettings

source§

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

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

impl<'de> Deserialize<'de> for ActixSettings

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Hash for ActixSettings

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where + B: MessageBody + 'static,

source§

fn apply_settings(self, settings: &ActixSettings) -> Self

Apply some settings object value to self.
source§

impl Clone for ActixSettings

source§

fn clone(&self) -> ActixSettings

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 Debug for ActixSettings

source§

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

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

impl<'de> Deserialize<'de> for ActixSettings

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Hash for ActixSettings

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for ActixSettings

source§

fn eq(&self, other: &ActixSettings) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always @@ -56,10 +55,10 @@ sufficient, and should not be overridden without very good reason.
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.
§

impl<V, T> VZip<V> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +[WithDispatch] wrapper. Read more
source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

\ No newline at end of file diff --git a/actix_settings/struct.Address.html b/actix_settings/struct.Address.html index d882ae975..c4fbe9343 100644 --- a/actix_settings/struct.Address.html +++ b/actix_settings/struct.Address.html @@ -1,12 +1,11 @@ -Address in actix_settings - Rust -

Struct actix_settings::Address

source ·
pub struct Address {
+Address in actix_settings - Rust

Struct actix_settings::Address

source ·
pub struct Address {
     pub host: String,
     pub port: u16,
 }
Expand description

A host/port pair for the server to bind to.

Fields§

§host: String

Host part of address.

§port: u16

Port part of address.

-

Trait Implementations§

source§

impl Clone for Address

source§

fn clone(&self) -> Address

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 Debug for Address

source§

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

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

impl<'de> Deserialize<'de> for Address

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Hash for Address

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where +

Trait Implementations§

source§

impl Clone for Address

source§

fn clone(&self) -> Address

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 Debug for Address

source§

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

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

impl<'de> Deserialize<'de> for Address

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Hash for Address

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Parse for Address

source§

fn parse(string: &str) -> Result<Self, Error>

Parse Self from string.
source§

impl PartialEq for Address

source§

fn eq(&self, other: &Address) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always @@ -26,10 +25,10 @@ sufficient, and should not be overridden without very good reason.
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.
§

impl<V, T> VZip<V> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +[WithDispatch] wrapper. Read more
source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

\ No newline at end of file diff --git a/actix_settings/struct.BasicSettings.html b/actix_settings/struct.BasicSettings.html index 14f5ce6db..89bcc6ffb 100644 --- a/actix_settings/struct.BasicSettings.html +++ b/actix_settings/struct.BasicSettings.html @@ -1,12 +1,11 @@ -BasicSettings in actix_settings - Rust -
pub struct BasicSettings<A> {
+BasicSettings in actix_settings - Rust

Struct actix_settings::BasicSettings

source ·
pub struct BasicSettings<A> {
     pub actix: ActixSettings,
     pub application: A,
 }
Expand description

Wrapper for server and application-specific settings.

Fields§

§actix: ActixSettings

Actix Web server settings.

§application: A

Application-specific settings.

Implementations§

source§

impl<A> BasicSettings<A>
where - A: DeserializeOwned,

source

pub fn parse_toml<P>(filepath: P) -> Result<Self, Error>
where + A: DeserializeOwned,

source

pub fn parse_toml<P>(filepath: P) -> Result<Self, Error>
where P: AsRef<Path>,

Parse an instance of Self from a TOML file located at filepath.

If the file doesn’t exist, it is generated from the default TOML template, after which the newly generated file is read in and parsed.

@@ -53,9 +52,9 @@ Settings::override_field_with_env_var(&mut setting S::Response: Into<Response<B>> + 'static, S::Future: 'static, B: MessageBody + 'static, - A: DeserializeOwned,
source§

fn apply_settings(self, settings: &BasicSettings<A>) -> Self

Apply some settings object value to self.
source§

impl<A: Clone> Clone for BasicSettings<A>

source§

fn clone(&self) -> BasicSettings<A>

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<A: Debug> Debug for BasicSettings<A>

source§

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

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

impl<'de, A> Deserialize<'de> for BasicSettings<A>
where - A: Deserialize<'de>,

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<A: Hash> Hash for BasicSettings<A>

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where + A: DeserializeOwned,

source§

fn apply_settings(self, settings: &BasicSettings<A>) -> Self

Apply some settings object value to self.
source§

impl<A: Clone> Clone for BasicSettings<A>

source§

fn clone(&self) -> BasicSettings<A>

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<A: Debug> Debug for BasicSettings<A>

source§

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

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

impl<'de, A> Deserialize<'de> for BasicSettings<A>
where + A: Deserialize<'de>,

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<A: Hash> Hash for BasicSettings<A>

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl<A: PartialEq> PartialEq for BasicSettings<A>

source§

fn eq(&self, other: &BasicSettings<A>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always @@ -81,10 +80,10 @@ sufficient, and should not be overridden without very good reason.
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.
§

impl<V, T> VZip<V> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +[WithDispatch] wrapper. Read more
source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

\ No newline at end of file diff --git a/actix_settings/struct.NoSettings.html b/actix_settings/struct.NoSettings.html index 5e4e7d550..d55b6e534 100644 --- a/actix_settings/struct.NoSettings.html +++ b/actix_settings/struct.NoSettings.html @@ -1,7 +1,6 @@ -NoSettings in actix_settings - Rust -
#[non_exhaustive]
pub struct NoSettings {}
Expand description

Marker type representing no defined application-specific settings.

-

Trait Implementations§

source§

impl Clone for NoSettings

source§

fn clone(&self) -> NoSettings

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 Debug for NoSettings

source§

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

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

impl<'de> Deserialize<'de> for NoSettings

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Hash for NoSettings

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where +NoSettings in actix_settings - Rust

Struct actix_settings::NoSettings

source ·
#[non_exhaustive]
pub struct NoSettings {}
Expand description

Marker type representing no defined application-specific settings.

+

Trait Implementations§

source§

impl Clone for NoSettings

source§

fn clone(&self) -> NoSettings

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 Debug for NoSettings

source§

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

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

impl<'de> Deserialize<'de> for NoSettings

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Hash for NoSettings

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for NoSettings

source§

fn eq(&self, other: &NoSettings) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always @@ -21,10 +20,10 @@ sufficient, and should not be overridden without very good reason.
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.
§

impl<V, T> VZip<V> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +[WithDispatch] wrapper. Read more
source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

\ No newline at end of file diff --git a/actix_settings/struct.Tls.html b/actix_settings/struct.Tls.html index b3d5cc76a..05db48d83 100644 --- a/actix_settings/struct.Tls.html +++ b/actix_settings/struct.Tls.html @@ -1,5 +1,4 @@ -Tls in actix_settings - Rust -

Struct actix_settings::Tls

source ·
pub struct Tls {
+Tls in actix_settings - Rust

Struct actix_settings::Tls

source ·
pub struct Tls {
     pub enabled: bool,
     pub certificate: PathBuf,
     pub private_key: PathBuf,
@@ -7,8 +6,8 @@
 

Fields§

§enabled: bool

Tru if accepting TLS connections should be enabled.

§certificate: PathBuf

Path to certificate .pem file.

§private_key: PathBuf

Path to private key .pem file.

-

Trait Implementations§

source§

impl Clone for Tls

source§

fn clone(&self) -> Tls

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 Debug for Tls

source§

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

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

impl<'de> Deserialize<'de> for Tls

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Hash for Tls

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where +

Trait Implementations§

source§

impl Clone for Tls

source§

fn clone(&self) -> Tls

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 Debug for Tls

source§

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

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

impl<'de> Deserialize<'de> for Tls

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Hash for Tls

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for Tls

source§

fn eq(&self, other: &Tls) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always @@ -28,10 +27,10 @@ sufficient, and should not be overridden without very good reason.
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.
§

impl<V, T> VZip<V> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file +[WithDispatch] wrapper. Read more
source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

\ No newline at end of file diff --git a/actix_settings/trait.ApplySettings.html b/actix_settings/trait.ApplySettings.html index dc62df043..2daec8f9d 100644 --- a/actix_settings/trait.ApplySettings.html +++ b/actix_settings/trait.ApplySettings.html @@ -1,5 +1,4 @@ -ApplySettings in actix_settings - Rust -
pub trait ApplySettings<S> {
+ApplySettings in actix_settings - Rust

Trait actix_settings::ApplySettings

source ·
pub trait ApplySettings<S> {
     // Required method
     fn apply_settings(self, settings: &S) -> Self;
 }
Expand description

Extension trait for applying parsed settings to the server object.

@@ -21,4 +20,4 @@ S::Response: Into<Response<B>> + 'static, S::Future: 'static, B: MessageBody + 'static, - A: DeserializeOwned,
source§

fn apply_settings(self, settings: &BasicSettings<A>) -> Self

Implementors§

\ No newline at end of file + A: DeserializeOwned,
source§

fn apply_settings(self, settings: &BasicSettings<A>) -> Self

Implementors§

\ No newline at end of file diff --git a/actix_settings/trait.Parse.html b/actix_settings/trait.Parse.html index fa97abd42..0ff06c2c7 100644 --- a/actix_settings/trait.Parse.html +++ b/actix_settings/trait.Parse.html @@ -1,5 +1,4 @@ -Parse in actix_settings - Rust -

Trait actix_settings::Parse

source ·
pub trait Parse: Sized {
+Parse in actix_settings - Rust

Trait actix_settings::Parse

source ·
pub trait Parse: Sized {
     // Required method
     fn parse(string: &str) -> Result<Self, Error>;
 }
Expand description

A specialized FromStr trait that returns Error errors

diff --git a/actix_settings/type.Settings.html b/actix_settings/type.Settings.html index 15863c47c..da552e911 100644 --- a/actix_settings/type.Settings.html +++ b/actix_settings/type.Settings.html @@ -1,5 +1,4 @@ -Settings in actix_settings - Rust -

Type Alias actix_settings::Settings

source ·
pub type Settings = BasicSettings<NoSettings>;
Expand description

Convenience type alias for BasicSettings with no defined application-specific settings.

+Settings in actix_settings - Rust

Type Alias actix_settings::Settings

source ·
pub type Settings = BasicSettings<NoSettings>;
Expand description

Convenience type alias for BasicSettings with no defined application-specific settings.

Aliased Type§

struct Settings {
     pub actix: ActixSettings,
     pub application: NoSettings,
diff --git a/actix_web_httpauth/all.html b/actix_web_httpauth/all.html
index 8c264ebdf..6c6f03b46 100644
--- a/actix_web_httpauth/all.html
+++ b/actix_web_httpauth/all.html
@@ -1,2 +1 @@
-List of all items in this crate
-    
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/actix_web_httpauth/extractors/basic/index.html b/actix_web_httpauth/extractors/basic/index.html index b2430614f..d691bdf7c 100644 --- a/actix_web_httpauth/extractors/basic/index.html +++ b/actix_web_httpauth/extractors/basic/index.html @@ -1,3 +1,2 @@ -actix_web_httpauth::extractors::basic - Rust -
Expand description

Extractor for the “Basic” HTTP Authentication Scheme.

+actix_web_httpauth::extractors::basic - Rust

Module actix_web_httpauth::extractors::basic

source ·
Expand description

Extractor for the “Basic” HTTP Authentication Scheme.

Structs§

\ No newline at end of file diff --git a/actix_web_httpauth/extractors/basic/struct.BasicAuth.html b/actix_web_httpauth/extractors/basic/struct.BasicAuth.html index 98a97d0da..889130f18 100644 --- a/actix_web_httpauth/extractors/basic/struct.BasicAuth.html +++ b/actix_web_httpauth/extractors/basic/struct.BasicAuth.html @@ -1,5 +1,4 @@ -BasicAuth in actix_web_httpauth::extractors::basic - Rust -
pub struct BasicAuth(/* private fields */);
Expand description

Extractor for HTTP Basic auth.

+BasicAuth in actix_web_httpauth::extractors::basic - Rust

Struct actix_web_httpauth::extractors::basic::BasicAuth

source ·
pub struct BasicAuth(/* private fields */);
Expand description

Extractor for HTTP Basic auth.

§Examples

use actix_web_httpauth::extractors::basic::BasicAuth;
 
@@ -36,8 +35,8 @@ App::new()
 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.
§

impl<V, T> VZip<V> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_web_httpauth/extractors/basic/struct.Config.html b/actix_web_httpauth/extractors/basic/struct.Config.html index 5480ae2a7..27e2d2fd6 100644 --- a/actix_web_httpauth/extractors/basic/struct.Config.html +++ b/actix_web_httpauth/extractors/basic/struct.Config.html @@ -1,5 +1,4 @@ -Config in actix_web_httpauth::extractors::basic - Rust -
pub struct Config(/* private fields */);
Expand description

BasicAuth extractor configuration used for WWW-Authenticate header later.

+Config in actix_web_httpauth::extractors::basic - Rust

Struct actix_web_httpauth::extractors::basic::Config

source ·
pub struct Config(/* private fields */);
Expand description

BasicAuth extractor configuration used for WWW-Authenticate header later.

Implementations§

source§

impl Config

source

pub fn realm<T>(self, value: T) -> Config
where T: Into<Cow<'static, str>>,

Set challenge realm attribute.

The “realm” attribute indicates the scope of protection in the manner described in HTTP/1.1 @@ -16,8 +15,8 @@ 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.
§

impl<V, T> VZip<V> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_web_httpauth/extractors/bearer/enum.Error.html b/actix_web_httpauth/extractors/bearer/enum.Error.html index 702b1224f..af882b718 100644 --- a/actix_web_httpauth/extractors/bearer/enum.Error.html +++ b/actix_web_httpauth/extractors/bearer/enum.Error.html @@ -1,5 +1,4 @@ -Error in actix_web_httpauth::extractors::bearer - Rust -
pub enum Error {
+Error in actix_web_httpauth::extractors::bearer - Rust

Enum actix_web_httpauth::extractors::bearer::Error

source ·
pub enum Error {
     InvalidRequest,
     InvalidToken,
     InsufficientScope,
@@ -10,7 +9,7 @@ or is otherwise malformed.

§

InvalidToken

The access token provided is expired, revoked, malformed, or invalid for other reasons.

§

InsufficientScope

The request requires higher privileges than provided by the access token.

Implementations§

source§

impl Error

source

pub fn status_code(&self) -> StatusCode

Returns HTTP status code suitable for current error type.

-

Trait Implementations§

source§

impl Clone for Error

source§

fn clone(&self) -> Error

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 Debug for Error

source§

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

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

impl Display for Error

source§

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

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

impl Hash for Error

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where +

Trait Implementations§

source§

impl Clone for Error

source§

fn clone(&self) -> Error

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 Debug for Error

source§

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

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

impl Display for Error

source§

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

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

impl Hash for Error

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for Error

source§

fn cmp(&self, other: &Error) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where @@ -30,10 +29,10 @@ operator. 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> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

impl<V, T> VZip<V> 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> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_web_httpauth/extractors/bearer/index.html b/actix_web_httpauth/extractors/bearer/index.html index c9da8964f..3f75a885d 100644 --- a/actix_web_httpauth/extractors/bearer/index.html +++ b/actix_web_httpauth/extractors/bearer/index.html @@ -1,3 +1,2 @@ -actix_web_httpauth::extractors::bearer - Rust -
Expand description

Extractor for the “Bearer” HTTP Authentication Scheme.

+actix_web_httpauth::extractors::bearer - Rust

Module actix_web_httpauth::extractors::bearer

source ·
Expand description

Extractor for the “Bearer” HTTP Authentication Scheme.

Structs§

Enums§

\ No newline at end of file diff --git a/actix_web_httpauth/extractors/bearer/struct.BearerAuth.html b/actix_web_httpauth/extractors/bearer/struct.BearerAuth.html index b780d20a5..abd7729ef 100644 --- a/actix_web_httpauth/extractors/bearer/struct.BearerAuth.html +++ b/actix_web_httpauth/extractors/bearer/struct.BearerAuth.html @@ -1,5 +1,4 @@ -BearerAuth in actix_web_httpauth::extractors::bearer - Rust -
pub struct BearerAuth(/* private fields */);
Expand description

Extractor for HTTP Bearer auth

+BearerAuth in actix_web_httpauth::extractors::bearer - Rust

Struct actix_web_httpauth::extractors::bearer::BearerAuth

source ·
pub struct BearerAuth(/* private fields */);
Expand description

Extractor for HTTP Bearer auth

§Examples

use actix_web_httpauth::extractors::bearer::BearerAuth;
 
@@ -40,8 +39,8 @@ App::new()
 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.
§

impl<V, T> VZip<V> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_web_httpauth/extractors/bearer/struct.Config.html b/actix_web_httpauth/extractors/bearer/struct.Config.html index 715cc1de8..551156581 100644 --- a/actix_web_httpauth/extractors/bearer/struct.Config.html +++ b/actix_web_httpauth/extractors/bearer/struct.Config.html @@ -1,5 +1,4 @@ -Config in actix_web_httpauth::extractors::bearer - Rust -
pub struct Config(/* private fields */);
Expand description

BearerAuth extractor configuration.

+Config in actix_web_httpauth::extractors::bearer - Rust

Struct actix_web_httpauth::extractors::bearer::Config

source ·
pub struct Config(/* private fields */);
Expand description

BearerAuth extractor configuration.

Implementations§

source§

impl Config

source

pub fn scope<T: Into<Cow<'static, str>>>(self, value: T) -> Config

Set challenge scope attribute.

The "scope" attribute is a space-delimited list of case-sensitive scope values indicating the required scope of the access token for @@ -19,8 +18,8 @@ described in HTTP/1.1 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.
§

impl<V, T> VZip<V> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_web_httpauth/extractors/index.html b/actix_web_httpauth/extractors/index.html index 0c55e3483..cf531f473 100644 --- a/actix_web_httpauth/extractors/index.html +++ b/actix_web_httpauth/extractors/index.html @@ -1,4 +1,3 @@ -actix_web_httpauth::extractors - Rust -
Expand description

Type-safe authentication information extractors.

+actix_web_httpauth::extractors - Rust

Module actix_web_httpauth::extractors

source ·
Expand description

Type-safe authentication information extractors.

Modules§

  • Extractor for the “Basic” HTTP Authentication Scheme.
  • Extractor for the “Bearer” HTTP Authentication Scheme.

Structs§

Traits§

\ No newline at end of file diff --git a/actix_web_httpauth/extractors/struct.AuthenticationError.html b/actix_web_httpauth/extractors/struct.AuthenticationError.html index 9c6a4ee1f..cce3f8c99 100644 --- a/actix_web_httpauth/extractors/struct.AuthenticationError.html +++ b/actix_web_httpauth/extractors/struct.AuthenticationError.html @@ -1,5 +1,4 @@ -AuthenticationError in actix_web_httpauth::extractors - Rust -
pub struct AuthenticationError<C: Challenge> { /* private fields */ }
Expand description

Authentication error returned by authentication extractors.

+AuthenticationError in actix_web_httpauth::extractors - Rust
pub struct AuthenticationError<C: Challenge> { /* private fields */ }
Expand description

Authentication error returned by authentication extractors.

Different extractors may extend AuthenticationError implementation in order to provide access inner challenge fields.

Implementations§

source§

impl AuthenticationError<Bearer>

Extended error customization for HTTP Bearer auth.

@@ -17,14 +16,12 @@ Error.

source

pub fn status_code_mut(&mut self) -> &mut StatusCode

Returns mutable reference to the inner status code.

Can be used to override returned status code, but by default this lib tries to stick to the RFC, so it might be unreasonable.

-

Trait Implementations§

source§

impl<C: Debug + Challenge> Debug for AuthenticationError<C>

source§

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

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

impl<C: Challenge> Display for AuthenticationError<C>

source§

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

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

impl<C: Challenge + 'static> Error for AuthenticationError<C>

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl<T> From<T> for AuthenticationError<<T as AuthExtractorConfig>::Inner>
where +

Trait Implementations§

source§

impl<C: Debug + Challenge> Debug for AuthenticationError<C>

source§

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

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

impl<C: Challenge> Display for AuthenticationError<C>

source§

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

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

impl<C: Challenge + 'static> Error for AuthenticationError<C>

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl<T> From<T> for AuthenticationError<<T as AuthExtractorConfig>::Inner>

source§

fn from(config: T) -> Self

Converts to this type from the input type.
source§

impl<C: Challenge + 'static> ResponseError for AuthenticationError<C>

source§

fn status_code(&self) -> StatusCode

Returns appropriate status code for error. Read more
source§

fn error_response(&self) -> HttpResponse

Creates full response for error. Read more

Auto Trait Implementations§

§

impl<C> Freeze for AuthenticationError<C>
where - C: Sync + Send + Clone + Display + Debug + TryIntoHeaderValue + Freeze,

§

impl<C> RefUnwindSafe for AuthenticationError<C>
where - C: Sync + Send + Clone + Display + Debug + TryIntoHeaderValue + RefUnwindSafe,

§

impl<C> Send for AuthenticationError<C>
where - C: Sync + Send + Clone + Display + Debug + TryIntoHeaderValue,

§

impl<C> Sync for AuthenticationError<C>
where - C: Sync + Send + Clone + Display + Debug + TryIntoHeaderValue,

§

impl<C> Unpin for AuthenticationError<C>
where - C: Sync + Send + Clone + Display + Debug + TryIntoHeaderValue + Unpin,

§

impl<C> UnwindSafe for AuthenticationError<C>
where - C: Sync + Send + Clone + Display + Debug + TryIntoHeaderValue + UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where + C: Freeze,

§

impl<C> RefUnwindSafe for AuthenticationError<C>
where + C: RefUnwindSafe,

§

impl<C> Send for AuthenticationError<C>

§

impl<C> Sync for AuthenticationError<C>

§

impl<C> Unpin for AuthenticationError<C>
where + C: Unpin,

§

impl<C> UnwindSafe for AuthenticationError<C>
where + C: 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.

@@ -34,10 +31,10 @@ RFC, so it might be unreasonable.

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> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

impl<V, T> VZip<V> for T
where +

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_web_httpauth/extractors/trait.AuthExtractorConfig.html b/actix_web_httpauth/extractors/trait.AuthExtractorConfig.html index f7e8d7af2..c14e481b8 100644 --- a/actix_web_httpauth/extractors/trait.AuthExtractorConfig.html +++ b/actix_web_httpauth/extractors/trait.AuthExtractorConfig.html @@ -1,5 +1,4 @@ -AuthExtractorConfig in actix_web_httpauth::extractors - Rust -
pub trait AuthExtractorConfig {
+AuthExtractorConfig in actix_web_httpauth::extractors - Rust
pub trait AuthExtractorConfig {
     type Inner: Challenge;
 
     // Required method
diff --git a/actix_web_httpauth/headers/authorization/enum.ParseError.html b/actix_web_httpauth/headers/authorization/enum.ParseError.html
index 7540147e5..79e579c9f 100644
--- a/actix_web_httpauth/headers/authorization/enum.ParseError.html
+++ b/actix_web_httpauth/headers/authorization/enum.ParseError.html
@@ -1,5 +1,4 @@
-ParseError in actix_web_httpauth::headers::authorization - Rust
-    
pub enum ParseError {
+ParseError in actix_web_httpauth::headers::authorization - Rust
pub enum ParseError {
     Invalid,
     MissingScheme,
     MissingField(&'static str),
@@ -15,7 +14,7 @@
 
§

ToStrError(ToStrError)

Unable to convert header into the str.

§

Base64DecodeError(DecodeError)

Malformed base64 string.

§

Utf8Error(Utf8Error)

Malformed UTF-8 string.

-

Trait Implementations§

source§

impl Debug for ParseError

source§

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

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

impl Display for ParseError

source§

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

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

impl Error for ParseError

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<DecodeError> for ParseError

source§

fn from(err: DecodeError) -> Self

Converts to this type from the input type.
source§

impl From<ToStrError> for ParseError

source§

fn from(err: ToStrError) -> Self

Converts to this type from the input type.
source§

impl From<Utf8Error> for ParseError

source§

fn from(err: Utf8Error) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Debug for ParseError

source§

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

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

impl Display for ParseError

source§

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

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

impl Error for ParseError

source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<DecodeError> for ParseError

source§

fn from(err: DecodeError) -> Self

Converts to this type from the input type.
source§

impl From<ToStrError> for ParseError

source§

fn from(err: ToStrError) -> Self

Converts to this type from the input type.
source§

impl From<Utf8Error> for ParseError

source§

fn from(err: Utf8Error) -> Self

Converts to this type from the input type.

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> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

@@ -25,10 +24,10 @@ 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> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

impl<V, T> VZip<V> for T
where +

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_web_httpauth/headers/authorization/index.html b/actix_web_httpauth/headers/authorization/index.html index 52cf669a9..dab3c90f1 100644 --- a/actix_web_httpauth/headers/authorization/index.html +++ b/actix_web_httpauth/headers/authorization/index.html @@ -1,3 +1,2 @@ -actix_web_httpauth::headers::authorization - Rust -
Expand description

Authorization header and various auth schemes.

+actix_web_httpauth::headers::authorization - Rust

Module actix_web_httpauth::headers::authorization

source ·
Expand description

Authorization header and various auth schemes.

Structs§

Enums§

  • Possible errors while parsing Authorization header.

Traits§

\ No newline at end of file diff --git a/actix_web_httpauth/headers/authorization/struct.Authorization.html b/actix_web_httpauth/headers/authorization/struct.Authorization.html index af7357468..de72af684 100644 --- a/actix_web_httpauth/headers/authorization/struct.Authorization.html +++ b/actix_web_httpauth/headers/authorization/struct.Authorization.html @@ -1,5 +1,4 @@ -Authorization in actix_web_httpauth::headers::authorization - Rust -
pub struct Authorization<S: Scheme>(/* private fields */);
Expand description

Authorization header, defined in RFC 7235

+Authorization in actix_web_httpauth::headers::authorization - Rust
pub struct Authorization<S: Scheme>(/* private fields */);
Expand description

Authorization header, defined in RFC 7235

The “Authorization” header field allows a user agent to authenticate itself with an origin server—usually, but not necessarily, after receiving a 401 (Unauthorized) response. Its value consists of credentials containing the authentication information of the user agent for the @@ -12,7 +11,7 @@ realm of the resource being requested.

Ok(format!("Hello, {}!", auth.as_ref().user_id())) }

Implementations§

source§

impl<S: Scheme> Authorization<S>

source

pub fn into_scheme(self) -> S

Consumes Authorization header and returns inner Scheme implementation.

-

Trait Implementations§

source§

impl<S: Scheme> AsMut<S> for Authorization<S>

source§

fn as_mut(&mut self) -> &mut S

Converts this type into a mutable reference of the (usually inferred) input type.
source§

impl<S: Scheme> AsRef<S> for Authorization<S>

source§

fn as_ref(&self) -> &S

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl<S: Clone + Scheme> Clone for Authorization<S>

source§

fn clone(&self) -> Authorization<S>

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: Debug + Scheme> Debug for Authorization<S>

source§

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

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

impl<S: Default + Scheme> Default for Authorization<S>

source§

fn default() -> Authorization<S>

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

impl<S: Scheme> Display for Authorization<S>

source§

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

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

impl<S: Scheme> From<S> for Authorization<S>

source§

fn from(scheme: S) -> Authorization<S>

Converts to this type from the input type.
source§

impl<S: Hash + Scheme> Hash for Authorization<S>

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where +

Trait Implementations§

source§

impl<S: Scheme> AsMut<S> for Authorization<S>

source§

fn as_mut(&mut self) -> &mut S

Converts this type into a mutable reference of the (usually inferred) input type.
source§

impl<S: Scheme> AsRef<S> for Authorization<S>

source§

fn as_ref(&self) -> &S

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl<S: Clone + Scheme> Clone for Authorization<S>

source§

fn clone(&self) -> Authorization<S>

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: Debug + Scheme> Debug for Authorization<S>

source§

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

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

impl<S: Default + Scheme> Default for Authorization<S>

source§

fn default() -> Authorization<S>

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

impl<S: Scheme> Display for Authorization<S>

source§

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

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

impl<S: Scheme> From<S> for Authorization<S>

source§

fn from(scheme: S) -> Authorization<S>

Converts to this type from the input type.
source§

impl<S: Hash + Scheme> Hash for Authorization<S>

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl<S: Scheme> Header for Authorization<S>

source§

fn name() -> HeaderName

Returns the name of the header field.
source§

fn parse<T: HttpMessage>(msg: &T) -> Result<Self, ParseError>

Parse the header from a HTTP message.
source§

impl<S: Ord + Scheme> Ord for Authorization<S>

source§

fn cmp(&self, other: &Authorization<S>) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where @@ -22,12 +21,10 @@ by ==.

source§

impl<S: PartialOrd + Scheme> PartialOrd for Authorization<S>

source§

fn partial_cmp(&self, other: &Authorization<S>) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl<S: Scheme> TryIntoHeaderValue for Authorization<S>

§

type Error = <S as TryIntoHeaderValue>::Error

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

fn try_into_value(self) -> Result<HeaderValue, Self::Error>

Try to convert value to a HeaderValue.
source§

impl<S: Eq + Scheme> Eq for Authorization<S>

source§

impl<S: Scheme> StructuralPartialEq for Authorization<S>

Auto Trait Implementations§

§

impl<S> Freeze for Authorization<S>
where - S: Sync + Send + Clone + Display + Debug + TryIntoHeaderValue + Freeze,

§

impl<S> RefUnwindSafe for Authorization<S>
where - S: Sync + Send + Clone + Display + Debug + TryIntoHeaderValue + RefUnwindSafe,

§

impl<S> Send for Authorization<S>
where - S: Sync + Send + Clone + Display + Debug + TryIntoHeaderValue,

§

impl<S> Sync for Authorization<S>
where - S: Sync + Send + Clone + Display + Debug + TryIntoHeaderValue,

§

impl<S> Unpin for Authorization<S>
where - S: Sync + Send + Clone + Display + Debug + TryIntoHeaderValue + Unpin,

§

impl<S> UnwindSafe for Authorization<S>
where - S: Sync + Send + Clone + Display + Debug + TryIntoHeaderValue + UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where + S: Freeze,

§

impl<S> RefUnwindSafe for Authorization<S>
where + S: RefUnwindSafe,

§

impl<S> Send for Authorization<S>

§

impl<S> Sync for Authorization<S>

§

impl<S> Unpin for Authorization<S>
where + S: Unpin,

§

impl<S> UnwindSafe for Authorization<S>
where + S: 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.

@@ -38,10 +35,10 @@ operator. 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> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

impl<T> TryIntoHeaderPair 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> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

impl<T> TryIntoHeaderPair for T
where T: Header,

§

type Error = <T as TryIntoHeaderValue>::Error

§

fn try_into_pair( self ) -> Result<(HeaderName, HeaderValue), <T as TryIntoHeaderPair>::Error>

§

impl<V, T> VZip<V> for T
where diff --git a/actix_web_httpauth/headers/authorization/struct.Basic.html b/actix_web_httpauth/headers/authorization/struct.Basic.html index 07e5852a7..6bc7adc97 100644 --- a/actix_web_httpauth/headers/authorization/struct.Basic.html +++ b/actix_web_httpauth/headers/authorization/struct.Basic.html @@ -1,5 +1,4 @@ -Basic in actix_web_httpauth::headers::authorization - Rust -
pub struct Basic { /* private fields */ }
Expand description

Credentials for Basic authentication scheme, defined in RFC 7617

+Basic in actix_web_httpauth::headers::authorization - Rust

Struct actix_web_httpauth::headers::authorization::Basic

source ·
pub struct Basic { /* private fields */ }
Expand description

Credentials for Basic authentication scheme, defined in RFC 7617

Implementations§

source§

impl Basic

source

pub fn new<U, P>(user_id: U, password: Option<P>) -> Basic
where U: Into<Cow<'static, str>>, P: Into<Cow<'static, str>>,

Creates Basic credentials with provided user_id and optional @@ -8,7 +7,7 @@

let credentials = Basic::new("Alladin", Some("open sesame"));
source

pub fn user_id(&self) -> &str

Returns client’s user-ID.

source

pub fn password(&self) -> Option<&str>

Returns client’s password if provided.

-

Trait Implementations§

source§

impl Clone for Basic

source§

fn clone(&self) -> Basic

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 Debug for Basic

source§

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

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

impl Display for Basic

source§

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

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

impl From<Basic> for BasicAuth

source§

fn from(basic: Basic) -> Self

Converts to this type from the input type.
source§

impl Ord for Basic

source§

fn cmp(&self, other: &Basic) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where +

Trait Implementations§

source§

impl Clone for Basic

source§

fn clone(&self) -> Basic

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 Debug for Basic

source§

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

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

impl Display for Basic

source§

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

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

impl From<Basic> for BasicAuth

source§

fn from(basic: Basic) -> Self

Converts to this type from the input type.
source§

impl Ord for Basic

source§

fn cmp(&self, other: &Basic) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for Basic

source§

fn eq(&self, other: &Basic) -> bool

This method tests for self and other values to be equal, and is used @@ -26,10 +25,10 @@ operator. 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> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

impl<V, T> VZip<V> 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> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_web_httpauth/headers/authorization/struct.Bearer.html b/actix_web_httpauth/headers/authorization/struct.Bearer.html index 74069e7ea..e7f7542ba 100644 --- a/actix_web_httpauth/headers/authorization/struct.Bearer.html +++ b/actix_web_httpauth/headers/authorization/struct.Bearer.html @@ -1,12 +1,11 @@ -Bearer in actix_web_httpauth::headers::authorization - Rust -
pub struct Bearer { /* private fields */ }
Expand description

Credentials for Bearer authentication scheme, defined in RFC 6750.

+Bearer in actix_web_httpauth::headers::authorization - Rust

Struct actix_web_httpauth::headers::authorization::Bearer

source ·
pub struct Bearer { /* private fields */ }
Expand description

Credentials for Bearer authentication scheme, defined in RFC 6750.

Should be used in combination with Authorization header.

Implementations§

source§

impl Bearer

source

pub fn new<T>(token: T) -> Bearer
where T: Into<Cow<'static, str>>,

Creates new Bearer credentials with the token provided.

§Example
let credentials = Bearer::new("mF_9.B5f-4.1JqM");
source

pub fn token(&self) -> &str

Gets reference to the credentials token.

-

Trait Implementations§

source§

impl Clone for Bearer

source§

fn clone(&self) -> Bearer

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 Debug for Bearer

source§

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

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

impl Display for Bearer

source§

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

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

impl Ord for Bearer

source§

fn cmp(&self, other: &Bearer) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where +

Trait Implementations§

source§

impl Clone for Bearer

source§

fn clone(&self) -> Bearer

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 Debug for Bearer

source§

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

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

impl Display for Bearer

source§

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

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

impl Ord for Bearer

source§

fn cmp(&self, other: &Bearer) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for Bearer

source§

fn eq(&self, other: &Bearer) -> bool

This method tests for self and other values to be equal, and is used @@ -24,10 +23,10 @@ operator. 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> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

impl<V, T> VZip<V> 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> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_web_httpauth/headers/authorization/trait.Scheme.html b/actix_web_httpauth/headers/authorization/trait.Scheme.html index 778e0d7f7..504b682b1 100644 --- a/actix_web_httpauth/headers/authorization/trait.Scheme.html +++ b/actix_web_httpauth/headers/authorization/trait.Scheme.html @@ -1,5 +1,4 @@ -Scheme in actix_web_httpauth::headers::authorization - Rust -
pub trait Scheme: TryIntoHeaderValue + Debug + Display + Clone + Send + Sync {
+Scheme in actix_web_httpauth::headers::authorization - Rust

Trait actix_web_httpauth::headers::authorization::Scheme

source ·
pub trait Scheme: TryIntoHeaderValue + Debug + Display + Clone + Send + Sync {
     // Required method
     fn parse(header: &HeaderValue) -> Result<Self, ParseError>;
 }
Expand description

Authentication scheme for Authorization header.

diff --git a/actix_web_httpauth/headers/index.html b/actix_web_httpauth/headers/index.html index d1abf6290..85d330d18 100644 --- a/actix_web_httpauth/headers/index.html +++ b/actix_web_httpauth/headers/index.html @@ -1,3 +1,2 @@ -actix_web_httpauth::headers - Rust -
Expand description

Typed HTTP headers.

+actix_web_httpauth::headers - Rust

Module actix_web_httpauth::headers

source ·
Expand description

Typed HTTP headers.

Modules§

\ No newline at end of file diff --git a/actix_web_httpauth/headers/www_authenticate/basic/index.html b/actix_web_httpauth/headers/www_authenticate/basic/index.html index bbf36fca2..09553c17a 100644 --- a/actix_web_httpauth/headers/www_authenticate/basic/index.html +++ b/actix_web_httpauth/headers/www_authenticate/basic/index.html @@ -1,4 +1,3 @@ -actix_web_httpauth::headers::www_authenticate::basic - Rust -
Expand description

Challenge for the “Basic” HTTP Authentication Scheme.

+actix_web_httpauth::headers::www_authenticate::basic - Rust

Module actix_web_httpauth::headers::www_authenticate::basic

source ·
Expand description

Challenge for the “Basic” HTTP Authentication Scheme.

Structs§

\ No newline at end of file diff --git a/actix_web_httpauth/headers/www_authenticate/basic/struct.Basic.html b/actix_web_httpauth/headers/www_authenticate/basic/struct.Basic.html index 90bc39f91..991ba8ec7 100644 --- a/actix_web_httpauth/headers/www_authenticate/basic/struct.Basic.html +++ b/actix_web_httpauth/headers/www_authenticate/basic/struct.Basic.html @@ -1,5 +1,4 @@ -Basic in actix_web_httpauth::headers::www_authenticate::basic - Rust -
pub struct Basic { /* private fields */ }
Expand description

Challenge for WWW-Authenticate header with HTTP Basic auth scheme, +Basic in actix_web_httpauth::headers::www_authenticate::basic - Rust

Struct actix_web_httpauth::headers::www_authenticate::basic::Basic

source ·
pub struct Basic { /* private fields */ }
Expand description

Challenge for WWW-Authenticate header with HTTP Basic auth scheme, described in RFC 7617

§Examples

use actix_web_httpauth::headers::www_authenticate::basic::Basic;
@@ -42,10 +41,10 @@ operator. 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> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

impl<V, T> VZip<V> 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> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_web_httpauth/headers/www_authenticate/bearer/enum.Error.html b/actix_web_httpauth/headers/www_authenticate/bearer/enum.Error.html index 7a8d2c66e..a3c47d6f0 100644 --- a/actix_web_httpauth/headers/www_authenticate/bearer/enum.Error.html +++ b/actix_web_httpauth/headers/www_authenticate/bearer/enum.Error.html @@ -1,5 +1,4 @@ -Error in actix_web_httpauth::headers::www_authenticate::bearer - Rust -
pub enum Error {
+Error in actix_web_httpauth::headers::www_authenticate::bearer - Rust
pub enum Error {
     InvalidRequest,
     InvalidToken,
     InsufficientScope,
@@ -10,7 +9,7 @@ or is otherwise malformed.

§

InvalidToken

The access token provided is expired, revoked, malformed, or invalid for other reasons.

§

InsufficientScope

The request requires higher privileges than provided by the access token.

Implementations§

source§

impl Error

source

pub fn status_code(&self) -> StatusCode

Returns HTTP status code suitable for current error type.

-

Trait Implementations§

source§

impl Clone for Error

source§

fn clone(&self) -> Error

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 Debug for Error

source§

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

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

impl Display for Error

source§

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

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

impl Hash for Error

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where +

Trait Implementations§

source§

impl Clone for Error

source§

fn clone(&self) -> Error

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 Debug for Error

source§

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

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

impl Display for Error

source§

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

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

impl Hash for Error

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for Error

source§

fn cmp(&self, other: &Error) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where @@ -30,10 +29,10 @@ operator. 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> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

impl<V, T> VZip<V> 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> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_web_httpauth/headers/www_authenticate/bearer/index.html b/actix_web_httpauth/headers/www_authenticate/bearer/index.html index 4925b0b3b..5debb20ab 100644 --- a/actix_web_httpauth/headers/www_authenticate/bearer/index.html +++ b/actix_web_httpauth/headers/www_authenticate/bearer/index.html @@ -1,3 +1,2 @@ -actix_web_httpauth::headers::www_authenticate::bearer - Rust -
Expand description

Challenge for the “Bearer” HTTP Authentication Scheme.

+actix_web_httpauth::headers::www_authenticate::bearer - Rust

Module actix_web_httpauth::headers::www_authenticate::bearer

source ·
Expand description

Challenge for the “Bearer” HTTP Authentication Scheme.

Structs§

Enums§

\ No newline at end of file diff --git a/actix_web_httpauth/headers/www_authenticate/bearer/struct.Bearer.html b/actix_web_httpauth/headers/www_authenticate/bearer/struct.Bearer.html index 690892d95..e41eaee62 100644 --- a/actix_web_httpauth/headers/www_authenticate/bearer/struct.Bearer.html +++ b/actix_web_httpauth/headers/www_authenticate/bearer/struct.Bearer.html @@ -1,5 +1,4 @@ -Bearer in actix_web_httpauth::headers::www_authenticate::bearer - Rust -
pub struct Bearer { /* private fields */ }
Expand description

Challenge for WWW-Authenticate header with HTTP Bearer auth scheme, described in RFC 6750.

+Bearer in actix_web_httpauth::headers::www_authenticate::bearer - Rust
pub struct Bearer { /* private fields */ }
Expand description

Challenge for WWW-Authenticate header with HTTP Bearer auth scheme, described in RFC 6750.

§Examples

use actix_web_httpauth::headers::www_authenticate::bearer::{
     Bearer, Error,
@@ -45,10 +44,10 @@ operator. 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> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

impl<V, T> VZip<V> 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> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_web_httpauth/headers/www_authenticate/bearer/struct.BearerBuilder.html b/actix_web_httpauth/headers/www_authenticate/bearer/struct.BearerBuilder.html index f82f9745d..e7ef643e0 100644 --- a/actix_web_httpauth/headers/www_authenticate/bearer/struct.BearerBuilder.html +++ b/actix_web_httpauth/headers/www_authenticate/bearer/struct.BearerBuilder.html @@ -1,5 +1,4 @@ -BearerBuilder in actix_web_httpauth::headers::www_authenticate::bearer - Rust -
pub struct BearerBuilder(/* private fields */);
Expand description

Builder for the Bearer challenge.

+BearerBuilder in actix_web_httpauth::headers::www_authenticate::bearer - Rust
pub struct BearerBuilder(/* private fields */);
Expand description

Builder for the Bearer challenge.

It is up to implementor to fill all required fields, neither this Builder nor Bearer provide any validation.

Implementations§

source§

impl BearerBuilder

source

pub fn scope<T>(self, value: T) -> Self
where @@ -25,8 +24,8 @@ provide any validation.

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

impl<V, T> VZip<V> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_web_httpauth/headers/www_authenticate/index.html b/actix_web_httpauth/headers/www_authenticate/index.html index bf6bac9ce..3ffa3a9db 100644 --- a/actix_web_httpauth/headers/www_authenticate/index.html +++ b/actix_web_httpauth/headers/www_authenticate/index.html @@ -1,3 +1,2 @@ -actix_web_httpauth::headers::www_authenticate - Rust -
Expand description

WWW-Authenticate header and various auth challenges.

+actix_web_httpauth::headers::www_authenticate - Rust

Module actix_web_httpauth::headers::www_authenticate

source ·
Expand description

WWW-Authenticate header and various auth challenges.

Modules§

  • Challenge for the “Basic” HTTP Authentication Scheme.
  • Challenge for the “Bearer” HTTP Authentication Scheme.

Structs§

Traits§

  • Authentication challenge for WWW-Authenticate header.
\ No newline at end of file diff --git a/actix_web_httpauth/headers/www_authenticate/struct.WwwAuthenticate.html b/actix_web_httpauth/headers/www_authenticate/struct.WwwAuthenticate.html index ce0b003d3..798196f3f 100644 --- a/actix_web_httpauth/headers/www_authenticate/struct.WwwAuthenticate.html +++ b/actix_web_httpauth/headers/www_authenticate/struct.WwwAuthenticate.html @@ -1,5 +1,4 @@ -WwwAuthenticate in actix_web_httpauth::headers::www_authenticate - Rust -
pub struct WwwAuthenticate<C: Challenge>(pub C);
Expand description

WWW-Authenticate header, described in RFC 7235.

+WwwAuthenticate in actix_web_httpauth::headers::www_authenticate - Rust
pub struct WwwAuthenticate<C: Challenge>(pub C);
Expand description

WWW-Authenticate header, described in RFC 7235.

This header is generic over the Challenge trait, see Basic and Bearer challenges for details.

Tuple Fields§

§0: C

Trait Implementations§

source§

impl<C: Clone + Challenge> Clone for WwwAuthenticate<C>

source§

fn clone(&self) -> WwwAuthenticate<C>

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<C: Debug + Challenge> Debug for WwwAuthenticate<C>

source§

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

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

impl<C: Default + Challenge> Default for WwwAuthenticate<C>

source§

fn default() -> WwwAuthenticate<C>

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

impl<C: Hash + Challenge> Hash for WwwAuthenticate<C>

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where @@ -12,12 +11,10 @@ by ==.

source§

impl<C: PartialOrd + Challenge> PartialOrd for WwwAuthenticate<C>

source§

fn partial_cmp(&self, other: &WwwAuthenticate<C>) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl<C: Challenge> TryIntoHeaderValue for WwwAuthenticate<C>

§

type Error = <C as TryIntoHeaderValue>::Error

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

fn try_into_value(self) -> Result<HeaderValue, Self::Error>

Try to convert value to a HeaderValue.
source§

impl<C: Eq + Challenge> Eq for WwwAuthenticate<C>

source§

impl<C: Challenge> StructuralPartialEq for WwwAuthenticate<C>

Auto Trait Implementations§

§

impl<C> Freeze for WwwAuthenticate<C>
where - C: Sync + Send + Clone + Display + Debug + TryIntoHeaderValue + Freeze,

§

impl<C> RefUnwindSafe for WwwAuthenticate<C>
where - C: Sync + Send + Clone + Display + Debug + TryIntoHeaderValue + RefUnwindSafe,

§

impl<C> Send for WwwAuthenticate<C>
where - C: Sync + Send + Clone + Display + Debug + TryIntoHeaderValue,

§

impl<C> Sync for WwwAuthenticate<C>
where - C: Sync + Send + Clone + Display + Debug + TryIntoHeaderValue,

§

impl<C> Unpin for WwwAuthenticate<C>
where - C: Sync + Send + Clone + Display + Debug + TryIntoHeaderValue + Unpin,

§

impl<C> UnwindSafe for WwwAuthenticate<C>
where - C: Sync + Send + Clone + Display + Debug + TryIntoHeaderValue + UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where + C: Freeze,

§

impl<C> RefUnwindSafe for WwwAuthenticate<C>
where + C: RefUnwindSafe,

§

impl<C> Send for WwwAuthenticate<C>

§

impl<C> Sync for WwwAuthenticate<C>

§

impl<C> Unpin for WwwAuthenticate<C>
where + C: Unpin,

§

impl<C> UnwindSafe for WwwAuthenticate<C>
where + C: 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.

@@ -29,8 +26,8 @@ operator. 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.
§

impl<T> TryIntoHeaderPair 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.
§

impl<T> TryIntoHeaderPair for T
where T: Header,

§

type Error = <T as TryIntoHeaderValue>::Error

§

fn try_into_pair( self ) -> Result<(HeaderName, HeaderValue), <T as TryIntoHeaderPair>::Error>

§

impl<V, T> VZip<V> for T
where diff --git a/actix_web_httpauth/headers/www_authenticate/trait.Challenge.html b/actix_web_httpauth/headers/www_authenticate/trait.Challenge.html index 1a0b56987..719cd03dc 100644 --- a/actix_web_httpauth/headers/www_authenticate/trait.Challenge.html +++ b/actix_web_httpauth/headers/www_authenticate/trait.Challenge.html @@ -1,5 +1,4 @@ -Challenge in actix_web_httpauth::headers::www_authenticate - Rust -
pub trait Challenge: TryIntoHeaderValue + Debug + Display + Clone + Send + Sync {
+Challenge in actix_web_httpauth::headers::www_authenticate - Rust
pub trait Challenge: TryIntoHeaderValue + Debug + Display + Clone + Send + Sync {
     // Required method
     fn to_bytes(&self) -> Bytes;
 }
Expand description

Authentication challenge for WWW-Authenticate header.

diff --git a/actix_web_httpauth/index.html b/actix_web_httpauth/index.html index 3a673e106..8fe6177ed 100644 --- a/actix_web_httpauth/index.html +++ b/actix_web_httpauth/index.html @@ -1,6 +1,4 @@ -actix_web_httpauth - Rust -
Expand description

HTTP authentication schemes for Actix Web.

+actix_web_httpauth - Rust

Crate actix_web_httpauth

source ·
Expand description

HTTP authentication schemes for Actix Web.

Provides:

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> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

impl<V, T> VZip<V> for T
where +

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_ws/fn.handle.html b/actix_ws/fn.handle.html index f49b67769..d8e429e18 100644 --- a/actix_ws/fn.handle.html +++ b/actix_ws/fn.handle.html @@ -1,5 +1,4 @@ -handle in actix_ws - Rust -

Function actix_ws::handle

source ·
pub fn handle(
+handle in actix_ws - Rust

Function actix_ws::handle

source ·
pub fn handle(
     req: &HttpRequest,
     body: Payload
 ) -> Result<(HttpResponse, Session, MessageStream), Error>
Expand description

Begin handling websocket traffic

diff --git a/actix_ws/index.html b/actix_ws/index.html index 12b8fb3f3..563badfb9 100644 --- a/actix_ws/index.html +++ b/actix_ws/index.html @@ -1,5 +1,3 @@ -actix_ws - Rust -

Crate actix_ws

source ·
Expand description

WebSockets for Actix Web, without actors.

+actix_ws - Rust

Crate actix_ws

source ·
Expand description

WebSockets for Actix Web, without actors.

For usage, see documentation on handle().

Structs§

  • Reason for closing the connection
  • The error representing a closed websocket session
  • A stream of Messages from a websocket client
  • A handle into the websocket session.
  • A response body for Websocket HTTP Requests

Enums§

  • Status code used to indicate why an endpoint is closing the WebSocket connection.
  • A WebSocket message.
  • WebSocket protocol errors.

Functions§

  • Begin handling websocket traffic
\ No newline at end of file diff --git a/actix_ws/struct.CloseReason.html b/actix_ws/struct.CloseReason.html index 9cf679677..62d510d49 100644 --- a/actix_ws/struct.CloseReason.html +++ b/actix_ws/struct.CloseReason.html @@ -1,12 +1,11 @@ -CloseReason in actix_ws - Rust -

Struct actix_ws::CloseReason

pub struct CloseReason {
+CloseReason in actix_ws - Rust

Struct actix_ws::CloseReason

pub struct CloseReason {
     pub code: CloseCode,
     pub description: Option<String>,
 }
Expand description

Reason for closing the connection

Fields§

§code: CloseCode

Exit code

§description: Option<String>

Optional description of the exit code

Trait Implementations§

§

impl Clone for CloseReason

§

fn clone(&self) -> CloseReason

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
§

impl Debug for CloseReason

§

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

Formats the value using the given formatter. Read more
§

impl<T> From<(CloseCode, T)> for CloseReason
where - T: Into<String>,

§

fn from(info: (CloseCode, T)) -> CloseReason

Converts to this type from the input type.
§

impl From<CloseCode> for CloseReason

§

fn from(code: CloseCode) -> CloseReason

Converts to this type from the input type.
§

impl PartialEq for CloseReason

§

fn eq(&self, other: &CloseReason) -> bool

This method tests for self and other values to be equal, and is used + T: Into<String>,

§

fn from(info: (CloseCode, T)) -> CloseReason

Converts to this type from the input type.
§

impl From<CloseCode> for CloseReason

§

fn from(code: CloseCode) -> CloseReason

Converts to this type from the input type.
§

impl PartialEq for CloseReason

§

fn eq(&self, other: &CloseReason) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl Eq for CloseReason

§

impl StructuralPartialEq for CloseReason

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 @@ -20,8 +19,8 @@ sufficient, and should not be overridden without very good reason.
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.
§

impl<V, T> VZip<V> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_ws/struct.Closed.html b/actix_ws/struct.Closed.html index ee59063ca..bf6f15d0d 100644 --- a/actix_ws/struct.Closed.html +++ b/actix_ws/struct.Closed.html @@ -1,6 +1,5 @@ -Closed in actix_ws - Rust -

Struct actix_ws::Closed

source ·
pub struct Closed;
Expand description

The error representing a closed websocket session

-

Trait Implementations§

source§

impl Debug for Closed

source§

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

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

impl Display for Closed

source§

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

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

impl Error for Closed

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more

Auto Trait Implementations§

§

impl Freeze for Closed

§

impl RefUnwindSafe for Closed

§

impl Send for Closed

§

impl Sync for Closed

§

impl Unpin for Closed

§

impl UnwindSafe for Closed

Blanket Implementations§

source§

impl<T> Any for T
where +Closed in actix_ws - Rust

Struct actix_ws::Closed

source ·
pub struct Closed;
Expand description

The error representing a closed websocket session

+

Trait Implementations§

source§

impl Debug for Closed

source§

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

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

impl Display for Closed

source§

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

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

impl Error for Closed

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more

Auto Trait Implementations§

§

impl Freeze for Closed

§

impl RefUnwindSafe for Closed

§

impl Send for Closed

§

impl Sync for Closed

§

impl Unpin for Closed

§

impl UnwindSafe for Closed

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.

@@ -10,10 +9,10 @@ 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> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

impl<V, T> VZip<V> for T
where +

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_ws/struct.MessageStream.html b/actix_ws/struct.MessageStream.html index 111487eee..5c7411c55 100644 --- a/actix_ws/struct.MessageStream.html +++ b/actix_ws/struct.MessageStream.html @@ -1,5 +1,4 @@ -MessageStream in actix_ws - Rust -

Struct actix_ws::MessageStream

source ·
pub struct MessageStream { /* private fields */ }
Expand description

A stream of Messages from a websocket client

+MessageStream in actix_ws - Rust

Struct actix_ws::MessageStream

source ·
pub struct MessageStream { /* private fields */ }
Expand description

A stream of Messages from a websocket client

Messages can be accessed via the stream’s .next() method

Implementations§

source§

impl MessageStream

source

pub async fn recv(&mut self) -> Option<Result<Message, ProtocolError>>

Wait for the next item from the message stream

@@ -148,8 +147,8 @@ of that Either. Read more
§

fn select_next_some(&mut self) -> SelectNextSome<'_, Self>
where Self: Unpin + FusedStream,

Returns a Future that resolves when the next item in this stream is ready. 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.
§

impl<S, T, E> TryStream for S
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.
§

impl<S, T, E> TryStream for S
where S: Stream<Item = Result<T, E>> + ?Sized,

§

type Ok = T

The type of successful values yielded by this future
§

type Error = E

The type of failures yielded by this future
§

fn try_poll_next( self: Pin<&mut S>, cx: &mut Context<'_> diff --git a/actix_ws/struct.Session.html b/actix_ws/struct.Session.html index c6c00292f..4e6879d19 100644 --- a/actix_ws/struct.Session.html +++ b/actix_ws/struct.Session.html @@ -1,5 +1,4 @@ -Session in actix_ws - Rust -

Struct actix_ws::Session

source ·
pub struct Session { /* private fields */ }
Expand description

A handle into the websocket session.

+Session in actix_ws - Rust

Struct actix_ws::Session

source ·
pub struct Session { /* private fields */ }
Expand description

A handle into the websocket session.

This type can be used to send messages into the websocket.

Implementations§

source§

impl Session

source

pub async fn text(&mut self, msg: impl Into<ByteString>) -> Result<(), Closed>

Send text into the websocket

@@ -42,8 +41,8 @@ client has disconnected

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.
§

impl<V, T> VZip<V> 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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a diff --git a/actix_ws/struct.StreamingBody.html b/actix_ws/struct.StreamingBody.html index 81e522f41..8cd75f488 100644 --- a/actix_ws/struct.StreamingBody.html +++ b/actix_ws/struct.StreamingBody.html @@ -1,5 +1,4 @@ -StreamingBody in actix_ws - Rust -

Struct actix_ws::StreamingBody

source ·
pub struct StreamingBody { /* private fields */ }
Expand description

A response body for Websocket HTTP Requests

+StreamingBody in actix_ws - Rust

Struct actix_ws::StreamingBody

source ·
pub struct StreamingBody { /* private fields */ }
Expand description

A response body for Websocket HTTP Requests

Trait Implementations§

source§

impl Stream for StreamingBody

§

type Item = Result<Bytes, Error>

Values yielded by the stream.
source§

fn poll_next( self: Pin<&mut Self>, cx: &mut Context<'_> @@ -142,8 +141,8 @@ of that Either. Read more

§

fn select_next_some(&mut self) -> SelectNextSome<'_, Self>
where Self: Unpin + FusedStream,

Returns a Future that resolves when the next item in this stream is ready. 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.
§

impl<S, T, E> TryStream for S
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.
§

impl<S, T, E> TryStream for S
where S: Stream<Item = Result<T, E>> + ?Sized,

§

type Ok = T

The type of successful values yielded by this future
§

type Error = E

The type of failures yielded by this future
§

fn try_poll_next( self: Pin<&mut S>, cx: &mut Context<'_> diff --git a/help.html b/help.html index c3069ec93..6ccf6e2c7 100644 --- a/help.html +++ b/help.html @@ -1,2 +1 @@ -Help -

Rustdoc help

Back
\ No newline at end of file +Help

Rustdoc help

Back
\ No newline at end of file diff --git a/search-index.js b/search-index.js index c0a34a3fa..ae11ecc4c 100644 --- a/search-index.js +++ b/search-index.js @@ -1,12 +1,12 @@ var searchIndex = new Map(JSON.parse('[\ -["actix_cors",{"t":"PPFGEPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["BadRequestHeaders","BadRequestMethod","Cors","CorsError","CorsMiddleware","HeadersNotAllowed","MethodNotAllowed","MissingOrigin","MissingRequestMethod","OriginNotAllowed","WildcardOrigin","allow_any_header","allow_any_method","allow_any_origin","allow_private_network_access","allowed_header","allowed_headers","allowed_methods","allowed_origin","allowed_origin_fn","block_on_origin_mismatch","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","default","disable_preflight","disable_vary_header","error_response","expose_any_header","expose_headers","fmt","fmt","fmt","from","from","into","into","max_age","new_transform","permissive","send_wildcard","status_code","supports_credentials","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip"],"q":[[0,"actix_cors"],[56,"http::header::name"],[57,"core::convert"],[58,"core::iter::traits::collect"],[59,"http::method"],[60,"http::header::value"],[61,"actix_http::requests::head"],[62,"core::ops::function"],[63,"actix_web::response::response"],[64,"core::fmt"],[65,"core::fmt"],[66,"core::convert"],[67,"actix_web::service"],[68,"actix_web::service"],[69,"actix_service"],[70,"http::status"],[71,"alloc::string"],[72,"core::result"],[73,"core::any"]],"i":[13,13,0,0,0,13,13,13,13,13,13,1,1,1,1,1,1,1,1,1,1,1,13,1,13,13,13,1,1,1,13,1,1,1,13,13,1,13,1,13,1,1,1,1,13,1,13,13,1,13,1,13,1,13,1,13],"f":"```````````{bb}000{{bc}b{{f{d}}}}{{be}b{{f{d}}}{{j{}{{h{c}}}}}}{{be}b{{f{l}}}{{j{}{{h{c}}}}}}{{bn}b}{{bc}b{{Ah{A`Ab}{{Ad{Af}}}}}}{{bAf}b}{ce{}{}}000{AjAj}{{ce}Al{}{}}{{}b}::{AjAn};9{{bB`}Bb}{{AjB`}Bb}0{cc{}}077{{bc}b{{Bh{{Bf{Bd}}}}}}{{be}gBj{{Cf{Bl}{{Bn{{C`{c}}}}{Cb{Cd}}}}}{}}6{bb}{AjCh}1;{cCj{}}{c{{Cl{e}}}{}{}}000{cCn{}}0>>","D":"Dd","p":[[5,"Cors",0],[5,"HeaderName",56],[10,"TryInto",57],[17,"Item"],[10,"IntoIterator",58],[5,"Method",59],[1,"str"],[5,"HeaderValue",60],[5,"RequestHead",61],[17,"Output"],[1,"bool"],[10,"Fn",62],[6,"CorsError",0],[1,"unit"],[5,"HttpResponse",63],[5,"Formatter",64],[8,"Result",64],[1,"usize"],[6,"Option",65],[10,"Into",57],[10,"MessageBody",66],[5,"ServiceRequest",67],[17,"Response"],[5,"ServiceResponse",67],[17,"Error"],[5,"Error",68],[10,"Service",69],[5,"StatusCode",70],[5,"String",71],[6,"Result",72],[5,"TypeId",73]],"b":[[34,"impl-Display-for-CorsError"],[35,"impl-Debug-for-CorsError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAABYABwAFAAAAFgAFAB8AAAAiAAIAKgAAAC0AAAAvAAkA"}],\ -["actix_identity",{"t":"FKFNNNNNNNCNCNNNMNNNNNNNNNNNNNNNPFGPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGFFPFPFPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["Identity","IdentityExt","IdentityMiddleware","borrow","borrow","borrow_mut","borrow_mut","builder","clone","clone_into","config","default","error","from","from","from_request","get_identity","id","into","into","login","logout","new_transform","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","DeleteIdentityKeys","IdentityMiddlewareBuilder","LogoutBehaviour","PurgeSession","borrow","borrow","borrow_mut","borrow_mut","build","clone","clone","clone_into","clone_into","fmt","fmt","from","from","id_key","into","into","last_visit_unix_timestamp_key","login_deadline","login_unix_timestamp_key","logout_behaviour","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","visit_deadline","vzip","vzip","GetIdentityError","LoginError","LostIdentityError","LostIdentityError","MissingIdentityError","MissingIdentityError","SessionExpiryError","SessionExpiryError","SessionGetError","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","into","into","into","into","into","source","source","status_code","status_code","to_string","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip"],"q":[[0,"actix_identity"],[32,"actix_identity::config"],[67,"actix_identity::error"],[140,"actix_web::request"],[141,"actix_http::payload"],[142,"core::result"],[143,"alloc::string"],[144,"actix_http::extensions"],[145,"actix_http::body::message_body"],[146,"actix_web::service"],[147,"actix_web::service"],[148,"actix_service"],[149,"core::any"],[150,"core::fmt"],[151,"core::fmt"],[152,"core::option"],[153,"actix_session::session"],[154,"actix_session::session"],[155,"http::status"]],"i":[0,0,0,7,2,7,2,2,2,2,0,2,0,7,2,7,6,7,7,2,7,7,2,2,7,2,7,2,7,2,7,2,21,0,0,21,21,1,21,1,1,21,1,21,1,21,1,21,1,1,21,1,1,1,1,1,21,1,21,1,21,1,21,1,1,21,1,0,0,0,8,0,8,0,8,8,12,27,28,29,8,12,27,28,29,8,12,12,27,27,28,28,29,29,8,8,12,12,27,28,29,8,8,8,8,8,12,27,28,29,8,12,8,12,8,12,27,28,29,8,12,27,28,29,8,12,27,28,29,8,12,27,28,29,8,12,27,28,29,8],"f":"```{ce{}{}}000{{}b}{dd}{{ce}f{}{}}`{{}d}`{cc{}}0{{hj}c{}}{l{{Ab{nA`}}}}{n{{Ab{AdA`}}}}88{{AfAd}{{Ab{nAh}}}}{nf}{{de}gAj{{Bf{Al}{{An{{B`{c}}}}{Bb{Bd}}}}}{}};{c{{Ab{e}}}{}{}}000{cBh{}}0==````===={bd}{BjBj}{bb}=={{BjBl}Bn}{{bBl}Bn}=={{bC`}b}{ce{}{}}01{{b{Cd{Cb}}}b}2{{bBj}b}22::::99122`````````2222222222{{AhBl}Bn}0{{CfBl}Bn}0{{ChBl}Bn}0{{CjBl}Bn}0{{A`Bl}Bn}0{cc{}}{ClAh}111{CnA`}{CfA`}3{CjA`}{ChA`}====={Ah{{Cd{D`}}}}{A`{{Cd{D`}}}}{AhDb}{A`Db}{cAd{}}0000{c{{Ab{e}}}{}{}}000000000{cBh{}}0000{ce{}{}}0000","D":"Fb","p":[[5,"IdentityMiddlewareBuilder",32],[5,"IdentityMiddleware",0],[1,"unit"],[5,"HttpRequest",140],[6,"Payload",141],[10,"IdentityExt",0],[5,"Identity",0],[6,"GetIdentityError",67],[6,"Result",142],[5,"String",143],[5,"Extensions",144],[5,"LoginError",67],[10,"MessageBody",145],[5,"ServiceRequest",146],[17,"Response"],[5,"ServiceResponse",146],[17,"Error"],[5,"Error",147],[10,"Service",148],[5,"TypeId",149],[6,"LogoutBehaviour",32],[5,"Formatter",150],[8,"Result",150],[1,"str"],[5,"Duration",151],[6,"Option",152],[5,"SessionExpiryError",67],[5,"LostIdentityError",67],[5,"MissingIdentityError",67],[5,"SessionInsertError",153],[5,"SessionGetError",153],[10,"Error",154],[5,"StatusCode",155]],"b":[[86,"impl-Debug-for-LoginError"],[87,"impl-Display-for-LoginError"],[88,"impl-Debug-for-SessionExpiryError"],[89,"impl-Display-for-SessionExpiryError"],[90,"impl-Debug-for-LostIdentityError"],[91,"impl-Display-for-LostIdentityError"],[92,"impl-Debug-for-MissingIdentityError"],[93,"impl-Display-for-MissingIdentityError"],[94,"impl-Debug-for-GetIdentityError"],[95,"impl-Display-for-GetIdentityError"],[101,"impl-From%3CSessionGetError%3E-for-GetIdentityError"],[102,"impl-From%3CSessionExpiryError%3E-for-GetIdentityError"],[104,"impl-From%3CMissingIdentityError%3E-for-GetIdentityError"],[105,"impl-From%3CLostIdentityError%3E-for-GetIdentityError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAFsADgAEAAMACQABAAwAAAAQAAAAFwAJACUAAwAqAAUAOQAHAEIAAQBNABMAYgAAAGYAAQBpAAEAcAAcAA=="}],\ -["actix_limitation",{"t":"FPSSSSGPFPFFPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["Builder","Client","DEFAULT_COOKIE_NAME","DEFAULT_PERIOD_SECS","DEFAULT_REQUEST_LIMIT","DEFAULT_SESSION_KEY","Error","LimitExceeded","Limiter","Other","RateLimiter","Status","Time","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","builder","clone","clone","clone_into","clone_into","cookie_name","count","default","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","into","into","into","into","into","key_by","limit","limit","new_transform","period","remaining","reset_epoch_utc","session_key","source","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip"],"q":[[0,"actix_limitation"],[82,"core::result"],[83,"alloc::string"],[84,"core::convert"],[85,"alloc::borrow"],[86,"core::fmt"],[87,"core::fmt"],[88,"time::error::component_range"],[89,"actix_web::service"],[90,"core::option"],[91,"core::ops::function"],[92,"core::marker"],[93,"core::marker"],[94,"actix_service"],[95,"core::time"],[96,"core::error"],[97,"core::any"]],"i":[0,3,0,0,0,0,0,3,0,3,0,0,3,1,3,11,7,2,1,3,11,7,2,1,2,7,2,7,2,1,2,11,1,3,3,11,7,2,1,3,3,3,11,7,2,1,3,11,7,2,1,1,7,11,1,7,7,1,3,7,2,3,1,3,11,7,2,1,3,11,7,2,1,3,11,7,2,1,3,11,7,2],"f":"`````````````{ce{}{}}000000000{b{{h{df}}}}{cb{{l{j}}}}{nn}{dd}{{ce}A`{}{}}0{{bc}b{{l{{Ad{Ab}}}}}}{{dc}{{h{nf}}}{{l{j}}}}{{}Af}{{bAh}Aj}{{fAh}Aj}0{{AfAh}Aj}{{nAh}Aj}{{dAh}Aj}{cc{}}{Alf}{Anf}2222{ce{}{}}0000{{bc}b{{Bf{B`}{{Bb{{Bd{j}}}}}}BhBj}}{{bBl}b}{nBl}{{Afe}g{}{{Cf{B`}{{Bn{{C`{c}}}}{Cb{Cd}}}}}{}}{{bCh}b}22{{bc}b{{l{{Ad{Ab}}}}}}{f{{Bd{Cj}}}}77{cj{}}{c{{h{e}}}{}{}}000000000{cCl{}}0000:::::","D":"Df","p":[[5,"Builder",0],[5,"Limiter",0],[6,"Error",0],[6,"Result",82],[5,"String",83],[10,"Into",84],[5,"Status",0],[1,"unit"],[1,"str"],[6,"Cow",85],[5,"RateLimiter",0],[5,"Formatter",86],[8,"Result",86],[5,"RedisError",87],[5,"ComponentRange",88],[5,"ServiceRequest",89],[17,"Output"],[6,"Option",90],[10,"Fn",91],[10,"Send",92],[10,"Sync",92],[1,"usize"],[17,"Response"],[5,"ServiceResponse",89],[17,"Error"],[5,"Error",93],[10,"Service",94],[5,"Duration",95],[10,"Error",96],[5,"TypeId",97]],"b":[[33,"impl-Display-for-Error"],[34,"impl-Debug-for-Error"],[39,"impl-From%3CRedisError%3E-for-Error"],[40,"impl-From%3CComponentRange%3E-for-Error"]],"c":"OjAAAAEAAAAAAAEAEAAAAB4AOgA=","e":"OzAAAAEAAC8ABgAOAAkAGgADACAABgAoAAEANgAAADsAFwA="}],\ -["actix_protobuf",{"t":"PPPPFFFGKPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNN","n":["ContentType","Deserialize","Overflow","Payload","ProtoBuf","ProtoBufConfig","ProtoBufMessage","ProtoBufPayloadError","ProtoBufResponseBuilder","Serialize","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","default","deref","deref_mut","error_response","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from_request","into","into","into","into","into_future","limit","limit","new","poll","protobuf","respond_to","to_string","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_poll","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip"],"q":[[0,"actix_protobuf"],[63,"prost::message"],[64,"actix_web::response::response"],[65,"core::fmt"],[66,"core::fmt"],[67,"prost::error"],[68,"actix_web::request"],[69,"actix_http::payload"],[70,"core::default"],[71,"core::pin"],[72,"core::task::wake"],[73,"core::task::poll"],[74,"actix_web::error::error"],[75,"core::result"],[76,"alloc::string"],[77,"core::any"]],"i":[4,4,4,4,0,0,0,0,0,4,2,1,15,4,2,1,15,4,1,2,2,4,2,2,4,4,2,1,15,4,4,4,2,2,1,15,4,15,1,15,15,15,20,2,2,4,2,1,15,4,2,1,15,4,15,2,1,15,4,2,1,15,4],"f":"``````````{ce{}{}}0000000{{}b}{{{d{c}}}cf}0{hj}{{{d{c}}l}n{A`f}}{{{d{c}}l}n{Abf}}{{hl}n}0{cc{}}00{Adh}1{Afh}{{AhAj}c{}}::::{c{}{}}{{bAl}b}{{{An{c}}Al}{{An{c}}}{fB`}}{{AhAj}{{An{c}}}{fB`}}{{{Bb{{An{c}}}}Bd}{{Bf{e}}}{fB`}{}}{{Bhc}{{Bl{jBj}}}f}{{{d{c}}Ah}j{fB`}}{cBn{}}0{c{{Bl{e}}}{}{}}0000000{{{Bb{c}}Bd}Bf{}}{cC`{}}000{ce{}{}}000","D":"Bb","p":[[5,"ProtoBufConfig",0],[5,"ProtoBuf",0],[10,"Message",63],[6,"ProtoBufPayloadError",0],[5,"HttpResponse",64],[5,"Formatter",65],[8,"Result",65],[10,"Debug",65],[10,"Display",65],[6,"PayloadError",66],[5,"DecodeError",67],[5,"HttpRequest",68],[6,"Payload",69],[1,"usize"],[5,"ProtoBufMessage",0],[10,"Default",70],[5,"Pin",71],[5,"Context",72],[6,"Poll",73],[10,"ProtoBufResponseBuilder",0],[5,"Error",74],[6,"Result",75],[5,"String",76],[5,"TypeId",77]],"b":[[22,"impl-Debug-for-ProtoBuf%3CT%3E"],[23,"impl-Display-for-ProtoBuf%3CT%3E"],[24,"impl-Debug-for-ProtoBufPayloadError"],[25,"impl-Display-for-ProtoBufPayloadError"],[29,"impl-From%3CPayloadError%3E-for-ProtoBufPayloadError"],[31,"impl-From%3CDecodeError%3E-for-ProtoBufPayloadError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAC4ABgAFAAQACwAPAB4AAAAgAAEAJgAAACoAFQA="}],\ -["actix_session",{"t":"PPPFKFFFGPNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNFPGPPFPPGFPGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFPGPPPFFGPPFKGNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNMNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNMNNNNNNNNN","n":["Changed","Purged","Renewed","Session","SessionExt","SessionGetError","SessionInsertError","SessionMiddleware","SessionStatus","Unchanged","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","builder","clear","clone","clone","clone","clone_into","clone_into","clone_into","config","default","entries","eq","error_response","error_response","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from_request","get","get_session","insert","into","into","into","into","into","new","new_transform","purge","remove","remove_as","renew","source","source","status","storage","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","BrowserSession","BrowserSession","CookieContentSecurity","OnEveryRequest","OnStateChanges","PersistentSession","PersistentSession","Private","SessionLifecycle","SessionMiddlewareBuilder","Signed","TtlExtensionPolicy","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cookie_content_security","cookie_domain","cookie_http_only","cookie_name","cookie_path","cookie_same_site","cookie_secure","default","default","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","into","into","into","into","into","into","session_lifecycle","session_ttl","session_ttl_extension_policy","state_ttl","state_ttl_extension_policy","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","CookieSessionStore","Deserialization","LoadError","Other","Other","Other","RedisSessionStore","RedisSessionStoreBuilder","SaveError","Serialization","Serialization","SessionKey","SessionStore","UpdateError","as_ref","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","builder","cache_keygen","clone","clone_into","default","delete","delete","delete","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","into","into","into","into","into","into","into","load","load","load","new","save","save","save","source","source","source","to_owned","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update","update","update","update_ttl","update_ttl","update_ttl","vzip","vzip","vzip","vzip","vzip","vzip","vzip"],"q":[[0,"actix_session"],[90,"actix_session::config"],[187,"actix_session::storage"],[296,"cookie::secure::key"],[297,"core::clone"],[298,"alloc::string"],[299,"std::collections::hash::map"],[300,"core::cell"],[301,"actix_http::body::boxed"],[302,"actix_web::response::response"],[303,"core::fmt"],[304,"core::fmt"],[305,"actix_web::request"],[306,"actix_http::payload"],[307,"core::option"],[308,"core::result"],[309,"serde::de"],[310,"core::convert"],[311,"serde::ser"],[312,"actix_http::body::message_body"],[313,"actix_web::service"],[314,"actix_web::service"],[315,"actix_service"],[316,"core::error"],[317,"core::any"],[318,"cookie::draft"],[319,"time::duration"],[320,"core::ops::function"],[321,"core::marker"],[322,"core::marker"]],"i":[8,8,8,0,0,0,0,0,0,8,6,4,8,13,16,6,4,8,13,16,6,4,6,4,8,6,4,8,0,8,4,8,13,16,8,13,13,16,16,6,4,8,13,13,16,16,4,4,26,4,6,4,8,13,16,6,6,4,4,4,4,13,16,4,0,6,4,8,13,16,6,4,8,13,16,6,4,8,13,16,6,4,8,13,16,6,4,8,13,16,0,38,0,41,41,0,38,42,0,0,42,0,2,38,39,40,41,42,2,38,39,40,41,42,2,38,39,40,41,42,38,39,40,41,42,2,2,2,2,2,2,2,39,40,38,39,40,41,42,2,38,38,38,39,40,41,42,2,38,39,40,41,42,2,40,40,39,39,38,39,40,41,42,2,38,39,40,41,42,2,38,39,40,41,42,2,38,39,40,41,42,2,38,39,40,41,42,0,54,0,54,55,56,0,0,0,55,56,0,0,0,45,46,54,55,56,45,52,47,46,54,55,56,45,52,47,46,47,46,47,47,52,3,52,47,45,54,54,55,55,56,56,45,46,54,55,56,45,52,47,46,54,55,56,45,52,47,3,52,47,47,3,52,47,54,55,56,47,54,55,56,46,54,55,56,45,45,52,47,46,54,55,56,45,52,47,46,54,55,56,45,52,47,3,52,47,3,52,47,46,54,55,56,45,52,47],"f":"``````````{ce{}{}}000000000{{cb}{{d{c}}}f}{hj}{{{l{c}}}{{l{c}}}{nf}}{hh}{A`A`}{{ce}j{}{}}00`{{}A`}{h{{Af{{Ad{AbAb}}}}}}{{A`A`}Ah}{Aj{{An{Al}}}}{B`{{An{Al}}}}{{A`Bb}Bd}{{AjBb}Bd}0{{B`Bb}Bd}0{cc{}}00{BfAj}11{BfB`}{{BhBj}c{}}{{hBl}{{C`{{Bn{c}}Aj}}}Cb}{Cdh}{{hce}{{C`{jB`}}}{{Cf{Ab}}}Ch}{ce{}{}}0000{{cb}{{l{c}}}f}{{{l{c}}g}ifCj{{Df{Cl}{{Cn{{D`{e}}}}{Db{Dd}}}}}{}}{hj}{{hBl}{{Bn{Ab}}}}{{hBl}{{Bn{{C`{cAb}}}}}Cb}2{Aj{{Bn{Dh}}}}{B`{{Bn{Dh}}}}{hA`}`888{cAb{}}0{c{{C`{e}}}{}{}}000000000{cDj{}}0000;;;;;````````````;;;;;;;;;;;;{{{d{c}}}{{l{c}}}f}{DlDl}{DnDn}{E`E`}{EbEb}{EdEd}{{ce}j{}{}}0000{{{d{c}}Ed}{{d{c}}}f}{{{d{c}}{Bn{Ab}}}{{d{c}}}f}{{{d{c}}Ah}{{d{c}}}f}{{{d{c}}Ab}{{d{c}}}f}0{{{d{c}}Ef}{{d{c}}}f}2{{}Dn}{{}E`}{{DlBb}Bd}{{DnBb}Bd}{{E`Bb}Bd}{{EbBb}Bd}{{EdBb}Bd}{cc{}}0{DnDl}{E`Dl}2222{ce{}{}}00000{{{d{c}}e}{{d{c}}}f{{Cf{Dl}}}}{{E`Eh}E`}{{E`Eb}E`}{{DnEh}Dn}{{DnEb}Dn}55555{c{{C`{e}}}{}{}}00000000000{cDj{}}00000777777``````````````{EjBl}88888888888888{El{{C`{EnBf}}}}{cEl{{Cf{Ab}}}}{{Elc}El{{Fb{Bl}{{F`{Ab}}}}FdFf}}{EnEn}{{ce}j{}{}}{{}Fh}{{fEj}{{`{{Fj{}{{F`{{C`{jBf}}}}}}}}}}{{FhEj}{{C`{jBf}}}}{{EnEj}{{C`{jBf}}}}{{EjEj}Ah}{{FlBb}Bd}0{{FnBb}Bd}0{{G`Bb}Bd}0{{EjBb}Bd}{cc{}}000000{ce{}{}}000000{{fEj}{{`{{Fj{}{{F`{{C`{{Bn{{Ad{AbAb}}}}Fl}}}}}}}}}}{{FhEj}{{C`{{Bn{{Ad{AbAb}}}}Fl}}}}{{EnEj}{{C`{{Bn{{Ad{AbAb}}}}Fl}}}}{c{{C`{EnBf}}}{{Cf{Ab}}}}{{f{Ad{AbAb}}Eh}{{`{{Fj{}{{F`{{C`{EjFn}}}}}}}}}}{{Fh{Ad{AbAb}}Eh}{{C`{EjFn}}}}{{En{Ad{AbAb}}Eh}{{C`{EjFn}}}}{Fl{{Bn{Dh}}}}{Fn{{Bn{Dh}}}}{G`{{Bn{Dh}}}}:{cAb{}}00{c{{C`{e}}}{}{}}0000{Ab{{C`{Ejc}}}{}}111111111{cDj{}}000000{{fEj{Ad{AbAb}}Eh}{{`{{Fj{}{{F`{{C`{EjG`}}}}}}}}}}{{FhEj{Ad{AbAb}}Eh}{{C`{EjG`}}}}{{EnEj{Ad{AbAb}}Eh}{{C`{EjG`}}}}{{fEjEh}{{`{{Fj{}{{F`{{C`{jBf}}}}}}}}}}{{FhEjEh}{{C`{jBf}}}}{{EnEjEh}{{C`{jBf}}}}{ce{}{}}000000","D":"Mj","p":[[5,"Key",296],[5,"SessionMiddlewareBuilder",90],[10,"SessionStore",187],[5,"Session",0],[1,"unit"],[5,"SessionMiddleware",0],[10,"Clone",297],[6,"SessionStatus",0],[5,"String",298],[5,"HashMap",299],[5,"Ref",300],[1,"bool"],[5,"SessionGetError",0],[5,"BoxBody",301],[5,"HttpResponse",302],[5,"SessionInsertError",0],[5,"Formatter",303],[8,"Result",303],[5,"Error",304],[5,"HttpRequest",305],[6,"Payload",306],[1,"str"],[6,"Option",307],[6,"Result",308],[10,"DeserializeOwned",309],[10,"SessionExt",0],[10,"Into",310],[10,"Serialize",311],[10,"MessageBody",312],[5,"ServiceRequest",313],[17,"Response"],[5,"ServiceResponse",313],[17,"Error"],[5,"Error",314],[10,"Service",315],[10,"Error",316],[5,"TypeId",317],[6,"SessionLifecycle",90],[5,"BrowserSession",90],[5,"PersistentSession",90],[6,"TtlExtensionPolicy",90],[6,"CookieContentSecurity",90],[6,"SameSite",318],[5,"Duration",319],[5,"SessionKey",187],[5,"RedisSessionStoreBuilder",187],[5,"RedisSessionStore",187],[17,"Output"],[10,"Fn",320],[10,"Send",321],[10,"Sync",321],[5,"CookieSessionStore",187],[10,"Future",322],[6,"LoadError",187],[6,"SaveError",187],[6,"UpdateError",187]],"b":[[35,"impl-Display-for-SessionGetError"],[36,"impl-Debug-for-SessionGetError"],[37,"impl-Display-for-SessionInsertError"],[38,"impl-Debug-for-SessionInsertError"],[141,"impl-From%3CBrowserSession%3E-for-SessionLifecycle"],[142,"impl-From%3CPersistentSession%3E-for-SessionLifecycle"],[226,"impl-Display-for-LoadError"],[227,"impl-Debug-for-LoadError"],[228,"impl-Display-for-SaveError"],[229,"impl-Debug-for-SaveError"],[230,"impl-Display-for-UpdateError"],[231,"impl-Debug-for-UpdateError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAALsAFQALAAkAFwAFAB4AAAAgAAcAKwAAAC4AAQA5AAAAPgABAEIAGABnAAsAdAAJAIUABgCOAAEAnwAcAMoADgDcAAIA4AAJAPkAAQD9AB4AHQEBACABCAA=","a":{"expires":[154],"max age":[154],"max_age":[154]}}],\ -["actix_settings",{"t":"FFKGFPPPPPPPPPGPPPGPPPPGGPGFGPKPPPPPPIGFPOOOOMONNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNOOOOONNMNNNNNNNNNOOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOO","n":["ActixSettings","Address","ApplySettings","Backlog","BasicSettings","Default","Default","Default","Default","Default","Default","Development","Disabled","EnvVarError","Error","FileExists","InvalidValue","IoError","KeepAlive","Manual","Manual","Manual","Manual","MaxConnectionRate","MaxConnections","Milliseconds","Mode","NoSettings","NumWorkers","Os","Parse","ParseAddressError","ParseBoolError","ParseIntError","Production","Seconds","Seconds","Settings","Timeout","Tls","TomlError","actix","actix","application","application","apply_settings","backlog","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","certificate","client_shutdown","client_timeout","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","enable_compression","enable_log","enabled","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_default_template","from_template","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","host","hosts","into","into","into","into","into","into","into","into","into","into","into","into","into","keep_alive","max_connection_rate","max_connections","mode","num_workers","override_field","override_field_with_env_var","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse_toml","port","private_key","shutdown_timeout","source","tls","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","write_toml_file","column","expected","file","got","line"],"q":[[0,"actix_settings"],[312,"actix_settings::Error"],[317,"core::clone"],[318,"core::result"],[319,"serde::de"],[320,"serde::de"],[321,"core::fmt"],[322,"core::fmt"],[323,"core::str::error"],[324,"toml::de"],[325,"std::env"],[326,"core::num::error"],[327,"serde::de"],[328,"core::hash"],[329,"std::path"],[330,"core::error"],[331,"core::option"],[332,"alloc::string"],[333,"core::any"]],"i":[0,0,0,0,0,3,4,5,6,8,9,7,4,21,0,21,21,21,0,3,5,6,8,0,0,9,0,0,0,4,0,21,21,21,7,4,9,0,0,0,21,41,12,41,12,1,11,21,2,3,4,5,6,7,8,9,10,11,12,14,21,2,3,4,5,6,7,8,9,10,11,12,14,10,11,11,2,3,4,5,6,7,8,9,10,11,12,14,2,3,4,5,6,7,8,9,10,11,12,14,2,3,4,5,6,7,8,9,10,11,12,14,11,11,10,2,3,4,5,6,7,8,9,10,11,12,14,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8,9,9,9,10,10,10,11,11,11,12,12,12,14,14,14,21,21,2,3,4,5,6,7,8,9,10,11,12,14,21,21,21,21,21,21,2,3,4,5,6,7,8,9,10,11,12,14,12,12,2,3,4,5,6,7,8,9,10,11,12,14,2,11,21,2,3,4,5,6,7,8,9,10,11,12,14,11,11,11,11,11,12,12,34,2,3,4,5,6,7,8,9,12,2,10,11,21,11,2,3,4,5,6,7,8,9,10,11,12,14,21,21,2,3,4,5,6,7,8,9,10,11,12,14,21,2,3,4,5,6,7,8,9,10,11,12,14,21,2,3,4,5,6,7,8,9,10,11,12,14,21,2,3,4,5,6,7,8,9,10,11,12,14,12,42,42,42,42,42],"f":"`````````````````````````````````````````````{{bc}b{}}`{ce{}{}}0000000000000000000000000```{dd}{ff}{hh}{jj}{ll}{nn}{A`A`}{AbAb}{AdAd}{AfAf}{{{Ah{c}}}{{Ah{c}}}Aj}{AlAl}{{ce}An{}{}}00000000000{c{{B`{d}}}Bb}{c{{B`{f}}}Bb}{c{{B`{h}}}Bb}{c{{B`{j}}}Bb}{c{{B`{l}}}Bb}{c{{B`{n}}}Bb}{c{{B`{A`}}}Bb}{c{{B`{Ab}}}Bb}{c{{B`{Ad}}}Bb}{c{{B`{Af}}}Bb}{c{{B`{{Ah{e}}}}}BbBd}{c{{B`{Al}}}Bb}```{{dd}Bf}{{ff}Bf}{{hh}Bf}{{jj}Bf}{{ll}Bf}{{nn}Bf}{{A`A`}Bf}{{AbAb}Bf}{{AdAd}Bf}{{AfAf}Bf}{{{Ah{c}}{Ah{c}}}BfBh}{{AlAl}Bf}{{ce}Bf{}{}}00000000000000000000000000000000000{{BjBl}Bn}0{{dBl}Bn}{{fBl}Bn}{{hBl}Bn}{{jBl}Bn}{{lBl}Bn}{{nBl}Bn}{{A`Bl}Bn}{{AbBl}Bn}{{AdBl}Bn}{{AfBl}Bn}{{{Ah{c}}Bl}BnC`}{{AlBl}Bn}{CbBj}{cc{}}{CdBj}{CfBj}{ChBj}{CjBj}444444444444{{}{{Ah{c}}}Cl}{Cn{{B`{{Ah{c}}Bj}}}Cl}{{dc}AnD`}{{fc}AnD`}{{hc}AnD`}{{jc}AnD`}{{lc}AnD`}{{nc}AnD`}{{A`c}AnD`}{{Abc}AnD`}{{Adc}AnD`}{{Afc}AnD`}{{{Ah{c}}e}AnDbD`}{{Alc}AnD`}``{ce{}{}}000000000000`````{{ce}{{B`{AnBj}}}Dd{{Df{Cn}}}}0{Cn{{B`{DdBj}}}}{Cn{{B`{dBj}}}}{Cn{{B`{fBj}}}}{Cn{{B`{hBj}}}}{Cn{{B`{jBj}}}}{Cn{{B`{lBj}}}}{Cn{{B`{nBj}}}}{Cn{{B`{A`Bj}}}}{Cn{{B`{AbBj}}}}{c{{B`{{Ah{e}}Bj}}}{{Df{Dh}}}Cl}```{Bj{{Dl{Dj}}}}`<<<<<<<<<<<<{cDn{}}{c{{B`{e}}}{}{}}0000000000000000000000000{cE`{}}000000000000?????????????{c{{B`{AnBj}}}{{Df{Dh}}}}`````","D":"Ld","p":[[10,"ApplySettings",0],[5,"Address",0],[6,"Backlog",0],[6,"KeepAlive",0],[6,"MaxConnectionRate",0],[6,"MaxConnections",0],[6,"Mode",0],[6,"NumWorkers",0],[6,"Timeout",0],[5,"Tls",0],[5,"ActixSettings",0],[5,"BasicSettings",0],[10,"Clone",317],[5,"NoSettings",0],[1,"unit"],[6,"Result",318],[10,"Deserializer",319],[10,"Deserialize",319],[1,"bool"],[10,"PartialEq",320],[6,"Error",0],[5,"Formatter",321],[8,"Result",321],[10,"Debug",321],[5,"Error",322],[5,"ParseBoolError",323],[5,"Error",324],[6,"VarError",325],[5,"ParseIntError",326],[10,"DeserializeOwned",319],[1,"str"],[10,"Hasher",327],[10,"Hash",327],[10,"Parse",0],[10,"AsRef",328],[5,"Path",329],[10,"Error",330],[6,"Option",331],[5,"String",332],[5,"TypeId",333],[8,"Settings",0],[15,"InvalidValue",312]],"b":[[163,"impl-Debug-for-Error"],[164,"impl-Display-for-Error"],[177,"impl-From%3CError%3E-for-Error"],[179,"impl-From%3CParseBoolError%3E-for-Error"],[180,"impl-From%3CError%3E-for-Error"],[181,"impl-From%3CVarError%3E-for-Error"],[182,"impl-From%3CParseIntError%3E-for-Error"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAANsACQAwABkATQAjAHQAPgC0AAMAxgALAOkABwD1AAAA9wBAADkBBAA=","a":{"https":[39],"ssl":[39]}}],\ -["actix_web_httpauth",{"t":"CCCKFRCCNNNNNNNNNMNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFGPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCCFPFFPPPGKPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKFCCNNNNNNNNNNNNNNMNNNNNNNFNNNNNNNNNNNNNNNNNNNNNNFFGPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNN","n":["extractors","headers","middleware","AuthExtractorConfig","AuthenticationError","Inner","basic","bearer","borrow","borrow_mut","challenge_mut","error_response","fmt","fmt","from","from","into","into_inner","new","status_code","status_code_mut","to_string","try_from","try_into","type_id","vzip","with_error","with_error_description","with_error_uri","BasicAuth","Config","as_ref","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","default","fmt","fmt","from","from","from","from_request","into","into","into_inner","password","realm","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","user_id","vzip","vzip","BearerAuth","Config","Error","InsufficientScope","InvalidRequest","InvalidToken","as_ref","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","cmp","default","eq","fmt","fmt","fmt","fmt","from","from","from","from_request","hash","into","into","into","into_inner","partial_cmp","realm","scope","status_code","to_owned","to_owned","to_owned","to_string","token","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","authorization","www_authenticate","Authorization","Base64DecodeError","Basic","Bearer","Invalid","MissingField","MissingScheme","ParseError","Scheme","ToStrError","Utf8Error","as_mut","as_ref","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","cmp","cmp","cmp","default","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","hash","into","into","into","into","into_scheme","name","new","new","parse","parse","parse","parse","partial_cmp","partial_cmp","partial_cmp","password","source","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","token","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into_pair","try_into_value","try_into_value","try_into_value","type_id","type_id","type_id","type_id","user_id","vzip","vzip","vzip","vzip","Challenge","WwwAuthenticate","basic","bearer","borrow","borrow_mut","clone","clone_into","cmp","default","eq","fmt","from","hash","into","name","parse","partial_cmp","to_bytes","to_owned","try_from","try_into","try_into_pair","try_into_value","type_id","vzip","Basic","borrow","borrow_mut","clone","clone_into","cmp","default","eq","fmt","fmt","from","hash","into","new","partial_cmp","to_owned","to_string","try_from","try_into","try_into_value","type_id","vzip","with_realm","Bearer","BearerBuilder","Error","InsufficientScope","InvalidRequest","InvalidToken","borrow","borrow","borrow_mut","borrow_mut","build","clone","clone_into","cmp","default","default","eq","error","error_description","error_uri","finish","fmt","fmt","fmt","from","from","hash","into","into","partial_cmp","realm","scope","to_owned","to_string","try_from","try_from","try_into","try_into","try_into_value","type_id","type_id","vzip","vzip","HttpAuthentication","basic","bearer","borrow","borrow_mut","clone","clone_into","fmt","from","into","new_transform","to_owned","try_from","try_into","type_id","vzip","with_fn"],"q":[[0,"actix_web_httpauth"],[3,"actix_web_httpauth::extractors"],[29,"actix_web_httpauth::extractors::basic"],[63,"actix_web_httpauth::extractors::bearer"],[119,"actix_web_httpauth::headers"],[121,"actix_web_httpauth::headers::authorization"],[218,"actix_web_httpauth::headers::www_authenticate"],[244,"actix_web_httpauth::headers::www_authenticate::basic"],[267,"actix_web_httpauth::headers::www_authenticate::bearer"],[310,"actix_web_httpauth::middleware"],[327,"actix_web::response::response"],[328,"core::fmt"],[329,"core::fmt"],[330,"alloc::string"],[331,"core::result"],[332,"core::any"],[333,"alloc::borrow"],[334,"core::convert"],[335,"actix_web::request"],[336,"actix_http::payload"],[337,"core::option"],[338,"core::cmp"],[339,"core::hash"],[340,"core::clone"],[341,"core::cmp"],[342,"core::cmp"],[343,"base64::decode"],[344,"http::header::value"],[345,"core::hash"],[346,"http::header::value"],[347,"actix_http::http_message"],[348,"core::cmp"],[349,"bytes::bytes"],[350,"core::fmt"],[351,"actix_web::error::error"],[352,"core::future::future"],[353,"core::ops::function"],[354,"actix_web::extract"],[355,"actix_http::body::message_body"],[356,"actix_web::service"]],"i":[0,0,0,0,0,7,0,0,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,0,0,18,18,20,18,20,18,20,18,20,18,18,20,18,20,20,20,18,20,18,20,18,18,20,18,20,18,20,18,20,20,18,20,0,0,0,14,14,14,26,26,27,14,26,27,14,26,27,14,26,27,14,14,26,14,26,27,14,14,26,27,14,27,14,26,27,14,26,14,26,26,14,26,27,14,14,27,26,27,14,26,27,14,26,27,14,26,27,14,0,0,0,38,0,0,38,38,38,0,0,38,38,31,31,38,31,22,34,38,31,22,34,31,22,34,31,22,34,31,22,34,31,31,22,34,38,38,31,31,22,22,34,34,38,38,38,38,31,31,22,34,31,38,31,22,34,31,31,22,34,32,31,22,34,31,22,34,22,38,31,22,34,38,31,22,34,34,38,31,22,34,38,31,22,34,31,31,22,34,38,31,22,34,22,38,31,22,34,0,0,0,0,50,50,50,50,50,50,50,50,50,50,50,50,50,50,2,50,50,50,50,50,50,50,0,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,0,0,0,14,14,14,53,13,53,13,13,13,13,13,53,13,13,53,53,53,53,53,13,13,53,13,13,53,13,13,53,53,13,13,53,13,53,13,13,53,13,53,13,0,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54],"f":"````````{ce{}{}}0{{{b{c}}}cd}{{{b{c}}}fd}{{{b{c}}h}j{ld}}{{{b{c}}h}jd}{cbn}{cc{}}6{{{n{}{{A`{c}}}}}cd}{c{{b{c}}}d}{{{b{c}}}Abd}0{cAd{}}{c{{Af{e}}}{}{}}0{cAh{}}<{{{b{Aj}}Al}{{b{Aj}}}}{{{b{Aj}}c}{{b{Aj}}}{{Bb{{B`{An}}}}}}0``{BdBf}????{BdBd}{BhBh}{{ce}Bj{}{}}0{{}Bd}{{Bdh}j}{{Bhh}j}?{BlBh}{cc{}}{{BnC`}c{}}{ce{}{}}0{Bdc{}}{Bh{{Cb{An}}}}{{Bdc}Bd{{Bb{{B`{An}}}}}}33{c{{Af{e}}}{}{}}000{cAh{}}0{BhAn}66``````{CdAj}777777{CdCd}{CfCf}{AlAl}{{ce}Bj{}{}}00{{AlAl}Ch}{{}Cd}{{AlAl}Cj}{{Cdh}j}{{Cfh}j}{{Alh}j}0{cc{}}00{{BnC`}c{}}{{Alc}BjCl}{ce{}{}}00{Cdc{}}{{AlAl}{{Cb{Ch}}}}{{Cdc}Cd{{Bb{{B`{An}}}}}}0{AlAb}444{cAd{}}{CfAn}{c{{Af{e}}}{}{}}00000{cAh{}}00888`````````````{{{Cn{c}}}cD`}099999999{{{Cn{c}}}{{Cn{c}}}{DbD`}}{BlBl}{DdDd}{{ce}Bj{}{}}00{{{Cn{c}}{Cn{c}}}Ch{DfD`}}{{BlBl}Ch}{{DdDd}Ch}{{}{{Cn{c}}}{DhD`}}{{{Cn{c}}{Cn{c}}}Cj{DjD`}}{{BlBl}Cj}{{DdDd}Cj}{{Dlh}j}0{{{Cn{c}}h}jD`}{{{Cn{c}}h}j{lD`}}{{Blh}j}0{{Ddh}j}0{cc{}}{DnDl}{E`Dl}{EbDl}{c{{Cn{c}}}D`}444{{{Cn{c}}e}Bj{EdD`}Cl}{ce{}{}}000{{{Cn{c}}}cD`}{{}Ef}{{c{Cb{e}}}Bl{{Bb{{B`{An}}}}}{{Bb{{B`{An}}}}}}{cDd{{Bb{{B`{An}}}}}}{Eh{{Af{D`Dl}}}}{c{{Af{{Cn{e}}Ej}}}ElD`}{Eh{{Af{BlDl}}}}{Eh{{Af{DdDl}}}}{{{Cn{c}}{Cn{c}}}{{Cb{Ch}}}{EnD`}}{{BlBl}{{Cb{Ch}}}}{{DdDd}{{Cb{Ch}}}}{Bl{{Cb{An}}}}{Dl{{Cb{F`}}}}==={cAd{}}000{DdAn}{c{{Af{e}}}{}{}}0000000{c{{Af{{Fb{EfEh}}}}}{}}{{{Cn{c}}}{{Af{Ehe}}}D`{}}{Bl{{Af{Ehc}}}{}}{Dd{{Af{Ehc}}}{}}{cAh{}}000{BlAn}{ce{}{}}000````00{{{Fd{c}}}{{Fd{c}}}{Dbd}}{{ce}Bj{}{}}{{{Fd{c}}{Fd{c}}}Ch{Dfd}}{{}{{Fd{c}}}{Dhd}}{{{Fd{c}}{Fd{c}}}Cj{Djd}}{{{Fd{c}}h}j{ld}}{cc{}}{{{Fd{c}}e}Bj{Edd}Cl}8{{}Ef}{c{{Af{{Fd{e}}Ej}}}Eld}{{{Fd{c}}{Fd{c}}}{{Cb{Ch}}}{End}}{dFf}<{c{{Af{e}}}{}{}}0{c{{Af{{Fb{EfEh}}}}}{}}{{{Fd{c}}}{{Af{Ehe}}}d{}}{cAh{}}{ce{}{}}`00{BfBf}{{ce}Bj{}{}}{{BfBf}Ch}{{}Bf}{{BfBf}Cj}{{Bfh}j}{{Bfh}{{Af{BjFh}}}}{cc{}}{{Bfc}BjCl}95{{BfBf}{{Cb{Ch}}}}:{cAd{}}??{Bf{{Af{Ehc}}}{}}=<{cBf{{Bb{{B`{An}}}}}}``````===={{}Fj}{AjAj}={{AjAj}Ch}2{{}Aj}{{AjAj}Cj}{{FjAl}Fj}{{Fjc}Fj{{Bb{{B`{An}}}}}}0{FjAj}{{Fjh}j}{{Ajh}j}{{Ajh}{{Af{BjFh}}}}{cc{}}0{{Ajc}BjCl}{ce{}{}}0{{AjAj}{{Cb{Ch}}}}881{cAd{}}{c{{Af{e}}}{}{}}000{Aj{{Af{Ehc}}}{}}{cAh{}}055`{e{{Fl{Bhe}}}{{Gd{}{{Fn{{Af{G`{Fb{GbG`}}}}}}}}}{{Gf{G`Bh}{{Fn{c}}}}}}{e{{Fl{Cfe}}}{{Gd{}{{Fn{{Af{G`{Fb{GbG`}}}}}}}}}{{Gf{G`Cf}{{Fn{c}}}}}}77{{{Fl{ce}}}{{Fl{ce}}}{GhDb}Db}{{ce}Bj{}{}}{{{Fl{ce}}h}j{Ghl}l}<:{{{Fl{cg}}k}mGh{{Gd{}{{Fn{{Af{G`{Fb{GbG`}}}}}}}}}{{Gf{G`c}{{Fn{e}}}}}Gj{{Hb{G`}{{Gl{{Gn{i}}}}{H`{Gb}}}}}{}};886;{g{{Fl{cg}}}Gh{{Gd{}{{Fn{{Af{G`{Fb{GbG`}}}}}}}}}{{Gf{G`c}{{Fn{e}}}}}}","D":"Md","p":[[5,"AuthenticationError",3],[10,"Challenge",218],[5,"HttpResponse",327],[5,"Formatter",328],[8,"Result",328],[10,"Debug",328],[10,"AuthExtractorConfig",3],[17,"Inner"],[5,"StatusCode",329],[5,"String",330],[6,"Result",331],[5,"TypeId",332],[5,"Bearer",267],[6,"Error",63],[1,"str"],[6,"Cow",333],[10,"Into",334],[5,"Config",29],[5,"Basic",244],[5,"BasicAuth",29],[1,"unit"],[5,"Basic",121],[5,"HttpRequest",335],[6,"Payload",336],[6,"Option",337],[5,"Config",63],[5,"BearerAuth",63],[6,"Ordering",338],[1,"bool"],[10,"Hasher",339],[5,"Authorization",121],[10,"Scheme",121],[10,"Clone",340],[5,"Bearer",121],[10,"Ord",338],[10,"Default",341],[10,"PartialEq",338],[6,"ParseError",121],[5,"Utf8Error",342],[6,"DecodeError",343],[5,"ToStrError",344],[10,"Hash",339],[5,"HeaderName",345],[5,"HeaderValue",344],[6,"ParseError",346],[10,"HttpMessage",347],[10,"PartialOrd",338],[10,"Error",348],[1,"tuple"],[5,"WwwAuthenticate",218],[5,"Bytes",349],[5,"Error",328],[5,"BearerBuilder",267],[5,"HttpAuthentication",310],[17,"Output"],[5,"ServiceRequest",350],[5,"Error",351],[10,"Future",352],[10,"Fn",353],[10,"FromRequest",354],[10,"MessageBody",355],[17,"Response"],[5,"ServiceResponse",350],[17,"Error"],[10,"Service",356]],"b":[[12,"impl-Debug-for-AuthenticationError%3CC%3E"],[13,"impl-Display-for-AuthenticationError%3CC%3E"],[87,"impl-Display-for-Error"],[88,"impl-Debug-for-Error"],[155,"impl-Display-for-ParseError"],[156,"impl-Debug-for-ParseError"],[157,"impl-Display-for-Authorization%3CS%3E"],[158,"impl-Debug-for-Authorization%3CS%3E"],[159,"impl-Display-for-Basic"],[160,"impl-Debug-for-Basic"],[161,"impl-Display-for-Bearer"],[162,"impl-Debug-for-Bearer"],[164,"impl-From%3CUtf8Error%3E-for-ParseError"],[165,"impl-From%3CDecodeError%3E-for-ParseError"],[166,"impl-From%3CToStrError%3E-for-ParseError"],[252,"impl-Debug-for-Basic"],[253,"impl-Display-for-Basic"],[289,"impl-Debug-for-Bearer"],[290,"impl-Display-for-Bearer"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAN0AJgAJAAEADAADABQAAAAWAAQAIAALAC0AAAAvAAAAMgAAADUABwA+AAEARgATAF0AAQBiAAEAZwADAGwACwCFAB4ApQADAKwAAACyAAAAtgAFAL0ABwDGAA8A1wADAN8ABwDoAAAA6gACAO4ABgD2AAgAAAEAAAMBBwASAQMAFwEFACEBAgAmAQAAKQEAACwBCgA6AQQAQQEFAA=="}],\ -["actix_ws",{"t":"PPPPPPGFFPPPPPPPPPPPGFPPPPPPPGPFPFPPPNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["Abnormal","Again","Away","BadOpCode","Binary","Close","CloseCode","CloseReason","Closed","Continuation","ContinuationFragment","ContinuationNotStarted","ContinuationStarted","Error","Extension","Invalid","InvalidLength","InvalidOpcode","Io","MaskedFrame","Message","MessageStream","Nop","Normal","Overflow","Ping","Policy","Pong","Protocol","ProtocolError","Restart","Session","Size","StreamingBody","Text","UnmaskedFrame","Unsupported","binary","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","close","code","description","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","handle","into","into","into","into","into","into","into","into","ping","poll_next","poll_next","pong","recv","source","text","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_poll_next","try_poll_next","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip"],"q":[[0,"actix_ws"],[143,"core::result"],[144,"bytes::bytes"],[145,"core::convert"],[146,"core::option"],[147,"core::fmt"],[148,"core::fmt"],[149,"std::io::error"],[150,"actix_http::ws::proto"],[151,"actix_web::request"],[152,"actix_web::types::payload"],[153,"actix_web::response::response"],[154,"actix_web::error::error"],[155,"core::pin"],[156,"core::task::wake"],[157,"core::task::poll"],[158,"core::error"],[159,"bytestring"],[160,"core::any"]],"i":[7,7,7,15,10,10,0,0,0,10,15,15,15,7,7,7,15,15,15,15,0,0,10,7,15,10,7,10,7,0,7,0,7,0,10,15,7,1,29,26,1,3,10,7,8,15,29,26,1,3,10,7,8,15,1,7,8,1,7,8,1,8,8,10,7,8,3,3,10,7,8,15,15,29,26,1,3,10,7,7,8,8,8,15,15,15,15,15,0,29,26,1,3,10,7,8,15,1,29,26,1,26,15,1,1,7,8,3,15,29,26,1,3,10,7,8,15,29,26,1,3,10,7,8,15,29,26,29,26,1,3,10,7,8,15,29,26,1,3,10,7,8,15],"f":"`````````````````````````````````````{{bc}{{h{df}}}{{l{j}}}}{ce{}{}}000000000000000{bb}{nn}{A`A`}{{ce}d{}{}}00{{b{Ab{A`}}}{{h{df}}}}``{{AdAd}Af}{{nn}Af}{{A`A`}Af}{{fAh}Aj}0{{AdAh}{{h{dAl}}}}{{nAh}{{h{dAl}}}}{{A`Ah}{{h{dAl}}}}{{AnAh}{{h{dAl}}}}0{cc{}}00000{B`n}{{{Bb{nc}}}A`{{l{Bd}}}}{nA`}3{BfAn}{BhAn}{BjAn}6{BlAn}{{BnC`}{{h{{Bb{CbbCd}}Cf}}}}{ce{}{}}0000000{{b{Ch{Bl}}}{{h{df}}}}{{{Cl{Cj}}Cn}{{D`{{Ab{c}}}}}{}}{{{Cl{Cd}}Cn}{{D`{{Ab{c}}}}}{}}2{Cd{{Ab{{h{AdAn}}}}}}{An{{Ab{Db}}}}{{bc}{{h{df}}}{{l{Dd}}}}666{cBd{}}0{c{{h{e}}}{}{}}000000000000000{{{Cl{c}}Cn}{{D`{{Ab{h}}}}}{}}0{cDf{}}0000000::::::::","D":"Gn","p":[[5,"Session",0],[1,"unit"],[5,"Closed",0],[6,"Result",143],[5,"Bytes",144],[10,"Into",145],[6,"CloseCode",0],[5,"CloseReason",0],[6,"Option",146],[6,"Message",0],[1,"bool"],[5,"Formatter",147],[8,"Result",147],[5,"Error",147],[6,"ProtocolError",0],[1,"u16"],[1,"tuple"],[5,"String",148],[5,"Error",149],[1,"usize"],[6,"OpCode",150],[1,"u8"],[5,"HttpRequest",151],[5,"Payload",152],[5,"HttpResponse",153],[5,"MessageStream",0],[5,"Error",154],[1,"slice"],[5,"StreamingBody",0],[5,"Pin",155],[5,"Context",156],[6,"Poll",157],[10,"Error",158],[5,"ByteString",159],[5,"TypeId",160]],"b":[[66,"impl-Debug-for-Closed"],[67,"impl-Display-for-Closed"],[71,"impl-Debug-for-ProtocolError"],[72,"impl-Display-for-ProtocolError"],[80,"impl-From%3C(CloseCode,+T)%3E-for-CloseReason"],[81,"impl-From%3CCloseCode%3E-for-CloseReason"],[83,"impl-From%3CError%3E-for-ProtocolError"],[84,"impl-From%3Cusize%3E-for-ProtocolError"],[85,"impl-From%3COpCode%3E-for-ProtocolError"],[87,"impl-From%3Cu8%3E-for-ProtocolError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAFAACAAnABUAQAAJAFAAAgBUAAIAWAAAAGMAAQBnAAAAaQAmAA=="}]\ +["actix_cors",{"t":"PPFGEPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["BadRequestHeaders","BadRequestMethod","Cors","CorsError","CorsMiddleware","HeadersNotAllowed","MethodNotAllowed","MissingOrigin","MissingRequestMethod","OriginNotAllowed","WildcardOrigin","allow_any_header","allow_any_method","allow_any_origin","allow_private_network_access","allowed_header","allowed_headers","allowed_methods","allowed_origin","allowed_origin_fn","block_on_origin_mismatch","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","default","disable_preflight","disable_vary_header","error_response","expose_any_header","expose_headers","fmt","fmt","fmt","from","from","into","into","max_age","new_transform","permissive","send_wildcard","status_code","supports_credentials","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip"],"q":[[0,"actix_cors"],[56,"actix_cors::builder"],[57,"http::header::name"],[58,"core::convert"],[59,"core::iter::traits::collect"],[60,"http::method"],[61,"http::header::value"],[62,"actix_http::requests::head"],[63,"core::ops::function"],[64,"actix_cors::error"],[65,"actix_web::response::response"],[66,"core::fmt"],[67,"core::option"],[68,"actix_http::body::message_body"],[69,"actix_web::service"],[70,"actix_web::error::error"],[71,"actix_service"],[72,"http::status"],[73,"alloc::string"],[74,"core::result"],[75,"core::any"],[76,"actix_cors::middleware"]],"i":[13,13,0,0,0,13,13,13,13,13,13,1,1,1,1,1,1,1,1,1,1,1,13,1,13,13,13,1,1,1,13,1,1,1,13,13,1,13,1,13,1,1,1,1,13,1,13,13,1,13,1,13,1,13,1,13],"f":"```````````{bb}000{{bc}b{{f{d}}}}{{be}b{{f{d}}}{{j{}{{h{c}}}}}}{{be}b{{f{l}}}{{j{}{{h{c}}}}}}{{bn}b}{{bc}b{{Ah{A`Ab}{{Ad{Af}}}}}}{{bAf}b}{ce{}{}}000{AjAj}{{ce}Al{}{}}{{}b}::{AjAn};9{{bB`}Bb}{{AjB`}Bb}0{cc{}}077{{bc}b{{Bh{{Bf{Bd}}}}}}{{be}gBj{{Cf{Bl}{{Bn{{C`{c}}}}{Cb{Cd}}}}}{}}6{bb}{AjCh}1;{cCj{}}{c{{Cl{e}}}{}{}}000{cCn{}}0>>","D":"Dd","p":[[5,"Cors",0,56],[5,"HeaderName",57],[10,"TryInto",58],[17,"Item"],[10,"IntoIterator",59],[5,"Method",60],[1,"str"],[5,"HeaderValue",61],[5,"RequestHead",62],[17,"Output"],[1,"bool"],[10,"Fn",63],[6,"CorsError",0,64],[1,"unit"],[5,"HttpResponse",65],[5,"Formatter",66],[8,"Result",66],[1,"usize"],[6,"Option",67],[10,"Into",58],[10,"MessageBody",68],[5,"ServiceRequest",69],[17,"Response"],[5,"ServiceResponse",69],[17,"Error"],[5,"Error",70],[10,"Service",71],[5,"StatusCode",72],[5,"String",73],[6,"Result",74],[5,"TypeId",75]],"r":[[2,56],[3,64],[4,76]],"b":[[34,"impl-Display-for-CorsError"],[35,"impl-Debug-for-CorsError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAABYABwAFAAAAFgAFAB8AAAAiAAIAKgAAAC0AAAAvAAkA"}],\ +["actix_identity",{"t":"FKFNNNNNNNCNCNNNMNNNNNNNNNNNNNNNPFGPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGFFPFPFPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["Identity","IdentityExt","IdentityMiddleware","borrow","borrow","borrow_mut","borrow_mut","builder","clone","clone_into","config","default","error","from","from","from_request","get_identity","id","into","into","login","logout","new_transform","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","DeleteIdentityKeys","IdentityMiddlewareBuilder","LogoutBehaviour","PurgeSession","borrow","borrow","borrow_mut","borrow_mut","build","clone","clone","clone_into","clone_into","fmt","fmt","from","from","id_key","into","into","last_visit_unix_timestamp_key","login_deadline","login_unix_timestamp_key","logout_behaviour","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","visit_deadline","vzip","vzip","GetIdentityError","LoginError","LostIdentityError","LostIdentityError","MissingIdentityError","MissingIdentityError","SessionExpiryError","SessionExpiryError","SessionGetError","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","into","into","into","into","into","source","source","status_code","status_code","to_string","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip"],"q":[[0,"actix_identity"],[32,"actix_identity::config"],[67,"actix_identity::error"],[140,"actix_identity::middleware"],[141,"actix_web::request"],[142,"actix_http::payload"],[143,"actix_identity::identity_ext"],[144,"actix_identity::identity"],[145,"core::result"],[146,"alloc::string"],[147,"actix_http::extensions"],[148,"actix_http::body::message_body"],[149,"actix_web::service"],[150,"actix_web::error::error"],[151,"actix_service"],[152,"core::any"],[153,"core::fmt"],[154,"core::time"],[155,"core::option"],[156,"actix_session::session"],[157,"core::error"],[158,"http::status"]],"i":[0,0,0,7,2,7,2,2,2,2,0,2,0,7,2,7,6,7,7,2,7,7,2,2,7,2,7,2,7,2,7,2,21,0,0,21,21,1,21,1,1,21,1,21,1,21,1,21,1,1,21,1,1,1,1,1,21,1,21,1,21,1,21,1,1,21,1,0,0,0,8,0,8,0,8,8,12,27,28,29,8,12,27,28,29,8,12,12,27,27,28,28,29,29,8,8,12,12,27,28,29,8,8,8,8,8,12,27,28,29,8,12,8,12,8,12,27,28,29,8,12,27,28,29,8,12,27,28,29,8,12,27,28,29,8,12,27,28,29,8],"f":"```{ce{}{}}000{{}b}{dd}{{ce}f{}{}}`{{}d}`{cc{}}0{{hj}c{}}{l{{Ab{nA`}}}}{n{{Ab{AdA`}}}}88{{AfAd}{{Ab{nAh}}}}{nf}{{de}gAj{{Bf{Al}{{An{{B`{c}}}}{Bb{Bd}}}}}{}};{c{{Ab{e}}}{}{}}000{cBh{}}0==````===={bd}{BjBj}{bb}=={{BjBl}Bn}{{bBl}Bn}=={{bC`}b}{ce{}{}}01{{b{Cd{Cb}}}b}2{{bBj}b}22::::99122`````````2222222222{{AhBl}Bn}0{{CfBl}Bn}0{{ChBl}Bn}0{{CjBl}Bn}0{{A`Bl}Bn}0{ClAh}{cc{}}000{ChA`}{CjA`}{CfA`}3{CnA`}====={Ah{{Cd{D`}}}}{A`{{Cd{D`}}}}{AhDb}{A`Db}{cAd{}}0000{c{{Ab{e}}}{}{}}000000000{cBh{}}0000{ce{}{}}0000","D":"Fb","p":[[5,"IdentityMiddlewareBuilder",32],[5,"IdentityMiddleware",0,140],[1,"unit"],[5,"HttpRequest",141],[6,"Payload",142],[10,"IdentityExt",0,143],[5,"Identity",0,144],[6,"GetIdentityError",67],[6,"Result",145],[5,"String",146],[5,"Extensions",147],[5,"LoginError",67],[10,"MessageBody",148],[5,"ServiceRequest",149],[17,"Response"],[5,"ServiceResponse",149],[17,"Error"],[5,"Error",150],[10,"Service",151],[5,"TypeId",152],[6,"LogoutBehaviour",32],[5,"Formatter",153],[8,"Result",153],[1,"str"],[5,"Duration",154],[6,"Option",155],[5,"SessionExpiryError",67],[5,"LostIdentityError",67],[5,"MissingIdentityError",67],[5,"SessionInsertError",156],[5,"SessionGetError",156],[10,"Error",157],[5,"StatusCode",158]],"r":[[0,144],[1,143],[2,140]],"b":[[86,"impl-Display-for-LoginError"],[87,"impl-Debug-for-LoginError"],[88,"impl-Display-for-SessionExpiryError"],[89,"impl-Debug-for-SessionExpiryError"],[90,"impl-Debug-for-LostIdentityError"],[91,"impl-Display-for-LostIdentityError"],[92,"impl-Debug-for-MissingIdentityError"],[93,"impl-Display-for-MissingIdentityError"],[94,"impl-Display-for-GetIdentityError"],[95,"impl-Debug-for-GetIdentityError"],[101,"impl-From%3CLostIdentityError%3E-for-GetIdentityError"],[102,"impl-From%3CMissingIdentityError%3E-for-GetIdentityError"],[103,"impl-From%3CSessionExpiryError%3E-for-GetIdentityError"],[105,"impl-From%3CSessionGetError%3E-for-GetIdentityError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAFsADQAEAAMACQABAAwAAAAQAAAAFwAJACUAAwAqAAUAOQAHAEIAAQBNABQAZgACAGoAAABwABwA"}],\ +["actix_limitation",{"t":"FPSSSSGPFPFFPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["Builder","Client","DEFAULT_COOKIE_NAME","DEFAULT_PERIOD_SECS","DEFAULT_REQUEST_LIMIT","DEFAULT_SESSION_KEY","Error","LimitExceeded","Limiter","Other","RateLimiter","Status","Time","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","builder","clone","clone","clone_into","clone_into","cookie_name","count","default","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","into","into","into","into","into","key_by","limit","limit","new_transform","period","remaining","reset_epoch_utc","session_key","source","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip"],"q":[[0,"actix_limitation"],[82,"actix_limitation::builder"],[83,"actix_limitation::errors"],[84,"core::result"],[85,"alloc::string"],[86,"core::convert"],[87,"actix_limitation::status"],[88,"alloc::borrow"],[89,"actix_limitation::middleware"],[90,"core::fmt"],[91,"redis::types"],[92,"time::error::component_range"],[93,"actix_web::service"],[94,"core::option"],[95,"core::ops::function"],[96,"core::marker"],[97,"actix_web::error::error"],[98,"actix_service"],[99,"core::time"],[100,"core::error"],[101,"core::any"]],"i":[0,3,0,0,0,0,0,3,0,3,0,0,3,1,3,11,7,2,1,3,11,7,2,1,2,7,2,7,2,1,2,11,1,3,3,11,7,2,1,3,3,3,11,7,2,1,3,11,7,2,1,1,7,11,1,7,7,1,3,7,2,3,1,3,11,7,2,1,3,11,7,2,1,3,11,7,2,1,3,11,7,2],"f":"`````````````{ce{}{}}000000000{b{{h{df}}}}{cb{{l{j}}}}{nn}{dd}{{ce}A`{}{}}0{{bc}b{{l{{Ad{Ab}}}}}}{{dc}{{h{nf}}}{{l{j}}}}{{}Af}{{bAh}Aj}{{fAh}Aj}0{{AfAh}Aj}{{nAh}Aj}{{dAh}Aj}{cc{}}{Alf}{Anf}2222{ce{}{}}0000{{bc}b{{Bf{B`}{{Bb{{Bd{j}}}}}}BhBj}}{{bBl}b}{nBl}{{Afe}g{}{{Cf{B`}{{Bn{{C`{c}}}}{Cb{Cd}}}}}{}}{{bCh}b}22{{bc}b{{l{{Ad{Ab}}}}}}{f{{Bd{Cj}}}}77{cj{}}{c{{h{e}}}{}{}}000000000{cCl{}}0000:::::","D":"Df","p":[[5,"Builder",0,82],[5,"Limiter",0],[6,"Error",0,83],[6,"Result",84],[5,"String",85],[10,"Into",86],[5,"Status",0,87],[1,"unit"],[1,"str"],[6,"Cow",88],[5,"RateLimiter",0,89],[5,"Formatter",90],[8,"Result",90],[5,"RedisError",91],[5,"ComponentRange",92],[5,"ServiceRequest",93],[17,"Output"],[6,"Option",94],[10,"Fn",95],[10,"Send",96],[10,"Sync",96],[1,"usize"],[17,"Response"],[5,"ServiceResponse",93],[17,"Error"],[5,"Error",97],[10,"Service",98],[5,"Duration",99],[10,"Error",100],[5,"TypeId",101]],"r":[[0,82],[6,83],[10,89],[11,87]],"b":[[33,"impl-Display-for-Error"],[34,"impl-Debug-for-Error"],[39,"impl-From%3CRedisError%3E-for-Error"],[40,"impl-From%3CComponentRange%3E-for-Error"]],"c":"OjAAAAEAAAAAAAEAEAAAAB4AOgA=","e":"OzAAAAEAAC8ABgAOAAkAGgADACAABgAoAAEANgAAADsAFwA="}],\ +["actix_protobuf",{"t":"PPPPFFFGKPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNN","n":["ContentType","Deserialize","Overflow","Payload","ProtoBuf","ProtoBufConfig","ProtoBufMessage","ProtoBufPayloadError","ProtoBufResponseBuilder","Serialize","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","default","deref","deref_mut","error_response","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from_request","into","into","into","into","into_future","limit","limit","new","poll","protobuf","respond_to","to_string","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_poll","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip"],"q":[[0,"actix_protobuf"],[63,"prost::message"],[64,"actix_web::response::response"],[65,"core::fmt"],[66,"prost::error"],[67,"actix_http::error"],[68,"actix_web::request"],[69,"actix_http::payload"],[70,"core::default"],[71,"core::pin"],[72,"core::task::wake"],[73,"core::task::poll"],[74,"actix_web::error::error"],[75,"core::result"],[76,"alloc::string"],[77,"core::any"]],"i":[4,4,4,4,0,0,0,0,0,4,2,1,15,4,2,1,15,4,1,2,2,4,2,2,4,4,2,1,15,4,4,4,2,2,1,15,4,15,1,15,15,15,20,2,2,4,2,1,15,4,2,1,15,4,15,2,1,15,4,2,1,15,4],"f":"``````````{ce{}{}}0000000{{}b}{{{d{c}}}cf}0{hj}{{{d{c}}l}n{A`f}}{{{d{c}}l}n{Abf}}{{hl}n}0{cc{}}000{Adh}{Afh}{{AhAj}c{}}::::{c{}{}}{{bAl}b}{{{An{c}}Al}{{An{c}}}{fB`}}{{AhAj}{{An{c}}}{fB`}}{{{Bb{{An{c}}}}Bd}{{Bf{e}}}{fB`}{}}{{Bhc}{{Bl{jBj}}}f}{{{d{c}}Ah}j{fB`}}{cBn{}}0{c{{Bl{e}}}{}{}}0000000{{{Bb{c}}Bd}Bf{}}{cC`{}}000{ce{}{}}000","D":"Bb","p":[[5,"ProtoBufConfig",0],[5,"ProtoBuf",0],[10,"Message",63],[6,"ProtoBufPayloadError",0],[5,"HttpResponse",64],[5,"Formatter",65],[8,"Result",65],[10,"Debug",65],[10,"Display",65],[5,"DecodeError",66],[6,"PayloadError",67],[5,"HttpRequest",68],[6,"Payload",69],[1,"usize"],[5,"ProtoBufMessage",0],[10,"Default",70],[5,"Pin",71],[5,"Context",72],[6,"Poll",73],[10,"ProtoBufResponseBuilder",0],[5,"Error",74],[6,"Result",75],[5,"String",76],[5,"TypeId",77]],"r":[],"b":[[22,"impl-Debug-for-ProtoBuf%3CT%3E"],[23,"impl-Display-for-ProtoBuf%3CT%3E"],[24,"impl-Debug-for-ProtoBufPayloadError"],[25,"impl-Display-for-ProtoBufPayloadError"],[30,"impl-From%3CDecodeError%3E-for-ProtoBufPayloadError"],[31,"impl-From%3CPayloadError%3E-for-ProtoBufPayloadError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAC4ABQAFAAQACwAPAB8AAgAmAAAAKgAVAA=="}],\ +["actix_session",{"t":"PPPFKFFFGPNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNFPGPPFPPGFPGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFPGPPPFFGPPFKGNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNMNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNMNNNNNNNNN","n":["Changed","Purged","Renewed","Session","SessionExt","SessionGetError","SessionInsertError","SessionMiddleware","SessionStatus","Unchanged","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","builder","clear","clone","clone","clone","clone_into","clone_into","clone_into","config","default","entries","eq","error_response","error_response","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from_request","get","get_session","insert","into","into","into","into","into","new","new_transform","purge","remove","remove_as","renew","source","source","status","storage","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","BrowserSession","BrowserSession","CookieContentSecurity","OnEveryRequest","OnStateChanges","PersistentSession","PersistentSession","Private","SessionLifecycle","SessionMiddlewareBuilder","Signed","TtlExtensionPolicy","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cookie_content_security","cookie_domain","cookie_http_only","cookie_name","cookie_path","cookie_same_site","cookie_secure","default","default","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","into","into","into","into","into","into","session_lifecycle","session_ttl","session_ttl_extension_policy","state_ttl","state_ttl_extension_policy","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","CookieSessionStore","Deserialization","LoadError","Other","Other","Other","RedisSessionStore","RedisSessionStoreBuilder","SaveError","Serialization","Serialization","SessionKey","SessionStore","UpdateError","as_ref","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","builder","cache_keygen","clone","clone_into","default","delete","delete","delete","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","into","into","into","into","into","into","into","load","load","load","new","save","save","save","source","source","source","to_owned","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update","update","update","update_ttl","update_ttl","update_ttl","vzip","vzip","vzip","vzip","vzip","vzip","vzip"],"q":[[0,"actix_session"],[90,"actix_session::config"],[187,"actix_session::storage"],[296,"cookie::secure::key"],[297,"actix_session::storage::interface"],[298,"actix_session::session"],[299,"actix_session::middleware"],[300,"core::clone"],[301,"alloc::string"],[302,"std::collections::hash::map"],[303,"core::cell"],[304,"actix_http::body::boxed"],[305,"actix_web::response::response"],[306,"core::fmt"],[307,"anyhow"],[308,"actix_web::request"],[309,"actix_http::payload"],[310,"core::option"],[311,"core::result"],[312,"serde::de"],[313,"actix_session::session_ext"],[314,"core::convert"],[315,"serde::ser"],[316,"actix_http::body::message_body"],[317,"actix_web::service"],[318,"actix_web::error::error"],[319,"actix_service"],[320,"core::error"],[321,"core::any"],[322,"cookie::draft"],[323,"time::duration"],[324,"actix_session::storage::session_key"],[325,"actix_session::storage::redis_rs"],[326,"core::ops::function"],[327,"core::marker"],[328,"actix_session::storage::cookie"],[329,"core::future::future"]],"i":[8,8,8,0,0,0,0,0,0,8,6,4,8,13,16,6,4,8,13,16,6,4,6,4,8,6,4,8,0,8,4,8,13,16,8,13,13,16,16,6,4,8,13,13,16,16,4,4,26,4,6,4,8,13,16,6,6,4,4,4,4,13,16,4,0,6,4,8,13,16,6,4,8,13,16,6,4,8,13,16,6,4,8,13,16,6,4,8,13,16,0,38,0,41,41,0,38,42,0,0,42,0,2,38,39,40,41,42,2,38,39,40,41,42,2,38,39,40,41,42,38,39,40,41,42,2,2,2,2,2,2,2,39,40,38,39,40,41,42,2,38,38,38,39,40,41,42,2,38,39,40,41,42,2,40,40,39,39,38,39,40,41,42,2,38,39,40,41,42,2,38,39,40,41,42,2,38,39,40,41,42,2,38,39,40,41,42,0,54,0,54,55,56,0,0,0,55,56,0,0,0,45,46,54,55,56,45,52,47,46,54,55,56,45,52,47,46,47,46,47,47,52,3,52,47,45,54,54,55,55,56,56,45,46,54,55,56,45,52,47,46,54,55,56,45,52,47,3,52,47,47,3,52,47,54,55,56,47,54,55,56,46,54,55,56,45,45,52,47,46,54,55,56,45,52,47,46,54,55,56,45,52,47,3,52,47,3,52,47,46,54,55,56,45,52,47],"f":"``````````{ce{}{}}000000000{{cb}{{d{c}}}f}{hj}{{{l{c}}}{{l{c}}}{nf}}{hh}{A`A`}{{ce}j{}{}}00`{{}A`}{h{{Af{{Ad{AbAb}}}}}}{{A`A`}Ah}{Aj{{An{Al}}}}{B`{{An{Al}}}}{{A`Bb}Bd}{{AjBb}Bd}0{{B`Bb}Bd}0{cc{}}00{BfAj}11{BfB`}{{BhBj}c{}}{{hBl}{{C`{{Bn{c}}Aj}}}Cb}{Cdh}{{hce}{{C`{jB`}}}{{Cf{Ab}}}Ch}{ce{}{}}0000{{cb}{{l{c}}}f}{{{l{c}}g}ifCj{{Df{Cl}{{Cn{{D`{e}}}}{Db{Dd}}}}}{}}{hj}{{hBl}{{Bn{Ab}}}}{{hBl}{{Bn{{C`{cAb}}}}}Cb}2{Aj{{Bn{Dh}}}}{B`{{Bn{Dh}}}}{hA`}`888{cAb{}}0{c{{C`{e}}}{}{}}000000000{cDj{}}0000;;;;;````````````;;;;;;;;;;;;{{{d{c}}}{{l{c}}}f}{DlDl}{DnDn}{E`E`}{EbEb}{EdEd}{{ce}j{}{}}0000{{{d{c}}Ed}{{d{c}}}f}{{{d{c}}{Bn{Ab}}}{{d{c}}}f}{{{d{c}}Ah}{{d{c}}}f}{{{d{c}}Ab}{{d{c}}}f}0{{{d{c}}Ef}{{d{c}}}f}2{{}Dn}{{}E`}{{DlBb}Bd}{{DnBb}Bd}{{E`Bb}Bd}{{EbBb}Bd}{{EdBb}Bd}{cc{}}0{E`Dl}{DnDl}2222{ce{}{}}00000{{{d{c}}e}{{d{c}}}f{{Cf{Dl}}}}{{E`Eh}E`}{{E`Eb}E`}{{DnEh}Dn}{{DnEb}Dn}55555{c{{C`{e}}}{}{}}00000000000{cDj{}}00000777777``````````````{EjBl}88888888888888{El{{C`{EnBf}}}}{cEl{{Cf{Ab}}}}{{Elc}El{{Fb{Bl}{{F`{Ab}}}}FdFf}}{EnEn}{{ce}j{}{}}{{}Fh}{{fEj}{{`{{Fj{}{{F`{{C`{jBf}}}}}}}}}}{{FhEj}{{C`{jBf}}}}{{EnEj}{{C`{jBf}}}}{{EjEj}Ah}{{FlBb}Bd}0{{FnBb}Bd}0{{G`Bb}Bd}0{{EjBb}Bd}{cc{}}000000{ce{}{}}000000{{fEj}{{`{{Fj{}{{F`{{C`{{Bn{{Ad{AbAb}}}}Fl}}}}}}}}}}{{FhEj}{{C`{{Bn{{Ad{AbAb}}}}Fl}}}}{{EnEj}{{C`{{Bn{{Ad{AbAb}}}}Fl}}}}{c{{C`{EnBf}}}{{Cf{Ab}}}}{{f{Ad{AbAb}}Eh}{{`{{Fj{}{{F`{{C`{EjFn}}}}}}}}}}{{Fh{Ad{AbAb}}Eh}{{C`{EjFn}}}}{{En{Ad{AbAb}}Eh}{{C`{EjFn}}}}{Fl{{Bn{Dh}}}}{Fn{{Bn{Dh}}}}{G`{{Bn{Dh}}}}:{cAb{}}00{c{{C`{e}}}{}{}}000{Ab{{C`{Ejc}}}{}}1111111111{cDj{}}000000{{fEj{Ad{AbAb}}Eh}{{`{{Fj{}{{F`{{C`{EjG`}}}}}}}}}}{{FhEj{Ad{AbAb}}Eh}{{C`{EjG`}}}}{{EnEj{Ad{AbAb}}Eh}{{C`{EjG`}}}}{{fEjEh}{{`{{Fj{}{{F`{{C`{jBf}}}}}}}}}}{{FhEjEh}{{C`{jBf}}}}{{EnEjEh}{{C`{jBf}}}}{ce{}{}}000000","D":"Mj","p":[[5,"Key",296],[5,"SessionMiddlewareBuilder",90],[10,"SessionStore",187,297],[5,"Session",0,298],[1,"unit"],[5,"SessionMiddleware",0,299],[10,"Clone",300],[6,"SessionStatus",0,298],[5,"String",301],[5,"HashMap",302],[5,"Ref",303],[1,"bool"],[5,"SessionGetError",0,298],[5,"BoxBody",304],[5,"HttpResponse",305],[5,"SessionInsertError",0,298],[5,"Formatter",306],[8,"Result",306],[5,"Error",307],[5,"HttpRequest",308],[6,"Payload",309],[1,"str"],[6,"Option",310],[6,"Result",311],[10,"DeserializeOwned",312],[10,"SessionExt",0,313],[10,"Into",314],[10,"Serialize",315],[10,"MessageBody",316],[5,"ServiceRequest",317],[17,"Response"],[5,"ServiceResponse",317],[17,"Error"],[5,"Error",318],[10,"Service",319],[10,"Error",320],[5,"TypeId",321],[6,"SessionLifecycle",90],[5,"BrowserSession",90],[5,"PersistentSession",90],[6,"TtlExtensionPolicy",90],[6,"CookieContentSecurity",90],[6,"SameSite",322],[5,"Duration",323],[5,"SessionKey",187,324],[5,"RedisSessionStoreBuilder",187,325],[5,"RedisSessionStore",187,325],[17,"Output"],[10,"Fn",326],[10,"Send",327],[10,"Sync",327],[5,"CookieSessionStore",187,328],[10,"Future",329],[6,"LoadError",187,297],[6,"SaveError",187,297],[6,"UpdateError",187,297]],"r":[[3,298],[4,313],[5,298],[6,298],[7,299],[8,298],[187,328],[189,297],[193,325],[194,325],[195,297],[198,324],[199,297],[200,297]],"b":[[35,"impl-Debug-for-SessionGetError"],[36,"impl-Display-for-SessionGetError"],[37,"impl-Debug-for-SessionInsertError"],[38,"impl-Display-for-SessionInsertError"],[141,"impl-From%3CPersistentSession%3E-for-SessionLifecycle"],[142,"impl-From%3CBrowserSession%3E-for-SessionLifecycle"],[226,"impl-Display-for-LoadError"],[227,"impl-Debug-for-LoadError"],[228,"impl-Display-for-SaveError"],[229,"impl-Debug-for-SaveError"],[230,"impl-Display-for-UpdateError"],[231,"impl-Debug-for-UpdateError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAALsAFQALAAkAFwAFAB4AAAAgAAcAKwAAAC4AAQA5AAAAPgABAEIAGABnAAsAdAAJAIUABgCOAAEAnwAcAMoADgDcAAIA4AAJAPkAAQD9AB4AHQEBACABCAA=","a":{"expires":[154],"max age":[154],"max_age":[154]}}],\ +["actix_settings",{"t":"FFKGFPPPPPPPPPGPPPGPPPPGGPGFGPKPPPPPPIGFPOOOOMONNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNOOOOONNMNNNNNNNNNOOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOO","n":["ActixSettings","Address","ApplySettings","Backlog","BasicSettings","Default","Default","Default","Default","Default","Default","Development","Disabled","EnvVarError","Error","FileExists","InvalidValue","IoError","KeepAlive","Manual","Manual","Manual","Manual","MaxConnectionRate","MaxConnections","Milliseconds","Mode","NoSettings","NumWorkers","Os","Parse","ParseAddressError","ParseBoolError","ParseIntError","Production","Seconds","Seconds","Settings","Timeout","Tls","TomlError","actix","actix","application","application","apply_settings","backlog","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","certificate","client_shutdown","client_timeout","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","enable_compression","enable_log","enabled","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_default_template","from_template","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","host","hosts","into","into","into","into","into","into","into","into","into","into","into","into","into","keep_alive","max_connection_rate","max_connections","mode","num_workers","override_field","override_field_with_env_var","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse_toml","port","private_key","shutdown_timeout","source","tls","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","write_toml_file","column","expected","file","got","line"],"q":[[0,"actix_settings"],[312,"actix_settings::Error"],[317,"actix_settings::settings::address"],[318,"actix_settings::settings::backlog"],[319,"actix_settings::settings::keep_alive"],[320,"actix_settings::settings::max_connection_rate"],[321,"actix_settings::settings::max_connections"],[322,"actix_settings::settings::mode"],[323,"actix_settings::settings::num_workers"],[324,"actix_settings::settings::timeout"],[325,"actix_settings::settings::tls"],[326,"actix_settings::settings"],[327,"core::clone"],[328,"core::result"],[329,"serde::de"],[330,"core::cmp"],[331,"actix_settings::error"],[332,"core::fmt"],[333,"std::io::error"],[334,"std::env"],[335,"core::str::error"],[336,"core::num::error"],[337,"toml::de"],[338,"core::hash"],[339,"actix_settings::parse"],[340,"core::convert"],[341,"std::path"],[342,"core::error"],[343,"core::option"],[344,"alloc::string"],[345,"core::any"]],"i":[0,0,0,0,0,3,4,5,6,8,9,7,4,21,0,21,21,21,0,3,5,6,8,0,0,9,0,0,0,4,0,21,21,21,7,4,9,0,0,0,21,41,12,41,12,1,11,21,2,3,4,5,6,7,8,9,10,11,12,14,21,2,3,4,5,6,7,8,9,10,11,12,14,10,11,11,2,3,4,5,6,7,8,9,10,11,12,14,2,3,4,5,6,7,8,9,10,11,12,14,2,3,4,5,6,7,8,9,10,11,12,14,11,11,10,2,3,4,5,6,7,8,9,10,11,12,14,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8,9,9,9,10,10,10,11,11,11,12,12,12,14,14,14,21,21,2,3,4,5,6,7,8,9,10,11,12,14,21,21,21,21,21,21,2,3,4,5,6,7,8,9,10,11,12,14,12,12,2,3,4,5,6,7,8,9,10,11,12,14,2,11,21,2,3,4,5,6,7,8,9,10,11,12,14,11,11,11,11,11,12,12,34,2,3,4,5,6,7,8,9,12,2,10,11,21,11,2,3,4,5,6,7,8,9,10,11,12,14,21,21,2,3,4,5,6,7,8,9,10,11,12,14,21,2,3,4,5,6,7,8,9,10,11,12,14,21,2,3,4,5,6,7,8,9,10,11,12,14,21,2,3,4,5,6,7,8,9,10,11,12,14,12,42,42,42,42,42],"f":"`````````````````````````````````````````````{{bc}b{}}`{ce{}{}}0000000000000000000000000```{dd}{ff}{hh}{jj}{ll}{nn}{A`A`}{AbAb}{AdAd}{AfAf}{{{Ah{c}}}{{Ah{c}}}Aj}{AlAl}{{ce}An{}{}}00000000000{c{{B`{d}}}Bb}{c{{B`{f}}}Bb}{c{{B`{h}}}Bb}{c{{B`{j}}}Bb}{c{{B`{l}}}Bb}{c{{B`{n}}}Bb}{c{{B`{A`}}}Bb}{c{{B`{Ab}}}Bb}{c{{B`{Ad}}}Bb}{c{{B`{Af}}}Bb}{c{{B`{{Ah{e}}}}}BbBd}{c{{B`{Al}}}Bb}```{{dd}Bf}{{ff}Bf}{{hh}Bf}{{jj}Bf}{{ll}Bf}{{nn}Bf}{{A`A`}Bf}{{AbAb}Bf}{{AdAd}Bf}{{AfAf}Bf}{{{Ah{c}}{Ah{c}}}BfBh}{{AlAl}Bf}{{ce}Bf{}{}}00000000000000000000000000000000000{{BjBl}Bn}0{{dBl}Bn}{{fBl}Bn}{{hBl}Bn}{{jBl}Bn}{{lBl}Bn}{{nBl}Bn}{{A`Bl}Bn}{{AbBl}Bn}{{AdBl}Bn}{{AfBl}Bn}{{{Ah{c}}Bl}BnC`}{{AlBl}Bn}{CbBj}{cc{}}{CdBj}{CfBj}{ChBj}{CjBj}444444444444{{}{{Ah{c}}}Cl}{Cn{{B`{{Ah{c}}Bj}}}Cl}{{dc}AnD`}{{fc}AnD`}{{hc}AnD`}{{jc}AnD`}{{lc}AnD`}{{nc}AnD`}{{A`c}AnD`}{{Abc}AnD`}{{Adc}AnD`}{{Afc}AnD`}{{{Ah{c}}e}AnDbD`}{{Alc}AnD`}``{ce{}{}}000000000000`````{{ce}{{B`{AnBj}}}Dd{{Df{Cn}}}}0{Cn{{B`{DdBj}}}}{Cn{{B`{dBj}}}}{Cn{{B`{fBj}}}}{Cn{{B`{hBj}}}}{Cn{{B`{jBj}}}}{Cn{{B`{lBj}}}}{Cn{{B`{nBj}}}}{Cn{{B`{A`Bj}}}}{Cn{{B`{AbBj}}}}{c{{B`{{Ah{e}}Bj}}}{{Df{Dh}}}Cl}```{Bj{{Dl{Dj}}}}`<<<<<<<<<<<<{cDn{}}{c{{B`{e}}}{}{}}0000000000000000000000000{cE`{}}000000000000?????????????{c{{B`{AnBj}}}{{Df{Dh}}}}`````","D":"Ld","p":[[10,"ApplySettings",0],[5,"Address",0,317],[6,"Backlog",0,318],[6,"KeepAlive",0,319],[6,"MaxConnectionRate",0,320],[6,"MaxConnections",0,321],[6,"Mode",0,322],[6,"NumWorkers",0,323],[6,"Timeout",0,324],[5,"Tls",0,325],[5,"ActixSettings",0,326],[5,"BasicSettings",0],[10,"Clone",327],[5,"NoSettings",0],[1,"unit"],[6,"Result",328],[10,"Deserializer",329],[10,"Deserialize",329],[1,"bool"],[10,"PartialEq",330],[6,"Error",0,331],[5,"Formatter",332],[8,"Result",332],[10,"Debug",332],[5,"Error",333],[6,"VarError",334],[5,"ParseBoolError",335],[5,"ParseIntError",336],[5,"Error",337],[10,"DeserializeOwned",329],[1,"str"],[10,"Hasher",338],[10,"Hash",338],[10,"Parse",0,339],[10,"AsRef",340],[5,"Path",341],[10,"Error",342],[6,"Option",343],[5,"String",344],[5,"TypeId",345],[8,"Settings",0],[15,"InvalidValue",312]],"r":[[0,326],[1,317],[3,318],[14,331],[18,319],[23,320],[24,321],[26,322],[28,323],[30,339],[38,324],[39,325]],"b":[[163,"impl-Debug-for-Error"],[164,"impl-Display-for-Error"],[177,"impl-From%3CError%3E-for-Error"],[179,"impl-From%3CVarError%3E-for-Error"],[180,"impl-From%3CParseBoolError%3E-for-Error"],[181,"impl-From%3CParseIntError%3E-for-Error"],[182,"impl-From%3CError%3E-for-Error"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAANsACQAwABkATQAjAHQAPgC0AAMAxgALAOkABwD1AAAA9wBAADkBBAA=","a":{"https":[39],"ssl":[39]}}],\ +["actix_web_httpauth",{"t":"CCCKFRCCNNNNNNNNNMNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFGPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCCFPFFPPPGKPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKFCCNNNNNNNNNNNNNNMNNNNNNNFNNNNNNNNNNNNNNNNNNNNNNFFGPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNNNNNNNN","n":["extractors","headers","middleware","AuthExtractorConfig","AuthenticationError","Inner","basic","bearer","borrow","borrow_mut","challenge_mut","error_response","fmt","fmt","from","from","into","into_inner","new","status_code","status_code_mut","to_string","try_from","try_into","type_id","vzip","with_error","with_error_description","with_error_uri","BasicAuth","Config","as_ref","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","default","fmt","fmt","from","from","from","from_request","into","into","into_inner","password","realm","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","user_id","vzip","vzip","BearerAuth","Config","Error","InsufficientScope","InvalidRequest","InvalidToken","as_ref","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","cmp","default","eq","fmt","fmt","fmt","fmt","from","from","from","from_request","hash","into","into","into","into_inner","partial_cmp","realm","scope","status_code","to_owned","to_owned","to_owned","to_string","token","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","authorization","www_authenticate","Authorization","Base64DecodeError","Basic","Bearer","Invalid","MissingField","MissingScheme","ParseError","Scheme","ToStrError","Utf8Error","as_mut","as_ref","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","cmp","cmp","cmp","default","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","hash","into","into","into","into","into_scheme","name","new","new","parse","parse","parse","parse","partial_cmp","partial_cmp","partial_cmp","password","source","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","token","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into_pair","try_into_value","try_into_value","try_into_value","type_id","type_id","type_id","type_id","user_id","vzip","vzip","vzip","vzip","Challenge","WwwAuthenticate","basic","bearer","borrow","borrow_mut","clone","clone_into","cmp","default","eq","fmt","from","hash","into","name","parse","partial_cmp","to_bytes","to_owned","try_from","try_into","try_into_pair","try_into_value","type_id","vzip","Basic","borrow","borrow_mut","clone","clone_into","cmp","default","eq","fmt","fmt","from","hash","into","new","partial_cmp","to_owned","to_string","try_from","try_into","try_into_value","type_id","vzip","with_realm","Bearer","BearerBuilder","Error","InsufficientScope","InvalidRequest","InvalidToken","borrow","borrow","borrow_mut","borrow_mut","build","clone","clone_into","cmp","default","default","eq","error","error_description","error_uri","finish","fmt","fmt","fmt","from","from","hash","into","into","partial_cmp","realm","scope","to_owned","to_string","try_from","try_from","try_into","try_into","try_into_value","type_id","type_id","vzip","vzip","HttpAuthentication","basic","bearer","borrow","borrow_mut","clone","clone_into","fmt","from","into","new_transform","to_owned","try_from","try_into","type_id","vzip","with_fn"],"q":[[0,"actix_web_httpauth"],[3,"actix_web_httpauth::extractors"],[29,"actix_web_httpauth::extractors::basic"],[63,"actix_web_httpauth::extractors::bearer"],[119,"actix_web_httpauth::headers"],[121,"actix_web_httpauth::headers::authorization"],[218,"actix_web_httpauth::headers::www_authenticate"],[244,"actix_web_httpauth::headers::www_authenticate::basic"],[267,"actix_web_httpauth::headers::www_authenticate::bearer"],[310,"actix_web_httpauth::middleware"],[327,"actix_web_httpauth::extractors::errors"],[328,"actix_web_httpauth::headers::www_authenticate::challenge"],[329,"actix_web::response::response"],[330,"core::fmt"],[331,"actix_web_httpauth::extractors::config"],[332,"http::status"],[333,"alloc::string"],[334,"core::result"],[335,"core::any"],[336,"actix_web_httpauth::headers::www_authenticate::challenge::bearer::challenge"],[337,"actix_web_httpauth::headers::www_authenticate::challenge::bearer::errors"],[338,"alloc::borrow"],[339,"core::convert"],[340,"actix_web_httpauth::headers::www_authenticate::challenge::basic"],[341,"actix_web_httpauth::headers::authorization::scheme::basic"],[342,"actix_web::request"],[343,"actix_http::payload"],[344,"core::option"],[345,"core::cmp"],[346,"core::hash"],[347,"actix_web_httpauth::headers::authorization::header"],[348,"actix_web_httpauth::headers::authorization::scheme"],[349,"core::clone"],[350,"actix_web_httpauth::headers::authorization::scheme::bearer"],[351,"core::default"],[352,"actix_web_httpauth::headers::authorization::errors"],[353,"core::str::error"],[354,"base64::decode"],[355,"http::header::value"],[356,"http::header::name"],[357,"actix_http::error"],[358,"actix_http::http_message"],[359,"core::error"],[360,"actix_web_httpauth::headers::www_authenticate::header"],[361,"bytes::bytes"],[362,"actix_web_httpauth::headers::www_authenticate::challenge::bearer::builder"],[363,"actix_web::service"],[364,"actix_web::error::error"],[365,"core::future::future"],[366,"core::ops::function"],[367,"actix_web::extract"],[368,"actix_http::body::message_body"],[369,"actix_service"]],"i":[0,0,0,0,0,7,0,0,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,0,0,18,18,20,18,20,18,20,18,20,18,18,20,18,20,20,20,18,20,18,20,18,18,20,18,20,18,20,18,20,20,18,20,0,0,0,14,14,14,26,26,27,14,26,27,14,26,27,14,26,27,14,14,26,14,26,27,14,14,26,27,14,27,14,26,27,14,26,14,26,26,14,26,27,14,14,27,26,27,14,26,27,14,26,27,14,26,27,14,0,0,0,38,0,0,38,38,38,0,0,38,38,31,31,38,31,22,34,38,31,22,34,31,22,34,31,22,34,31,22,34,31,31,22,34,38,38,31,31,22,22,34,34,38,38,38,38,31,31,22,34,31,38,31,22,34,31,31,22,34,32,31,22,34,31,22,34,22,38,31,22,34,38,31,22,34,34,38,31,22,34,38,31,22,34,31,31,22,34,38,31,22,34,22,38,31,22,34,0,0,0,0,50,50,50,50,50,50,50,50,50,50,50,50,50,50,2,50,50,50,50,50,50,50,0,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,0,0,0,14,14,14,53,13,53,13,13,13,13,13,53,13,13,53,53,53,53,53,13,13,53,13,13,53,13,13,53,53,13,13,53,13,53,13,13,53,13,53,13,0,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54],"f":"````````{ce{}{}}0{{{b{c}}}cd}{{{b{c}}}fd}{{{b{c}}h}j{ld}}{{{b{c}}h}jd}{cbn}{cc{}}6{{{n{}{{A`{c}}}}}cd}{c{{b{c}}}d}{{{b{c}}}Abd}0{cAd{}}{c{{Af{e}}}{}{}}0{cAh{}}<{{{b{Aj}}Al}{{b{Aj}}}}{{{b{Aj}}c}{{b{Aj}}}{{Bb{{B`{An}}}}}}0``{BdBf}????{BdBd}{BhBh}{{ce}Bj{}{}}0{{}Bd}{{Bdh}j}{{Bhh}j}?{BlBh}{cc{}}{{BnC`}c{}}{ce{}{}}0{Bdc{}}{Bh{{Cb{An}}}}{{Bdc}Bd{{Bb{{B`{An}}}}}}33{c{{Af{e}}}{}{}}000{cAh{}}0{BhAn}66``````{CdAj}777777{CdCd}{CfCf}{AlAl}{{ce}Bj{}{}}00{{AlAl}Ch}{{}Cd}{{AlAl}Cj}{{Cdh}j}{{Cfh}j}{{Alh}j}0{cc{}}00{{BnC`}c{}}{{Alc}BjCl}{ce{}{}}00{Cdc{}}{{AlAl}{{Cb{Ch}}}}{{Cdc}Cd{{Bb{{B`{An}}}}}}0{AlAb}444{cAd{}}{CfAn}{c{{Af{e}}}{}{}}00000{cAh{}}00888`````````````{{{Cn{c}}}cD`}099999999{{{Cn{c}}}{{Cn{c}}}{DbD`}}{BlBl}{DdDd}{{ce}Bj{}{}}00{{{Cn{c}}{Cn{c}}}Ch{DfD`}}{{BlBl}Ch}{{DdDd}Ch}{{}{{Cn{c}}}{DhD`}}{{{Cn{c}}{Cn{c}}}Cj{DjD`}}{{BlBl}Cj}{{DdDd}Cj}{{Dlh}j}0{{{Cn{c}}h}j{lD`}}{{{Cn{c}}h}jD`}{{Blh}j}0{{Ddh}j}0{DnDl}{E`Dl}{EbDl}{cc{}}0{c{{Cn{c}}}D`}11{{{Cn{c}}e}Bj{EdD`}Cl}{ce{}{}}000{{{Cn{c}}}cD`}{{}Ef}{{c{Cb{e}}}Bl{{Bb{{B`{An}}}}}{{Bb{{B`{An}}}}}}{cDd{{Bb{{B`{An}}}}}}{Eh{{Af{D`Dl}}}}{c{{Af{{Cn{e}}Ej}}}ElD`}{Eh{{Af{BlDl}}}}{Eh{{Af{DdDl}}}}{{{Cn{c}}{Cn{c}}}{{Cb{Ch}}}{EnD`}}{{BlBl}{{Cb{Ch}}}}{{DdDd}{{Cb{Ch}}}}{Bl{{Cb{An}}}}{Dl{{Cb{F`}}}}==={cAd{}}000{DdAn}{c{{Af{e}}}{}{}}0000000{c{{Af{{Fb{EfEh}}}}}{}}{{{Cn{c}}}{{Af{Ehe}}}D`{}}{Bl{{Af{Ehc}}}{}}{Dd{{Af{Ehc}}}{}}{cAh{}}000{BlAn}{ce{}{}}000````00{{{Fd{c}}}{{Fd{c}}}{Dbd}}{{ce}Bj{}{}}{{{Fd{c}}{Fd{c}}}Ch{Dfd}}{{}{{Fd{c}}}{Dhd}}{{{Fd{c}}{Fd{c}}}Cj{Djd}}{{{Fd{c}}h}j{ld}}{cc{}}{{{Fd{c}}e}Bj{Edd}Cl}8{{}Ef}{c{{Af{{Fd{e}}Ej}}}Eld}{{{Fd{c}}{Fd{c}}}{{Cb{Ch}}}{End}}{dFf}<{c{{Af{e}}}{}{}}0{c{{Af{{Fb{EfEh}}}}}{}}{{{Fd{c}}}{{Af{Ehe}}}d{}}{cAh{}}{ce{}{}}`00{BfBf}{{ce}Bj{}{}}{{BfBf}Ch}{{}Bf}{{BfBf}Cj}{{Bfh}j}{{Bfh}{{Af{BjFh}}}}{cc{}}{{Bfc}BjCl}95{{BfBf}{{Cb{Ch}}}}:{cAd{}}??{Bf{{Af{Ehc}}}{}}=<{cBf{{Bb{{B`{An}}}}}}``````===={{}Fj}{AjAj}={{AjAj}Ch}2{{}Aj}{{AjAj}Cj}{{FjAl}Fj}{{Fjc}Fj{{Bb{{B`{An}}}}}}0{FjAj}{{Fjh}j}{{Ajh}j}{{Ajh}{{Af{BjFh}}}}{cc{}}0{{Ajc}BjCl}{ce{}{}}0{{AjAj}{{Cb{Ch}}}}881{cAd{}}{c{{Af{e}}}{}{}}000{Aj{{Af{Ehc}}}{}}{cAh{}}055`{e{{Fl{Bhe}}}{{Gd{}{{Fn{{Af{G`{Fb{GbG`}}}}}}}}}{{Gf{G`Bh}{{Fn{c}}}}}}{e{{Fl{Cfe}}}{{Gd{}{{Fn{{Af{G`{Fb{GbG`}}}}}}}}}{{Gf{G`Cf}{{Fn{c}}}}}}77{{{Fl{ce}}}{{Fl{ce}}}{GhDb}Db}{{ce}Bj{}{}}{{{Fl{ce}}h}j{Ghl}l}<:{{{Fl{cg}}k}mGh{{Gd{}{{Fn{{Af{G`{Fb{GbG`}}}}}}}}}{{Gf{G`c}{{Fn{e}}}}}Gj{{Hb{G`}{{Gl{{Gn{i}}}}{H`{Gb}}}}}{}};886;{g{{Fl{cg}}}Gh{{Gd{}{{Fn{{Af{G`{Fb{GbG`}}}}}}}}}{{Gf{G`c}{{Fn{e}}}}}}","D":"Md","p":[[5,"AuthenticationError",3,327],[10,"Challenge",218,328],[5,"HttpResponse",329],[5,"Formatter",330],[8,"Result",330],[10,"Debug",330],[10,"AuthExtractorConfig",3,331],[17,"Inner"],[5,"StatusCode",332],[5,"String",333],[6,"Result",334],[5,"TypeId",335],[5,"Bearer",267,336],[6,"Error",63,337],[1,"str"],[6,"Cow",338],[10,"Into",339],[5,"Config",29],[5,"Basic",244,340],[5,"BasicAuth",29],[1,"unit"],[5,"Basic",121,341],[5,"HttpRequest",342],[6,"Payload",343],[6,"Option",344],[5,"Config",63],[5,"BearerAuth",63],[6,"Ordering",345],[1,"bool"],[10,"Hasher",346],[5,"Authorization",121,347],[10,"Scheme",121,348],[10,"Clone",349],[5,"Bearer",121,350],[10,"Ord",345],[10,"Default",351],[10,"PartialEq",345],[6,"ParseError",121,352],[5,"Utf8Error",353],[6,"DecodeError",354],[5,"ToStrError",355],[10,"Hash",346],[5,"HeaderName",356],[5,"HeaderValue",355],[6,"ParseError",357],[10,"HttpMessage",358],[10,"PartialOrd",345],[10,"Error",359],[1,"tuple"],[5,"WwwAuthenticate",218,360],[5,"Bytes",361],[5,"Error",330],[5,"BearerBuilder",267,362],[5,"HttpAuthentication",310],[17,"Output"],[5,"ServiceRequest",363],[5,"Error",364],[10,"Future",365],[10,"Fn",366],[10,"FromRequest",367],[10,"MessageBody",368],[17,"Response"],[5,"ServiceResponse",363],[17,"Error"],[10,"Service",369]],"r":[[3,331],[4,327],[65,337],[121,347],[123,341],[124,350],[128,352],[129,348],[218,328],[219,360],[220,328],[221,328],[244,340],[267,336],[268,362],[269,337]],"b":[[12,"impl-Debug-for-AuthenticationError%3CC%3E"],[13,"impl-Display-for-AuthenticationError%3CC%3E"],[87,"impl-Debug-for-Error"],[88,"impl-Display-for-Error"],[155,"impl-Debug-for-ParseError"],[156,"impl-Display-for-ParseError"],[157,"impl-Debug-for-Authorization%3CS%3E"],[158,"impl-Display-for-Authorization%3CS%3E"],[159,"impl-Debug-for-Basic"],[160,"impl-Display-for-Basic"],[161,"impl-Display-for-Bearer"],[162,"impl-Debug-for-Bearer"],[163,"impl-From%3CUtf8Error%3E-for-ParseError"],[164,"impl-From%3CDecodeError%3E-for-ParseError"],[165,"impl-From%3CToStrError%3E-for-ParseError"],[252,"impl-Debug-for-Basic"],[253,"impl-Display-for-Basic"],[289,"impl-Debug-for-Bearer"],[290,"impl-Display-for-Bearer"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAN0AJgAJAAEADAADABQAAAAWAAQAIAALAC0AAAAvAAAAMgAAADUABwA+AAEARgATAF0AAQBiAAEAZwADAGwACwCFACEAqQAAAKwAAACyAAAAtgAFAL0ABwDGAA8A1wADAN8ABwDoAAAA6gACAO4ABgD2AAgAAAEAAAMBBwASAQMAFwEFACEBAgAmAQAAKQEAACwBCgA6AQQAQQEFAA=="}],\ +["actix_ws",{"t":"PPPPPPGFFPPPPPPPPPPPGFPPPPPPPGPFPFPPPNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["Abnormal","Again","Away","BadOpCode","Binary","Close","CloseCode","CloseReason","Closed","Continuation","ContinuationFragment","ContinuationNotStarted","ContinuationStarted","Error","Extension","Invalid","InvalidLength","InvalidOpcode","Io","MaskedFrame","Message","MessageStream","Nop","Normal","Overflow","Ping","Policy","Pong","Protocol","ProtocolError","Restart","Session","Size","StreamingBody","Text","UnmaskedFrame","Unsupported","binary","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","close","code","description","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","handle","into","into","into","into","into","into","into","into","ping","poll_next","poll_next","pong","recv","source","text","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_poll_next","try_poll_next","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip"],"q":[[0,"actix_ws"],[143,"actix_ws::session"],[144,"core::result"],[145,"bytes::bytes"],[146,"core::convert"],[147,"actix_http::ws::proto"],[148,"core::option"],[149,"actix_http::ws::codec"],[150,"core::fmt"],[151,"actix_http::ws"],[152,"alloc::string"],[153,"std::io::error"],[154,"actix_web::request"],[155,"actix_web::types::payload"],[156,"actix_web::response::response"],[157,"actix_ws::fut"],[158,"actix_web::error::error"],[159,"core::pin"],[160,"core::task::wake"],[161,"core::task::poll"],[162,"core::error"],[163,"bytestring"],[164,"core::any"]],"i":[7,7,7,15,10,10,0,0,0,10,15,15,15,7,7,7,15,15,15,15,0,0,10,7,15,10,7,10,7,0,7,0,7,0,10,15,7,1,29,26,1,3,10,7,8,15,29,26,1,3,10,7,8,15,1,7,8,1,7,8,1,8,8,10,7,8,3,3,10,7,8,15,15,29,26,1,3,10,7,7,8,8,8,15,15,15,15,15,0,29,26,1,3,10,7,8,15,1,29,26,1,26,15,1,1,7,8,3,15,29,26,1,3,10,7,8,15,29,26,1,3,10,7,8,15,29,26,29,26,1,3,10,7,8,15,29,26,1,3,10,7,8,15],"f":"`````````````````````````````````````{{bc}{{h{df}}}{{l{j}}}}{ce{}{}}000000000000000{bb}{nn}{A`A`}{{ce}d{}{}}00{{b{Ab{A`}}}{{h{df}}}}``{{AdAd}Af}{{nn}Af}{{A`A`}Af}{{fAh}Aj}0{{AdAh}{{h{dAl}}}}{{nAh}{{h{dAl}}}}{{A`Ah}{{h{dAl}}}}{{AnAh}{{h{dAl}}}}0{cc{}}00000{B`n}{nA`}{{{Bb{nc}}}A`{{l{Bd}}}}3{BfAn}{BhAn}5{BjAn}{BlAn}{{BnC`}{{h{{Bb{CbbCd}}Cf}}}}{ce{}{}}0000000{{b{Ch{Bj}}}{{h{df}}}}{{{Cl{Cj}}Cn}{{D`{{Ab{c}}}}}{}}{{{Cl{Cd}}Cn}{{D`{{Ab{c}}}}}{}}2{Cd{{Ab{{h{AdAn}}}}}}{An{{Ab{Db}}}}{{bc}{{h{df}}}{{l{Dd}}}}666{cBd{}}0{c{{h{e}}}{}{}}000000000000000{{{Cl{c}}Cn}{{D`{{Ab{h}}}}}{}}0{cDf{}}0000000::::::::","D":"Gn","p":[[5,"Session",0,143],[1,"unit"],[5,"Closed",0,143],[6,"Result",144],[5,"Bytes",145],[10,"Into",146],[6,"CloseCode",0,147],[5,"CloseReason",0,147],[6,"Option",148],[6,"Message",0,149],[1,"bool"],[5,"Formatter",150],[8,"Result",150],[5,"Error",150],[6,"ProtocolError",0,151],[1,"u16"],[1,"tuple"],[5,"String",152],[1,"usize"],[5,"Error",153],[1,"u8"],[6,"OpCode",147],[5,"HttpRequest",154],[5,"Payload",155],[5,"HttpResponse",156],[5,"MessageStream",0,157],[5,"Error",158],[1,"slice"],[5,"StreamingBody",0,157],[5,"Pin",159],[5,"Context",160],[6,"Poll",161],[10,"Error",162],[5,"ByteString",163],[5,"TypeId",164]],"r":[[6,147],[7,147],[8,143],[20,149],[21,157],[29,151],[31,143],[33,157]],"b":[[66,"impl-Debug-for-Closed"],[67,"impl-Display-for-Closed"],[71,"impl-Debug-for-ProtocolError"],[72,"impl-Display-for-ProtocolError"],[80,"impl-From%3CCloseCode%3E-for-CloseReason"],[81,"impl-From%3C(CloseCode,+T)%3E-for-CloseReason"],[83,"impl-From%3Cusize%3E-for-ProtocolError"],[84,"impl-From%3CError%3E-for-ProtocolError"],[86,"impl-From%3Cu8%3E-for-ProtocolError"],[87,"impl-From%3COpCode%3E-for-ProtocolError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAFAACAAnABUAQAAJAFAAAgBUAAEAVwABAGMAAQBnAAAAaQAmAA=="}]\ ]')); if (typeof exports !== 'undefined') exports.searchIndex = searchIndex; else if (window.initSearch) window.initSearch(searchIndex); diff --git a/settings.html b/settings.html index 05f37a08a..7c99c0ded 100644 --- a/settings.html +++ b/settings.html @@ -1,2 +1 @@ -Settings -

Rustdoc settings

Back
\ No newline at end of file +Settings

Rustdoc settings

Back
\ No newline at end of file diff --git a/src/actix_cors/all_or_some.rs.html b/src/actix_cors/all_or_some.rs.html index a6c3f2d41..3f241b552 100644 --- a/src/actix_cors/all_or_some.rs.html +++ b/src/actix_cors/all_or_some.rs.html @@ -1,6 +1,4 @@ -all_or_some.rs - source -
1
+all_or_some.rs - source
1
 2
 3
 4
diff --git a/src/actix_cors/builder.rs.html b/src/actix_cors/builder.rs.html
index a20177500..d20c1d302 100644
--- a/src/actix_cors/builder.rs.html
+++ b/src/actix_cors/builder.rs.html
@@ -1,6 +1,4 @@
-builder.rs - source
-    
1
+builder.rs - source
1
 2
 3
 4
diff --git a/src/actix_cors/error.rs.html b/src/actix_cors/error.rs.html
index 96a7bc123..56d2dc26c 100644
--- a/src/actix_cors/error.rs.html
+++ b/src/actix_cors/error.rs.html
@@ -1,6 +1,4 @@
-error.rs - source
-    
1
+error.rs - source
1
 2
 3
 4
diff --git a/src/actix_cors/inner.rs.html b/src/actix_cors/inner.rs.html
index 5452a51e4..212f9c288 100644
--- a/src/actix_cors/inner.rs.html
+++ b/src/actix_cors/inner.rs.html
@@ -1,6 +1,4 @@
-inner.rs - source
-    
1
+inner.rs - source
1
 2
 3
 4
diff --git a/src/actix_cors/lib.rs.html b/src/actix_cors/lib.rs.html
index 2cce59661..10cabb4b7 100644
--- a/src/actix_cors/lib.rs.html
+++ b/src/actix_cors/lib.rs.html
@@ -1,6 +1,4 @@
-lib.rs - source
-    
1
+lib.rs - source
1
 2
 3
 4
diff --git a/src/actix_cors/middleware.rs.html b/src/actix_cors/middleware.rs.html
index 96b0ce366..83c81db5c 100644
--- a/src/actix_cors/middleware.rs.html
+++ b/src/actix_cors/middleware.rs.html
@@ -1,6 +1,4 @@
-middleware.rs - source
-    
1
+middleware.rs - source
1
 2
 3
 4
diff --git a/src/actix_identity/config.rs.html b/src/actix_identity/config.rs.html
index b6fe28afc..7818aac3c 100644
--- a/src/actix_identity/config.rs.html
+++ b/src/actix_identity/config.rs.html
@@ -1,6 +1,4 @@
-config.rs - source
-    
1
+config.rs - source
1
 2
 3
 4
diff --git a/src/actix_identity/error.rs.html b/src/actix_identity/error.rs.html
index db03843d2..52fdfc41c 100644
--- a/src/actix_identity/error.rs.html
+++ b/src/actix_identity/error.rs.html
@@ -1,6 +1,4 @@
-error.rs - source
-    
1
+error.rs - source
1
 2
 3
 4
diff --git a/src/actix_identity/identity.rs.html b/src/actix_identity/identity.rs.html
index a1ac90cd4..f8aec0167 100644
--- a/src/actix_identity/identity.rs.html
+++ b/src/actix_identity/identity.rs.html
@@ -1,6 +1,4 @@
-identity.rs - source
-    
1
+identity.rs - source
1
 2
 3
 4
diff --git a/src/actix_identity/identity_ext.rs.html b/src/actix_identity/identity_ext.rs.html
index c571f0260..ba2a7ecd6 100644
--- a/src/actix_identity/identity_ext.rs.html
+++ b/src/actix_identity/identity_ext.rs.html
@@ -1,6 +1,4 @@
-identity_ext.rs - source
-    
1
+identity_ext.rs - source
1
 2
 3
 4
diff --git a/src/actix_identity/lib.rs.html b/src/actix_identity/lib.rs.html
index a6219e17c..314deef3b 100644
--- a/src/actix_identity/lib.rs.html
+++ b/src/actix_identity/lib.rs.html
@@ -1,6 +1,4 @@
-lib.rs - source
-    
1
+lib.rs - source
1
 2
 3
 4
diff --git a/src/actix_identity/middleware.rs.html b/src/actix_identity/middleware.rs.html
index 21d08797f..3bdef3823 100644
--- a/src/actix_identity/middleware.rs.html
+++ b/src/actix_identity/middleware.rs.html
@@ -1,6 +1,4 @@
-middleware.rs - source
-    
1
+middleware.rs - source
1
 2
 3
 4
diff --git a/src/actix_limitation/builder.rs.html b/src/actix_limitation/builder.rs.html
index e36074f7e..83aae0357 100644
--- a/src/actix_limitation/builder.rs.html
+++ b/src/actix_limitation/builder.rs.html
@@ -1,6 +1,4 @@
-builder.rs - source
-    
1
+builder.rs - source
1
 2
 3
 4
diff --git a/src/actix_limitation/errors.rs.html b/src/actix_limitation/errors.rs.html
index 5c429c7ec..48ab174b1 100644
--- a/src/actix_limitation/errors.rs.html
+++ b/src/actix_limitation/errors.rs.html
@@ -1,6 +1,4 @@
-errors.rs - source
-    
1
+errors.rs - source
1
 2
 3
 4
diff --git a/src/actix_limitation/lib.rs.html b/src/actix_limitation/lib.rs.html
index 59221f891..6ed82897d 100644
--- a/src/actix_limitation/lib.rs.html
+++ b/src/actix_limitation/lib.rs.html
@@ -1,6 +1,4 @@
-lib.rs - source
-    
1
+lib.rs - source
1
 2
 3
 4
diff --git a/src/actix_limitation/middleware.rs.html b/src/actix_limitation/middleware.rs.html
index 36aeea15c..0542bbefc 100644
--- a/src/actix_limitation/middleware.rs.html
+++ b/src/actix_limitation/middleware.rs.html
@@ -1,6 +1,4 @@
-middleware.rs - source
-    
1
+middleware.rs - source
1
 2
 3
 4
diff --git a/src/actix_limitation/status.rs.html b/src/actix_limitation/status.rs.html
index 89668e2f5..74e027ef1 100644
--- a/src/actix_limitation/status.rs.html
+++ b/src/actix_limitation/status.rs.html
@@ -1,6 +1,4 @@
-status.rs - source
-    
1
+status.rs - source
1
 2
 3
 4
diff --git a/src/actix_protobuf/lib.rs.html b/src/actix_protobuf/lib.rs.html
index f1a67eb7f..9abd28ea8 100644
--- a/src/actix_protobuf/lib.rs.html
+++ b/src/actix_protobuf/lib.rs.html
@@ -1,6 +1,4 @@
-lib.rs - source
-    
1
+lib.rs - source
1
 2
 3
 4
diff --git a/src/actix_session/config.rs.html b/src/actix_session/config.rs.html
index 142f24766..80bbed827 100644
--- a/src/actix_session/config.rs.html
+++ b/src/actix_session/config.rs.html
@@ -1,6 +1,4 @@
-config.rs - source
-    
1
+config.rs - source
1
 2
 3
 4
diff --git a/src/actix_session/lib.rs.html b/src/actix_session/lib.rs.html
index 4e18bcdf3..d3055cef7 100644
--- a/src/actix_session/lib.rs.html
+++ b/src/actix_session/lib.rs.html
@@ -1,6 +1,4 @@
-lib.rs - source
-    
1
+lib.rs - source
1
 2
 3
 4
diff --git a/src/actix_session/middleware.rs.html b/src/actix_session/middleware.rs.html
index b2b3de89c..40804c520 100644
--- a/src/actix_session/middleware.rs.html
+++ b/src/actix_session/middleware.rs.html
@@ -1,6 +1,4 @@
-middleware.rs - source
-    
1
+middleware.rs - source
1
 2
 3
 4
diff --git a/src/actix_session/session.rs.html b/src/actix_session/session.rs.html
index 6abc9ef8e..5a63ec80a 100644
--- a/src/actix_session/session.rs.html
+++ b/src/actix_session/session.rs.html
@@ -1,6 +1,4 @@
-session.rs - source
-    
1
+session.rs - source
1
 2
 3
 4
diff --git a/src/actix_session/session_ext.rs.html b/src/actix_session/session_ext.rs.html
index c0daf8b72..018c23a62 100644
--- a/src/actix_session/session_ext.rs.html
+++ b/src/actix_session/session_ext.rs.html
@@ -1,6 +1,4 @@
-session_ext.rs - source
-    
1
+session_ext.rs - source
1
 2
 3
 4
diff --git a/src/actix_session/storage/cookie.rs.html b/src/actix_session/storage/cookie.rs.html
index 4e55d6b32..e12a59bde 100644
--- a/src/actix_session/storage/cookie.rs.html
+++ b/src/actix_session/storage/cookie.rs.html
@@ -1,6 +1,4 @@
-cookie.rs - source
-    
1
+cookie.rs - source
1
 2
 3
 4
diff --git a/src/actix_session/storage/interface.rs.html b/src/actix_session/storage/interface.rs.html
index 0a8d53b1e..3032acafd 100644
--- a/src/actix_session/storage/interface.rs.html
+++ b/src/actix_session/storage/interface.rs.html
@@ -1,6 +1,4 @@
-interface.rs - source
-    
1
+interface.rs - source
1
 2
 3
 4
diff --git a/src/actix_session/storage/mod.rs.html b/src/actix_session/storage/mod.rs.html
index 4bd2d04bc..8106e8552 100644
--- a/src/actix_session/storage/mod.rs.html
+++ b/src/actix_session/storage/mod.rs.html
@@ -1,6 +1,4 @@
-mod.rs - source
-    
1
+mod.rs - source
1
 2
 3
 4
diff --git a/src/actix_session/storage/redis_rs.rs.html b/src/actix_session/storage/redis_rs.rs.html
index f8ac21a98..f3d180f0e 100644
--- a/src/actix_session/storage/redis_rs.rs.html
+++ b/src/actix_session/storage/redis_rs.rs.html
@@ -1,6 +1,4 @@
-redis_rs.rs - source
-    
1
+redis_rs.rs - source
1
 2
 3
 4
diff --git a/src/actix_session/storage/session_key.rs.html b/src/actix_session/storage/session_key.rs.html
index 8b2a23b10..cf4e103e7 100644
--- a/src/actix_session/storage/session_key.rs.html
+++ b/src/actix_session/storage/session_key.rs.html
@@ -1,6 +1,4 @@
-session_key.rs - source
-    
1
+session_key.rs - source
1
 2
 3
 4
diff --git a/src/actix_session/storage/utils.rs.html b/src/actix_session/storage/utils.rs.html
index 4e0416403..747b4fcba 100644
--- a/src/actix_session/storage/utils.rs.html
+++ b/src/actix_session/storage/utils.rs.html
@@ -1,6 +1,4 @@
-utils.rs - source
-    
1
+utils.rs - source
1
 2
 3
 4
diff --git a/src/actix_settings/error.rs.html b/src/actix_settings/error.rs.html
index 289fa7f08..3effd51b3 100644
--- a/src/actix_settings/error.rs.html
+++ b/src/actix_settings/error.rs.html
@@ -1,6 +1,4 @@
-error.rs - source
-    
1
+error.rs - source
1
 2
 3
 4
diff --git a/src/actix_settings/lib.rs.html b/src/actix_settings/lib.rs.html
index bdd25d559..1aa8bf910 100644
--- a/src/actix_settings/lib.rs.html
+++ b/src/actix_settings/lib.rs.html
@@ -1,6 +1,4 @@
-lib.rs - source
-    
1
+lib.rs - source
1
 2
 3
 4
diff --git a/src/actix_settings/parse.rs.html b/src/actix_settings/parse.rs.html
index 2e1a7cc4e..97e4fce67 100644
--- a/src/actix_settings/parse.rs.html
+++ b/src/actix_settings/parse.rs.html
@@ -1,6 +1,4 @@
-parse.rs - source
-    
1
+parse.rs - source
1
 2
 3
 4
diff --git a/src/actix_settings/settings/address.rs.html b/src/actix_settings/settings/address.rs.html
index 303606bd7..9b9cc48c8 100644
--- a/src/actix_settings/settings/address.rs.html
+++ b/src/actix_settings/settings/address.rs.html
@@ -1,6 +1,4 @@
-address.rs - source
-    
1
+address.rs - source
1
 2
 3
 4
diff --git a/src/actix_settings/settings/backlog.rs.html b/src/actix_settings/settings/backlog.rs.html
index 5889507ac..3e8d4447b 100644
--- a/src/actix_settings/settings/backlog.rs.html
+++ b/src/actix_settings/settings/backlog.rs.html
@@ -1,6 +1,4 @@
-backlog.rs - source
-    
1
+backlog.rs - source
1
 2
 3
 4
diff --git a/src/actix_settings/settings/keep_alive.rs.html b/src/actix_settings/settings/keep_alive.rs.html
index 6b12dbfd4..40fe284ed 100644
--- a/src/actix_settings/settings/keep_alive.rs.html
+++ b/src/actix_settings/settings/keep_alive.rs.html
@@ -1,6 +1,4 @@
-keep_alive.rs - source
-    
1
+keep_alive.rs - source
1
 2
 3
 4
diff --git a/src/actix_settings/settings/max_connection_rate.rs.html b/src/actix_settings/settings/max_connection_rate.rs.html
index b37fbb8ab..ffee02802 100644
--- a/src/actix_settings/settings/max_connection_rate.rs.html
+++ b/src/actix_settings/settings/max_connection_rate.rs.html
@@ -1,6 +1,4 @@
-max_connection_rate.rs - source
-    
1
+max_connection_rate.rs - source
1
 2
 3
 4
diff --git a/src/actix_settings/settings/max_connections.rs.html b/src/actix_settings/settings/max_connections.rs.html
index ce09a10af..4d565b265 100644
--- a/src/actix_settings/settings/max_connections.rs.html
+++ b/src/actix_settings/settings/max_connections.rs.html
@@ -1,6 +1,4 @@
-max_connections.rs - source
-    
1
+max_connections.rs - source
1
 2
 3
 4
diff --git a/src/actix_settings/settings/mod.rs.html b/src/actix_settings/settings/mod.rs.html
index 1c4d69f98..b16dfa94b 100644
--- a/src/actix_settings/settings/mod.rs.html
+++ b/src/actix_settings/settings/mod.rs.html
@@ -1,6 +1,4 @@
-mod.rs - source
-    
1
+mod.rs - source
1
 2
 3
 4
diff --git a/src/actix_settings/settings/mode.rs.html b/src/actix_settings/settings/mode.rs.html
index c86616cd3..72093e943 100644
--- a/src/actix_settings/settings/mode.rs.html
+++ b/src/actix_settings/settings/mode.rs.html
@@ -1,6 +1,4 @@
-mode.rs - source
-    
1
+mode.rs - source
1
 2
 3
 4
diff --git a/src/actix_settings/settings/num_workers.rs.html b/src/actix_settings/settings/num_workers.rs.html
index 28839d3cd..b53a0563f 100644
--- a/src/actix_settings/settings/num_workers.rs.html
+++ b/src/actix_settings/settings/num_workers.rs.html
@@ -1,6 +1,4 @@
-num_workers.rs - source
-    
1
+num_workers.rs - source
1
 2
 3
 4
diff --git a/src/actix_settings/settings/timeout.rs.html b/src/actix_settings/settings/timeout.rs.html
index cc3bfbfc6..34dd80b13 100644
--- a/src/actix_settings/settings/timeout.rs.html
+++ b/src/actix_settings/settings/timeout.rs.html
@@ -1,6 +1,4 @@
-timeout.rs - source
-    
1
+timeout.rs - source
1
 2
 3
 4
diff --git a/src/actix_settings/settings/tls.rs.html b/src/actix_settings/settings/tls.rs.html
index bc5d43ea6..5897c5443 100644
--- a/src/actix_settings/settings/tls.rs.html
+++ b/src/actix_settings/settings/tls.rs.html
@@ -1,6 +1,4 @@
-tls.rs - source
-    
1
+tls.rs - source
1
 2
 3
 4
diff --git a/src/actix_web_httpauth/extractors/basic.rs.html b/src/actix_web_httpauth/extractors/basic.rs.html
index b4bdeec61..8994d4c52 100644
--- a/src/actix_web_httpauth/extractors/basic.rs.html
+++ b/src/actix_web_httpauth/extractors/basic.rs.html
@@ -1,6 +1,4 @@
-basic.rs - source
-    
1
+basic.rs - source
1
 2
 3
 4
diff --git a/src/actix_web_httpauth/extractors/bearer.rs.html b/src/actix_web_httpauth/extractors/bearer.rs.html
index 91bdf2831..a5275b0c7 100644
--- a/src/actix_web_httpauth/extractors/bearer.rs.html
+++ b/src/actix_web_httpauth/extractors/bearer.rs.html
@@ -1,6 +1,4 @@
-bearer.rs - source
-    
1
+bearer.rs - source
1
 2
 3
 4
diff --git a/src/actix_web_httpauth/extractors/config.rs.html b/src/actix_web_httpauth/extractors/config.rs.html
index 4b3c767e0..2b77961ae 100644
--- a/src/actix_web_httpauth/extractors/config.rs.html
+++ b/src/actix_web_httpauth/extractors/config.rs.html
@@ -1,6 +1,4 @@
-config.rs - source
-    
1
+config.rs - source
1
 2
 3
 4
diff --git a/src/actix_web_httpauth/extractors/errors.rs.html b/src/actix_web_httpauth/extractors/errors.rs.html
index e335ada7f..6da74e331 100644
--- a/src/actix_web_httpauth/extractors/errors.rs.html
+++ b/src/actix_web_httpauth/extractors/errors.rs.html
@@ -1,6 +1,4 @@
-errors.rs - source
-    
1
+errors.rs - source
1
 2
 3
 4
diff --git a/src/actix_web_httpauth/extractors/mod.rs.html b/src/actix_web_httpauth/extractors/mod.rs.html
index 50b48690c..3fa268190 100644
--- a/src/actix_web_httpauth/extractors/mod.rs.html
+++ b/src/actix_web_httpauth/extractors/mod.rs.html
@@ -1,6 +1,4 @@
-mod.rs - source
-    
1
+mod.rs - source
1
 2
 3
 4
diff --git a/src/actix_web_httpauth/headers/authorization/errors.rs.html b/src/actix_web_httpauth/headers/authorization/errors.rs.html
index a1b8925be..d984d916e 100644
--- a/src/actix_web_httpauth/headers/authorization/errors.rs.html
+++ b/src/actix_web_httpauth/headers/authorization/errors.rs.html
@@ -1,6 +1,4 @@
-errors.rs - source
-    
1
+errors.rs - source
1
 2
 3
 4
diff --git a/src/actix_web_httpauth/headers/authorization/header.rs.html b/src/actix_web_httpauth/headers/authorization/header.rs.html
index 63a2237ff..52660f282 100644
--- a/src/actix_web_httpauth/headers/authorization/header.rs.html
+++ b/src/actix_web_httpauth/headers/authorization/header.rs.html
@@ -1,6 +1,4 @@
-header.rs - source
-    
1
+header.rs - source
1
 2
 3
 4
diff --git a/src/actix_web_httpauth/headers/authorization/mod.rs.html b/src/actix_web_httpauth/headers/authorization/mod.rs.html
index 99fd6c5e0..dd644f2f5 100644
--- a/src/actix_web_httpauth/headers/authorization/mod.rs.html
+++ b/src/actix_web_httpauth/headers/authorization/mod.rs.html
@@ -1,6 +1,4 @@
-mod.rs - source
-    
1
+mod.rs - source
1
 2
 3
 4
diff --git a/src/actix_web_httpauth/headers/authorization/scheme/basic.rs.html b/src/actix_web_httpauth/headers/authorization/scheme/basic.rs.html
index 5fc34ddd4..9a2f8f64c 100644
--- a/src/actix_web_httpauth/headers/authorization/scheme/basic.rs.html
+++ b/src/actix_web_httpauth/headers/authorization/scheme/basic.rs.html
@@ -1,6 +1,4 @@
-basic.rs - source
-    
1
+basic.rs - source
1
 2
 3
 4
diff --git a/src/actix_web_httpauth/headers/authorization/scheme/bearer.rs.html b/src/actix_web_httpauth/headers/authorization/scheme/bearer.rs.html
index a1c335f98..05d6c03d4 100644
--- a/src/actix_web_httpauth/headers/authorization/scheme/bearer.rs.html
+++ b/src/actix_web_httpauth/headers/authorization/scheme/bearer.rs.html
@@ -1,6 +1,4 @@
-bearer.rs - source
-    
1
+bearer.rs - source
1
 2
 3
 4
diff --git a/src/actix_web_httpauth/headers/authorization/scheme/mod.rs.html b/src/actix_web_httpauth/headers/authorization/scheme/mod.rs.html
index c2900bb48..877e983ab 100644
--- a/src/actix_web_httpauth/headers/authorization/scheme/mod.rs.html
+++ b/src/actix_web_httpauth/headers/authorization/scheme/mod.rs.html
@@ -1,6 +1,4 @@
-mod.rs - source
-    
1
+mod.rs - source
1
 2
 3
 4
diff --git a/src/actix_web_httpauth/headers/mod.rs.html b/src/actix_web_httpauth/headers/mod.rs.html
index 64c8c53f1..5d0495318 100644
--- a/src/actix_web_httpauth/headers/mod.rs.html
+++ b/src/actix_web_httpauth/headers/mod.rs.html
@@ -1,6 +1,4 @@
-mod.rs - source
-    
1
+mod.rs - source
1
 2
 3
 4
diff --git a/src/actix_web_httpauth/headers/www_authenticate/challenge/basic.rs.html b/src/actix_web_httpauth/headers/www_authenticate/challenge/basic.rs.html
index 0a41c7fd9..531a1de85 100644
--- a/src/actix_web_httpauth/headers/www_authenticate/challenge/basic.rs.html
+++ b/src/actix_web_httpauth/headers/www_authenticate/challenge/basic.rs.html
@@ -1,6 +1,4 @@
-basic.rs - source
-    
1
+basic.rs - source
1
 2
 3
 4
diff --git a/src/actix_web_httpauth/headers/www_authenticate/challenge/bearer/builder.rs.html b/src/actix_web_httpauth/headers/www_authenticate/challenge/bearer/builder.rs.html
index dd6bdf518..236be5970 100644
--- a/src/actix_web_httpauth/headers/www_authenticate/challenge/bearer/builder.rs.html
+++ b/src/actix_web_httpauth/headers/www_authenticate/challenge/bearer/builder.rs.html
@@ -1,6 +1,4 @@
-builder.rs - source
-    
1
+builder.rs - source
1
 2
 3
 4
diff --git a/src/actix_web_httpauth/headers/www_authenticate/challenge/bearer/challenge.rs.html b/src/actix_web_httpauth/headers/www_authenticate/challenge/bearer/challenge.rs.html
index c0ca105e3..f5740a546 100644
--- a/src/actix_web_httpauth/headers/www_authenticate/challenge/bearer/challenge.rs.html
+++ b/src/actix_web_httpauth/headers/www_authenticate/challenge/bearer/challenge.rs.html
@@ -1,6 +1,4 @@
-challenge.rs - source
-    
1
+challenge.rs - source
1
 2
 3
 4
diff --git a/src/actix_web_httpauth/headers/www_authenticate/challenge/bearer/errors.rs.html b/src/actix_web_httpauth/headers/www_authenticate/challenge/bearer/errors.rs.html
index 7c355765e..556487de1 100644
--- a/src/actix_web_httpauth/headers/www_authenticate/challenge/bearer/errors.rs.html
+++ b/src/actix_web_httpauth/headers/www_authenticate/challenge/bearer/errors.rs.html
@@ -1,6 +1,4 @@
-errors.rs - source
-    
1
+errors.rs - source
1
 2
 3
 4
diff --git a/src/actix_web_httpauth/headers/www_authenticate/challenge/bearer/mod.rs.html b/src/actix_web_httpauth/headers/www_authenticate/challenge/bearer/mod.rs.html
index 738ff4493..33b699a57 100644
--- a/src/actix_web_httpauth/headers/www_authenticate/challenge/bearer/mod.rs.html
+++ b/src/actix_web_httpauth/headers/www_authenticate/challenge/bearer/mod.rs.html
@@ -1,6 +1,4 @@
-mod.rs - source
-    
1
+mod.rs - source
1
 2
 3
 4
diff --git a/src/actix_web_httpauth/headers/www_authenticate/challenge/mod.rs.html b/src/actix_web_httpauth/headers/www_authenticate/challenge/mod.rs.html
index 34f4545b9..9c6425635 100644
--- a/src/actix_web_httpauth/headers/www_authenticate/challenge/mod.rs.html
+++ b/src/actix_web_httpauth/headers/www_authenticate/challenge/mod.rs.html
@@ -1,6 +1,4 @@
-mod.rs - source
-    
1
+mod.rs - source
1
 2
 3
 4
diff --git a/src/actix_web_httpauth/headers/www_authenticate/header.rs.html b/src/actix_web_httpauth/headers/www_authenticate/header.rs.html
index df7b4594d..cdb88b57f 100644
--- a/src/actix_web_httpauth/headers/www_authenticate/header.rs.html
+++ b/src/actix_web_httpauth/headers/www_authenticate/header.rs.html
@@ -1,6 +1,4 @@
-header.rs - source
-    
1
+header.rs - source
1
 2
 3
 4
diff --git a/src/actix_web_httpauth/headers/www_authenticate/mod.rs.html b/src/actix_web_httpauth/headers/www_authenticate/mod.rs.html
index 324bc8563..f00290eca 100644
--- a/src/actix_web_httpauth/headers/www_authenticate/mod.rs.html
+++ b/src/actix_web_httpauth/headers/www_authenticate/mod.rs.html
@@ -1,6 +1,4 @@
-mod.rs - source
-    
1
+mod.rs - source
1
 2
 3
 4
diff --git a/src/actix_web_httpauth/lib.rs.html b/src/actix_web_httpauth/lib.rs.html
index 52941f188..7337deb9c 100644
--- a/src/actix_web_httpauth/lib.rs.html
+++ b/src/actix_web_httpauth/lib.rs.html
@@ -1,6 +1,4 @@
-lib.rs - source
-    
1
+lib.rs - source
1
 2
 3
 4
diff --git a/src/actix_web_httpauth/middleware.rs.html b/src/actix_web_httpauth/middleware.rs.html
index 99e9a6d43..706345183 100644
--- a/src/actix_web_httpauth/middleware.rs.html
+++ b/src/actix_web_httpauth/middleware.rs.html
@@ -1,6 +1,4 @@
-middleware.rs - source
-    
1
+middleware.rs - source
1
 2
 3
 4
diff --git a/src/actix_web_httpauth/utils.rs.html b/src/actix_web_httpauth/utils.rs.html
index 7f1f95aa0..bea694794 100644
--- a/src/actix_web_httpauth/utils.rs.html
+++ b/src/actix_web_httpauth/utils.rs.html
@@ -1,6 +1,4 @@
-utils.rs - source
-    
1
+utils.rs - source
1
 2
 3
 4
diff --git a/src/actix_ws/fut.rs.html b/src/actix_ws/fut.rs.html
index a93b85bca..a2e303ac9 100644
--- a/src/actix_ws/fut.rs.html
+++ b/src/actix_ws/fut.rs.html
@@ -1,6 +1,4 @@
-fut.rs - source
-    
1
+fut.rs - source
1
 2
 3
 4
diff --git a/src/actix_ws/lib.rs.html b/src/actix_ws/lib.rs.html
index 4fb209075..49599ca7e 100644
--- a/src/actix_ws/lib.rs.html
+++ b/src/actix_ws/lib.rs.html
@@ -1,6 +1,4 @@
-lib.rs - source
-    
1
+lib.rs - source
1
 2
 3
 4
diff --git a/src/actix_ws/session.rs.html b/src/actix_ws/session.rs.html
index fc3ffc5c9..56daa1937 100644
--- a/src/actix_ws/session.rs.html
+++ b/src/actix_ws/session.rs.html
@@ -1,6 +1,4 @@
-session.rs - source
-    
1
+session.rs - source
1
 2
 3
 4
diff --git a/static.files/clipboard-7571035ce49a181d.svg b/static.files/clipboard-7571035ce49a181d.svg
deleted file mode 100644
index 8adbd9963..000000000
--- a/static.files/clipboard-7571035ce49a181d.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/static.files/favicon-16x16-8b506e7a72182f1c.png b/static.files/favicon-16x16-8b506e7a72182f1c.png
deleted file mode 100644
index ea4b45cae..000000000
Binary files a/static.files/favicon-16x16-8b506e7a72182f1c.png and /dev/null differ
diff --git a/static.files/main-20a3ad099b048cf2.js b/static.files/main-20a3ad099b048cf2.js
new file mode 100644
index 000000000..133116e4d
--- /dev/null
+++ b/static.files/main-20a3ad099b048cf2.js
@@ -0,0 +1,11 @@
+"use strict";window.RUSTDOC_TOOLTIP_HOVER_MS=300;window.RUSTDOC_TOOLTIP_HOVER_EXIT_MS=450;function resourcePath(basename,extension){return getVar("root-path")+basename+getVar("resource-suffix")+extension}function hideMain(){addClass(document.getElementById(MAIN_ID),"hidden")}function showMain(){removeClass(document.getElementById(MAIN_ID),"hidden")}function blurHandler(event,parentElem,hideCallback){if(!parentElem.contains(document.activeElement)&&!parentElem.contains(event.relatedTarget)){hideCallback()}}window.rootPath=getVar("root-path");window.currentCrate=getVar("current-crate");function setMobileTopbar(){const mobileTopbar=document.querySelector(".mobile-topbar");const locationTitle=document.querySelector(".sidebar h2.location");if(mobileTopbar){const mobileTitle=document.createElement("h2");mobileTitle.className="location";if(hasClass(document.querySelector(".rustdoc"),"crate")){mobileTitle.innerHTML=`Crate ${window.currentCrate}`}else if(locationTitle){mobileTitle.innerHTML=locationTitle.innerHTML}mobileTopbar.appendChild(mobileTitle)}}function getVirtualKey(ev){if("key"in ev&&typeof ev.key!=="undefined"){return ev.key}const c=ev.charCode||ev.keyCode;if(c===27){return"Escape"}return String.fromCharCode(c)}const MAIN_ID="main-content";const SETTINGS_BUTTON_ID="settings-menu";const ALTERNATIVE_DISPLAY_ID="alternative-display";const NOT_DISPLAYED_ID="not-displayed";const HELP_BUTTON_ID="help-button";function getSettingsButton(){return document.getElementById(SETTINGS_BUTTON_ID)}function getHelpButton(){return document.getElementById(HELP_BUTTON_ID)}function getNakedUrl(){return window.location.href.split("?")[0].split("#")[0]}function insertAfter(newNode,referenceNode){referenceNode.parentNode.insertBefore(newNode,referenceNode.nextSibling)}function getOrCreateSection(id,classes){let el=document.getElementById(id);if(!el){el=document.createElement("section");el.id=id;el.className=classes;insertAfter(el,document.getElementById(MAIN_ID))}return el}function getAlternativeDisplayElem(){return getOrCreateSection(ALTERNATIVE_DISPLAY_ID,"content hidden")}function getNotDisplayedElem(){return getOrCreateSection(NOT_DISPLAYED_ID,"hidden")}function switchDisplayedElement(elemToDisplay){const el=getAlternativeDisplayElem();if(el.children.length>0){getNotDisplayedElem().appendChild(el.firstElementChild)}if(elemToDisplay===null){addClass(el,"hidden");showMain();return}el.appendChild(elemToDisplay);hideMain();removeClass(el,"hidden")}function browserSupportsHistoryApi(){return window.history&&typeof window.history.pushState==="function"}function preLoadCss(cssUrl){const link=document.createElement("link");link.href=cssUrl;link.rel="preload";link.as="style";document.getElementsByTagName("head")[0].appendChild(link)}(function(){const isHelpPage=window.location.pathname.endsWith("/help.html");function loadScript(url,errorCallback){const script=document.createElement("script");script.src=url;if(errorCallback!==undefined){script.onerror=errorCallback}document.head.append(script)}getSettingsButton().onclick=event=>{if(event.ctrlKey||event.altKey||event.metaKey){return}window.hideAllModals(false);addClass(getSettingsButton(),"rotate");event.preventDefault();loadScript(getVar("static-root-path")+getVar("settings-js"));setTimeout(()=>{const themes=getVar("themes").split(",");for(const theme of themes){if(theme!==""){preLoadCss(getVar("root-path")+theme+".css")}}},0)};window.searchState={loadingText:"Loading search results...",input:document.getElementsByClassName("search-input")[0],outputElement:()=>{let el=document.getElementById("search");if(!el){el=document.createElement("section");el.id="search";getNotDisplayedElem().appendChild(el)}return el},title:document.title,titleBeforeSearch:document.title,timeout:null,currentTab:0,focusedByTab:[null,null,null],clearInputTimeout:()=>{if(searchState.timeout!==null){clearTimeout(searchState.timeout);searchState.timeout=null}},isDisplayed:()=>searchState.outputElement().parentElement.id===ALTERNATIVE_DISPLAY_ID,focus:()=>{searchState.input.focus()},defocus:()=>{searchState.input.blur()},showResults:search=>{if(search===null||typeof search==="undefined"){search=searchState.outputElement()}switchDisplayedElement(search);searchState.mouseMovedAfterSearch=false;document.title=searchState.title},removeQueryParameters:()=>{document.title=searchState.titleBeforeSearch;if(browserSupportsHistoryApi()){history.replaceState(null,"",getNakedUrl()+window.location.hash)}},hideResults:()=>{switchDisplayedElement(null);searchState.removeQueryParameters()},getQueryStringParams:()=>{const params={};window.location.search.substring(1).split("&").map(s=>{const pair=s.split("=").map(x=>x.replace(/\+/g," "));params[decodeURIComponent(pair[0])]=typeof pair[1]==="undefined"?null:decodeURIComponent(pair[1])});return params},setup:()=>{const search_input=searchState.input;if(!searchState.input){return}let searchLoaded=false;function sendSearchForm(){document.getElementsByClassName("search-form")[0].submit()}function loadSearch(){if(!searchLoaded){searchLoaded=true;loadScript(getVar("static-root-path")+getVar("search-js"),sendSearchForm);loadScript(resourcePath("search-index",".js"),sendSearchForm)}}search_input.addEventListener("focus",()=>{search_input.origPlaceholder=search_input.placeholder;search_input.placeholder="Type your search here.";loadSearch()});if(search_input.value!==""){loadSearch()}const params=searchState.getQueryStringParams();if(params.search!==undefined){searchState.setLoadingSearch();loadSearch()}},setLoadingSearch:()=>{const search=searchState.outputElement();search.innerHTML="

"+searchState.loadingText+"

";searchState.showResults(search)},descShards:new Map(),loadDesc:async function({descShard,descIndex}){if(descShard.promise===null){descShard.promise=new Promise((resolve,reject)=>{descShard.resolve=resolve;const ds=descShard;const fname=`${ds.crate}-desc-${ds.shard}-`;const url=resourcePath(`search.desc/${descShard.crate}/${fname}`,".js",);loadScript(url,reject)})}const list=await descShard.promise;return list[descIndex]},loadedDescShard:function(crate,shard,data){this.descShards.get(crate)[shard].resolve(data.split("\n"))},};const toggleAllDocsId="toggle-all-docs";let savedHash="";function handleHashes(ev){if(ev!==null&&searchState.isDisplayed()&&ev.newURL){switchDisplayedElement(null);const hash=ev.newURL.slice(ev.newURL.indexOf("#")+1);if(browserSupportsHistoryApi()){history.replaceState(null,"",getNakedUrl()+window.location.search+"#"+hash)}const elem=document.getElementById(hash);if(elem){elem.scrollIntoView()}}const pageId=window.location.hash.replace(/^#/,"");if(savedHash!==pageId){savedHash=pageId;if(pageId!==""){expandSection(pageId)}}if(savedHash.startsWith("impl-")){const splitAt=savedHash.indexOf("/");if(splitAt!==-1){const implId=savedHash.slice(0,splitAt);const assocId=savedHash.slice(splitAt+1);const implElem=document.getElementById(implId);if(implElem&&implElem.parentElement.tagName==="SUMMARY"&&implElem.parentElement.parentElement.tagName==="DETAILS"){onEachLazy(implElem.parentElement.parentElement.querySelectorAll(`[id^="${assocId}"]`),item=>{const numbered=/([^-]+)-([0-9]+)/.exec(item.id);if(item.id===assocId||(numbered&&numbered[1]===assocId)){openParentDetails(item);item.scrollIntoView();setTimeout(()=>{window.location.replace("#"+item.id)},0)}},)}}}}function onHashChange(ev){hideSidebar();handleHashes(ev)}function openParentDetails(elem){while(elem){if(elem.tagName==="DETAILS"){elem.open=true}elem=elem.parentNode}}function expandSection(id){openParentDetails(document.getElementById(id))}function handleEscape(ev){searchState.clearInputTimeout();searchState.hideResults();ev.preventDefault();searchState.defocus();window.hideAllModals(true)}function handleShortcut(ev){const disableShortcuts=getSettingValue("disable-shortcuts")==="true";if(ev.ctrlKey||ev.altKey||ev.metaKey||disableShortcuts){return}if(document.activeElement.tagName==="INPUT"&&document.activeElement.type!=="checkbox"&&document.activeElement.type!=="radio"){switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break}}else{switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break;case"s":case"S":case"/":ev.preventDefault();searchState.focus();break;case"+":ev.preventDefault();expandAllDocs();break;case"-":ev.preventDefault();collapseAllDocs();break;case"?":showHelp();break;default:break}}}document.addEventListener("keypress",handleShortcut);document.addEventListener("keydown",handleShortcut);function addSidebarItems(){if(!window.SIDEBAR_ITEMS){return}const sidebar=document.getElementsByClassName("sidebar-elems")[0];function block(shortty,id,longty){const filtered=window.SIDEBAR_ITEMS[shortty];if(!filtered){return}const modpath=hasClass(document.querySelector(".rustdoc"),"mod")?"../":"";const h3=document.createElement("h3");h3.innerHTML=`${longty}`;const ul=document.createElement("ul");ul.className="block "+shortty;for(const name of filtered){let path;if(shortty==="mod"){path=`${modpath}${name}/index.html`}else{path=`${modpath}${shortty}.${name}.html`}let current_page=document.location.href.toString();if(current_page.endsWith("/")){current_page+="index.html"}const link=document.createElement("a");link.href=path;if(path===current_page){link.className="current"}link.textContent=name;const li=document.createElement("li");li.appendChild(link);ul.appendChild(li)}sidebar.appendChild(h3);sidebar.appendChild(ul)}if(sidebar){block("primitive","primitives","Primitive Types");block("mod","modules","Modules");block("macro","macros","Macros");block("struct","structs","Structs");block("enum","enums","Enums");block("constant","constants","Constants");block("static","static","Statics");block("trait","traits","Traits");block("fn","functions","Functions");block("type","types","Type Aliases");block("union","unions","Unions");block("foreigntype","foreign-types","Foreign Types");block("keyword","keywords","Keywords");block("opaque","opaque-types","Opaque Types");block("attr","attributes","Attribute Macros");block("derive","derives","Derive Macros");block("traitalias","trait-aliases","Trait Aliases")}}window.register_implementors=imp=>{const implementors=document.getElementById("implementors-list");const synthetic_implementors=document.getElementById("synthetic-implementors-list");const inlined_types=new Set();const TEXT_IDX=0;const SYNTHETIC_IDX=1;const TYPES_IDX=2;if(synthetic_implementors){onEachLazy(synthetic_implementors.getElementsByClassName("impl"),el=>{const aliases=el.getAttribute("data-aliases");if(!aliases){return}aliases.split(",").forEach(alias=>{inlined_types.add(alias)})})}let currentNbImpls=implementors.getElementsByClassName("impl").length;const traitName=document.querySelector(".main-heading h1 > .trait").textContent;const baseIdName="impl-"+traitName+"-";const libs=Object.getOwnPropertyNames(imp);const script=document.querySelector("script[data-ignore-extern-crates]");const ignoreExternCrates=new Set((script?script.getAttribute("data-ignore-extern-crates"):"").split(","),);for(const lib of libs){if(lib===window.currentCrate||ignoreExternCrates.has(lib)){continue}const structs=imp[lib];struct_loop:for(const struct of structs){const list=struct[SYNTHETIC_IDX]?synthetic_implementors:implementors;if(struct[SYNTHETIC_IDX]){for(const struct_type of struct[TYPES_IDX]){if(inlined_types.has(struct_type)){continue struct_loop}inlined_types.add(struct_type)}}const code=document.createElement("h3");code.innerHTML=struct[TEXT_IDX];addClass(code,"code-header");onEachLazy(code.getElementsByTagName("a"),elem=>{const href=elem.getAttribute("href");if(href&&!href.startsWith("#")&&!/^(?:[a-z+]+:)?\/\//.test(href)){elem.setAttribute("href",window.rootPath+href)}});const currentId=baseIdName+currentNbImpls;const anchor=document.createElement("a");anchor.href="#"+currentId;addClass(anchor,"anchor");const display=document.createElement("div");display.id=currentId;addClass(display,"impl");display.appendChild(anchor);display.appendChild(code);list.appendChild(display);currentNbImpls+=1}}};if(window.pending_implementors){window.register_implementors(window.pending_implementors)}window.register_type_impls=imp=>{if(!imp||!imp[window.currentCrate]){return}window.pending_type_impls=null;const idMap=new Map();let implementations=document.getElementById("implementations-list");let trait_implementations=document.getElementById("trait-implementations-list");let trait_implementations_header=document.getElementById("trait-implementations");const script=document.querySelector("script[data-self-path]");const selfPath=script?script.getAttribute("data-self-path"):null;const mainContent=document.querySelector("#main-content");const sidebarSection=document.querySelector(".sidebar section");let methods=document.querySelector(".sidebar .block.method");let associatedTypes=document.querySelector(".sidebar .block.associatedtype");let associatedConstants=document.querySelector(".sidebar .block.associatedconstant");let sidebarTraitList=document.querySelector(".sidebar .block.trait-implementation");for(const impList of imp[window.currentCrate]){const types=impList.slice(2);const text=impList[0];const isTrait=impList[1]!==0;const traitName=impList[1];if(types.indexOf(selfPath)===-1){continue}let outputList=isTrait?trait_implementations:implementations;if(outputList===null){const outputListName=isTrait?"Trait Implementations":"Implementations";const outputListId=isTrait?"trait-implementations-list":"implementations-list";const outputListHeaderId=isTrait?"trait-implementations":"implementations";const outputListHeader=document.createElement("h2");outputListHeader.id=outputListHeaderId;outputListHeader.innerText=outputListName;outputList=document.createElement("div");outputList.id=outputListId;if(isTrait){const link=document.createElement("a");link.href=`#${outputListHeaderId}`;link.innerText="Trait Implementations";const h=document.createElement("h3");h.appendChild(link);trait_implementations=outputList;trait_implementations_header=outputListHeader;sidebarSection.appendChild(h);sidebarTraitList=document.createElement("ul");sidebarTraitList.className="block trait-implementation";sidebarSection.appendChild(sidebarTraitList);mainContent.appendChild(outputListHeader);mainContent.appendChild(outputList)}else{implementations=outputList;if(trait_implementations){mainContent.insertBefore(outputListHeader,trait_implementations_header);mainContent.insertBefore(outputList,trait_implementations_header)}else{const mainContent=document.querySelector("#main-content");mainContent.appendChild(outputListHeader);mainContent.appendChild(outputList)}}}const template=document.createElement("template");template.innerHTML=text;onEachLazy(template.content.querySelectorAll("a"),elem=>{const href=elem.getAttribute("href");if(href&&!href.startsWith("#")&&!/^(?:[a-z+]+:)?\/\//.test(href)){elem.setAttribute("href",window.rootPath+href)}});onEachLazy(template.content.querySelectorAll("[id]"),el=>{let i=0;if(idMap.has(el.id)){i=idMap.get(el.id)}else if(document.getElementById(el.id)){i=1;while(document.getElementById(`${el.id}-${2 * i}`)){i=2*i}while(document.getElementById(`${el.id}-${i}`)){i+=1}}if(i!==0){const oldHref=`#${el.id}`;const newHref=`#${el.id}-${i}`;el.id=`${el.id}-${i}`;onEachLazy(template.content.querySelectorAll("a[href]"),link=>{if(link.getAttribute("href")===oldHref){link.href=newHref}})}idMap.set(el.id,i+1)});const templateAssocItems=template.content.querySelectorAll("section.tymethod, "+"section.method, section.associatedtype, section.associatedconstant");if(isTrait){const li=document.createElement("li");const a=document.createElement("a");a.href=`#${template.content.querySelector(".impl").id}`;a.textContent=traitName;li.appendChild(a);sidebarTraitList.append(li)}else{onEachLazy(templateAssocItems,item=>{let block=hasClass(item,"associatedtype")?associatedTypes:(hasClass(item,"associatedconstant")?associatedConstants:(methods));if(!block){const blockTitle=hasClass(item,"associatedtype")?"Associated Types":(hasClass(item,"associatedconstant")?"Associated Constants":("Methods"));const blockClass=hasClass(item,"associatedtype")?"associatedtype":(hasClass(item,"associatedconstant")?"associatedconstant":("method"));const blockHeader=document.createElement("h3");const blockLink=document.createElement("a");blockLink.href="#implementations";blockLink.innerText=blockTitle;blockHeader.appendChild(blockLink);block=document.createElement("ul");block.className=`block ${blockClass}`;const insertionReference=methods||sidebarTraitList;if(insertionReference){const insertionReferenceH=insertionReference.previousElementSibling;sidebarSection.insertBefore(blockHeader,insertionReferenceH);sidebarSection.insertBefore(block,insertionReferenceH)}else{sidebarSection.appendChild(blockHeader);sidebarSection.appendChild(block)}if(hasClass(item,"associatedtype")){associatedTypes=block}else if(hasClass(item,"associatedconstant")){associatedConstants=block}else{methods=block}}const li=document.createElement("li");const a=document.createElement("a");a.innerText=item.id.split("-")[0].split(".")[1];a.href=`#${item.id}`;li.appendChild(a);block.appendChild(li)})}outputList.appendChild(template.content)}for(const list of[methods,associatedTypes,associatedConstants,sidebarTraitList]){if(!list){continue}const newChildren=Array.prototype.slice.call(list.children);newChildren.sort((a,b)=>{const aI=a.innerText;const bI=b.innerText;return aIbI?1:0});list.replaceChildren(...newChildren)}};if(window.pending_type_impls){window.register_type_impls(window.pending_type_impls)}function addSidebarCrates(){if(!window.ALL_CRATES){return}const sidebarElems=document.getElementsByClassName("sidebar-elems")[0];if(!sidebarElems){return}const h3=document.createElement("h3");h3.innerHTML="Crates";const ul=document.createElement("ul");ul.className="block crate";for(const crate of window.ALL_CRATES){const link=document.createElement("a");link.href=window.rootPath+crate+"/index.html";link.textContent=crate;const li=document.createElement("li");if(window.rootPath!=="./"&&crate===window.currentCrate){li.className="current"}li.appendChild(link);ul.appendChild(li)}sidebarElems.appendChild(h3);sidebarElems.appendChild(ul)}function expandAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);removeClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("toggle"),e=>{if(!hasClass(e,"type-contents-toggle")&&!hasClass(e,"more-examples-toggle")){e.open=true}});innerToggle.title="collapse all docs";innerToggle.children[0].innerText="\u2212"}function collapseAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);addClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("toggle"),e=>{if(e.parentNode.id!=="implementations-list"||(!hasClass(e,"implementors-toggle")&&!hasClass(e,"type-contents-toggle"))){e.open=false}});innerToggle.title="expand all docs";innerToggle.children[0].innerText="+"}function toggleAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);if(!innerToggle){return}if(hasClass(innerToggle,"will-expand")){expandAllDocs()}else{collapseAllDocs()}}(function(){const toggles=document.getElementById(toggleAllDocsId);if(toggles){toggles.onclick=toggleAllDocs}const hideMethodDocs=getSettingValue("auto-hide-method-docs")==="true";const hideImplementations=getSettingValue("auto-hide-trait-implementations")==="true";const hideLargeItemContents=getSettingValue("auto-hide-large-items")!=="false";function setImplementorsTogglesOpen(id,open){const list=document.getElementById(id);if(list!==null){onEachLazy(list.getElementsByClassName("implementors-toggle"),e=>{e.open=open})}}if(hideImplementations){setImplementorsTogglesOpen("trait-implementations-list",false);setImplementorsTogglesOpen("blanket-implementations-list",false)}onEachLazy(document.getElementsByClassName("toggle"),e=>{if(!hideLargeItemContents&&hasClass(e,"type-contents-toggle")){e.open=true}if(hideMethodDocs&&hasClass(e,"method-toggle")){e.open=false}})}());window.rustdoc_add_line_numbers_to_examples=()=>{onEachLazy(document.getElementsByClassName("rust-example-rendered"),x=>{const parent=x.parentNode;const line_numbers=parent.querySelectorAll(".example-line-numbers");if(line_numbers.length>0){return}const count=x.textContent.split("\n").length;const elems=[];for(let i=0;i{onEachLazy(document.getElementsByClassName("rust-example-rendered"),x=>{const parent=x.parentNode;const line_numbers=parent.querySelectorAll(".example-line-numbers");for(const node of line_numbers){parent.removeChild(node)}})};if(getSettingValue("line-numbers")==="true"){window.rustdoc_add_line_numbers_to_examples()}function showSidebar(){window.hideAllModals(false);const sidebar=document.getElementsByClassName("sidebar")[0];addClass(sidebar,"shown")}function hideSidebar(){const sidebar=document.getElementsByClassName("sidebar")[0];removeClass(sidebar,"shown")}window.addEventListener("resize",()=>{if(window.CURRENT_TOOLTIP_ELEMENT){const base=window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE;const force_visible=base.TOOLTIP_FORCE_VISIBLE;hideTooltip(false);if(force_visible){showTooltip(base);base.TOOLTIP_FORCE_VISIBLE=true}}});const mainElem=document.getElementById(MAIN_ID);if(mainElem){mainElem.addEventListener("click",hideSidebar)}onEachLazy(document.querySelectorAll("a[href^='#']"),el=>{el.addEventListener("click",()=>{expandSection(el.hash.slice(1));hideSidebar()})});onEachLazy(document.querySelectorAll(".toggle > summary:not(.hideme)"),el=>{el.addEventListener("click",e=>{if(e.target.tagName!=="SUMMARY"&&e.target.tagName!=="A"){e.preventDefault()}})});function showTooltip(e){const notable_ty=e.getAttribute("data-notable-ty");if(!window.NOTABLE_TRAITS&¬able_ty){const data=document.getElementById("notable-traits-data");if(data){window.NOTABLE_TRAITS=JSON.parse(data.innerText)}else{throw new Error("showTooltip() called with notable without any notable traits!")}}if(window.CURRENT_TOOLTIP_ELEMENT&&window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE===e){clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);return}window.hideAllModals(false);const wrapper=document.createElement("div");if(notable_ty){wrapper.innerHTML="
"+window.NOTABLE_TRAITS[notable_ty]+"
"}else{if(e.getAttribute("title")!==null){e.setAttribute("data-title",e.getAttribute("title"));e.removeAttribute("title")}if(e.getAttribute("data-title")!==null){const titleContent=document.createElement("div");titleContent.className="content";titleContent.appendChild(document.createTextNode(e.getAttribute("data-title")));wrapper.appendChild(titleContent)}}wrapper.className="tooltip popover";const focusCatcher=document.createElement("div");focusCatcher.setAttribute("tabindex","0");focusCatcher.onfocus=hideTooltip;wrapper.appendChild(focusCatcher);const pos=e.getBoundingClientRect();wrapper.style.top=(pos.top+window.scrollY+pos.height)+"px";wrapper.style.left=0;wrapper.style.right="auto";wrapper.style.visibility="hidden";const body=document.getElementsByTagName("body")[0];body.appendChild(wrapper);const wrapperPos=wrapper.getBoundingClientRect();const finalPos=pos.left+window.scrollX-wrapperPos.width+24;if(finalPos>0){wrapper.style.left=finalPos+"px"}else{wrapper.style.setProperty("--popover-arrow-offset",(wrapperPos.right-pos.right+4)+"px",)}wrapper.style.visibility="";window.CURRENT_TOOLTIP_ELEMENT=wrapper;window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE=e;clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);wrapper.onpointerenter=ev=>{if(ev.pointerType!=="mouse"){return}clearTooltipHoverTimeout(e)};wrapper.onpointerleave=ev=>{if(ev.pointerType!=="mouse"){return}if(!e.TOOLTIP_FORCE_VISIBLE&&!e.contains(ev.relatedTarget)){setTooltipHoverTimeout(e,false);addClass(wrapper,"fade-out")}}}function setTooltipHoverTimeout(element,show){clearTooltipHoverTimeout(element);if(!show&&!window.CURRENT_TOOLTIP_ELEMENT){return}if(show&&window.CURRENT_TOOLTIP_ELEMENT){return}if(window.CURRENT_TOOLTIP_ELEMENT&&window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE!==element){return}element.TOOLTIP_HOVER_TIMEOUT=setTimeout(()=>{if(show){showTooltip(element)}else if(!element.TOOLTIP_FORCE_VISIBLE){hideTooltip(false)}},show?window.RUSTDOC_TOOLTIP_HOVER_MS:window.RUSTDOC_TOOLTIP_HOVER_EXIT_MS)}function clearTooltipHoverTimeout(element){if(element.TOOLTIP_HOVER_TIMEOUT!==undefined){removeClass(window.CURRENT_TOOLTIP_ELEMENT,"fade-out");clearTimeout(element.TOOLTIP_HOVER_TIMEOUT);delete element.TOOLTIP_HOVER_TIMEOUT}}function tooltipBlurHandler(event){if(window.CURRENT_TOOLTIP_ELEMENT&&!window.CURRENT_TOOLTIP_ELEMENT.contains(document.activeElement)&&!window.CURRENT_TOOLTIP_ELEMENT.contains(event.relatedTarget)&&!window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.contains(document.activeElement)&&!window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.contains(event.relatedTarget)){setTimeout(()=>hideTooltip(false),0)}}function hideTooltip(focus){if(window.CURRENT_TOOLTIP_ELEMENT){if(window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.TOOLTIP_FORCE_VISIBLE){if(focus){window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.focus()}window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.TOOLTIP_FORCE_VISIBLE=false}const body=document.getElementsByTagName("body")[0];body.removeChild(window.CURRENT_TOOLTIP_ELEMENT);clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);window.CURRENT_TOOLTIP_ELEMENT=null}}onEachLazy(document.getElementsByClassName("tooltip"),e=>{e.onclick=()=>{e.TOOLTIP_FORCE_VISIBLE=e.TOOLTIP_FORCE_VISIBLE?false:true;if(window.CURRENT_TOOLTIP_ELEMENT&&!e.TOOLTIP_FORCE_VISIBLE){hideTooltip(true)}else{showTooltip(e);window.CURRENT_TOOLTIP_ELEMENT.setAttribute("tabindex","0");window.CURRENT_TOOLTIP_ELEMENT.focus();window.CURRENT_TOOLTIP_ELEMENT.onblur=tooltipBlurHandler}return false};e.onpointerenter=ev=>{if(ev.pointerType!=="mouse"){return}setTooltipHoverTimeout(e,true)};e.onpointermove=ev=>{if(ev.pointerType!=="mouse"){return}setTooltipHoverTimeout(e,true)};e.onpointerleave=ev=>{if(ev.pointerType!=="mouse"){return}if(!e.TOOLTIP_FORCE_VISIBLE&&window.CURRENT_TOOLTIP_ELEMENT&&!window.CURRENT_TOOLTIP_ELEMENT.contains(ev.relatedTarget)){setTooltipHoverTimeout(e,false);addClass(window.CURRENT_TOOLTIP_ELEMENT,"fade-out")}}});const sidebar_menu_toggle=document.getElementsByClassName("sidebar-menu-toggle")[0];if(sidebar_menu_toggle){sidebar_menu_toggle.addEventListener("click",()=>{const sidebar=document.getElementsByClassName("sidebar")[0];if(!hasClass(sidebar,"shown")){showSidebar()}else{hideSidebar()}})}function helpBlurHandler(event){blurHandler(event,getHelpButton(),window.hidePopoverMenus)}function buildHelpMenu(){const book_info=document.createElement("span");const channel=getVar("channel");book_info.className="top";book_info.innerHTML=`You can find more information in \ +the rustdoc book.`;const shortcuts=[["?","Show this help dialog"],["S / /","Focus the search field"],["↑","Move up in search results"],["↓","Move down in search results"],["← / →","Switch result tab (when results focused)"],["⏎","Go to active search result"],["+","Expand all sections"],["-","Collapse all sections"],].map(x=>"
"+x[0].split(" ").map((y,index)=>((index&1)===0?""+y+"":" "+y+" ")).join("")+"
"+x[1]+"
").join("");const div_shortcuts=document.createElement("div");addClass(div_shortcuts,"shortcuts");div_shortcuts.innerHTML="

Keyboard Shortcuts

"+shortcuts+"
";const infos=[`For a full list of all search features, take a look here.`,"Prefix searches with a type followed by a colon (e.g., fn:) to \ + restrict the search to a given item kind.","Accepted kinds are: fn, mod, struct, \ + enum, trait, type, macro, \ + and const.","Search functions by type signature (e.g., vec -> usize or \ + -> vec or String, enum:Cow -> bool)","You can look for items with an exact name by putting double quotes around \ + your request: \"string\"","Look for functions that accept or return \ + slices and \ + arrays by writing \ + square brackets (e.g., -> [u8] or [] -> Option)","Look for items inside another one by searching for a path: vec::Vec",].map(x=>"

"+x+"

").join("");const div_infos=document.createElement("div");addClass(div_infos,"infos");div_infos.innerHTML="

Search Tricks

"+infos;const rustdoc_version=document.createElement("span");rustdoc_version.className="bottom";const rustdoc_version_code=document.createElement("code");rustdoc_version_code.innerText="rustdoc "+getVar("rustdoc-version");rustdoc_version.appendChild(rustdoc_version_code);const container=document.createElement("div");if(!isHelpPage){container.className="popover"}container.id="help";container.style.display="none";const side_by_side=document.createElement("div");side_by_side.className="side-by-side";side_by_side.appendChild(div_shortcuts);side_by_side.appendChild(div_infos);container.appendChild(book_info);container.appendChild(side_by_side);container.appendChild(rustdoc_version);if(isHelpPage){const help_section=document.createElement("section");help_section.appendChild(container);document.getElementById("main-content").appendChild(help_section);container.style.display="block"}else{const help_button=getHelpButton();help_button.appendChild(container);container.onblur=helpBlurHandler;help_button.onblur=helpBlurHandler;help_button.children[0].onblur=helpBlurHandler}return container}window.hideAllModals=switchFocus=>{hideSidebar();window.hidePopoverMenus();hideTooltip(switchFocus)};window.hidePopoverMenus=()=>{onEachLazy(document.querySelectorAll(".search-form .popover"),elem=>{elem.style.display="none"})};function getHelpMenu(buildNeeded){let menu=getHelpButton().querySelector(".popover");if(!menu&&buildNeeded){menu=buildHelpMenu()}return menu}function showHelp(){getHelpButton().querySelector("a").focus();const menu=getHelpMenu(true);if(menu.style.display==="none"){window.hideAllModals();menu.style.display=""}}if(isHelpPage){showHelp();document.querySelector(`#${HELP_BUTTON_ID} > a`).addEventListener("click",event=>{const target=event.target;if(target.tagName!=="A"||target.parentElement.id!==HELP_BUTTON_ID||event.ctrlKey||event.altKey||event.metaKey){return}event.preventDefault()})}else{document.querySelector(`#${HELP_BUTTON_ID} > a`).addEventListener("click",event=>{const target=event.target;if(target.tagName!=="A"||target.parentElement.id!==HELP_BUTTON_ID||event.ctrlKey||event.altKey||event.metaKey){return}event.preventDefault();const menu=getHelpMenu(true);const shouldShowHelp=menu.style.display==="none";if(shouldShowHelp){showHelp()}else{window.hidePopoverMenus()}})}setMobileTopbar();addSidebarItems();addSidebarCrates();onHashChange(null);window.addEventListener("hashchange",onHashChange);searchState.setup()}());(function(){const SIDEBAR_MIN=100;const SIDEBAR_MAX=500;const RUSTDOC_MOBILE_BREAKPOINT=700;const BODY_MIN=400;const SIDEBAR_VANISH_THRESHOLD=SIDEBAR_MIN/2;const sidebarButton=document.getElementById("sidebar-button");if(sidebarButton){sidebarButton.addEventListener("click",e=>{removeClass(document.documentElement,"hide-sidebar");updateLocalStorage("hide-sidebar","false");if(document.querySelector(".rustdoc.src")){window.rustdocToggleSrcSidebar()}e.preventDefault()})}let currentPointerId=null;let desiredSidebarSize=null;let pendingSidebarResizingFrame=false;const resizer=document.querySelector(".sidebar-resizer");const sidebar=document.querySelector(".sidebar");if(!resizer||!sidebar){return}const isSrcPage=hasClass(document.body,"src");function hideSidebar(){if(isSrcPage){window.rustdocCloseSourceSidebar();updateLocalStorage("src-sidebar-width",null);document.documentElement.style.removeProperty("--src-sidebar-width");sidebar.style.removeProperty("--src-sidebar-width");resizer.style.removeProperty("--src-sidebar-width")}else{addClass(document.documentElement,"hide-sidebar");updateLocalStorage("hide-sidebar","true");updateLocalStorage("desktop-sidebar-width",null);document.documentElement.style.removeProperty("--desktop-sidebar-width");sidebar.style.removeProperty("--desktop-sidebar-width");resizer.style.removeProperty("--desktop-sidebar-width")}}function showSidebar(){if(isSrcPage){window.rustdocShowSourceSidebar()}else{removeClass(document.documentElement,"hide-sidebar");updateLocalStorage("hide-sidebar","false")}}function changeSidebarSize(size){if(isSrcPage){updateLocalStorage("src-sidebar-width",size);sidebar.style.setProperty("--src-sidebar-width",size+"px");resizer.style.setProperty("--src-sidebar-width",size+"px")}else{updateLocalStorage("desktop-sidebar-width",size);sidebar.style.setProperty("--desktop-sidebar-width",size+"px");resizer.style.setProperty("--desktop-sidebar-width",size+"px")}}function isSidebarHidden(){return isSrcPage?!hasClass(document.documentElement,"src-sidebar-expanded"):hasClass(document.documentElement,"hide-sidebar")}function resize(e){if(currentPointerId===null||currentPointerId!==e.pointerId){return}e.preventDefault();const pos=e.clientX-3;if(pos=SIDEBAR_MIN){if(isSidebarHidden()){showSidebar()}const constrainedPos=Math.min(pos,window.innerWidth-BODY_MIN,SIDEBAR_MAX);changeSidebarSize(constrainedPos);desiredSidebarSize=constrainedPos;if(pendingSidebarResizingFrame!==false){clearTimeout(pendingSidebarResizingFrame)}pendingSidebarResizingFrame=setTimeout(()=>{if(currentPointerId===null||pendingSidebarResizingFrame===false){return}pendingSidebarResizingFrame=false;document.documentElement.style.setProperty("--resizing-sidebar-width",desiredSidebarSize+"px",)},100)}}window.addEventListener("resize",()=>{if(window.innerWidth=(window.innerWidth-BODY_MIN)){changeSidebarSize(window.innerWidth-BODY_MIN)}else if(desiredSidebarSize!==null&&desiredSidebarSize>SIDEBAR_MIN){changeSidebarSize(desiredSidebarSize)}});function stopResize(e){if(currentPointerId===null){return}if(e){e.preventDefault()}desiredSidebarSize=sidebar.getBoundingClientRect().width;removeClass(resizer,"active");window.removeEventListener("pointermove",resize,false);window.removeEventListener("pointerup",stopResize,false);removeClass(document.documentElement,"sidebar-resizing");document.documentElement.style.removeProperty("--resizing-sidebar-width");if(resizer.releasePointerCapture){resizer.releasePointerCapture(currentPointerId);currentPointerId=null}}function initResize(e){if(currentPointerId!==null||e.altKey||e.ctrlKey||e.metaKey||e.button!==0){return}if(resizer.setPointerCapture){resizer.setPointerCapture(e.pointerId);if(!resizer.hasPointerCapture(e.pointerId)){resizer.releasePointerCapture(e.pointerId);return}currentPointerId=e.pointerId}window.hideAllModals(false);e.preventDefault();window.addEventListener("pointermove",resize,false);window.addEventListener("pointercancel",stopResize,false);window.addEventListener("pointerup",stopResize,false);addClass(resizer,"active");addClass(document.documentElement,"sidebar-resizing");const pos=e.clientX-sidebar.offsetLeft-3;document.documentElement.style.setProperty("--resizing-sidebar-width",pos+"px");desiredSidebarSize=null}resizer.addEventListener("pointerdown",initResize,false)}());(function(){let reset_button_timeout=null;const but=document.getElementById("copy-path");if(!but){return}but.onclick=()=>{const parent=but.parentElement;const path=[];onEach(parent.childNodes,child=>{if(child.tagName==="A"){path.push(child.textContent)}});const el=document.createElement("textarea");el.value=path.join("::");el.setAttribute("readonly","");el.style.position="absolute";el.style.left="-9999px";document.body.appendChild(el);el.select();document.execCommand("copy");document.body.removeChild(el);but.classList.add("clicked");if(reset_button_timeout!==null){window.clearTimeout(reset_button_timeout)}function reset_button(){reset_button_timeout=null;but.classList.remove("clicked")}reset_button_timeout=window.setTimeout(reset_button,1000)}}()) \ No newline at end of file diff --git a/static.files/main-c97aec732c613ca4.js b/static.files/main-c97aec732c613ca4.js deleted file mode 100644 index 3774d6ff5..000000000 --- a/static.files/main-c97aec732c613ca4.js +++ /dev/null @@ -1,11 +0,0 @@ -"use strict";window.RUSTDOC_TOOLTIP_HOVER_MS=300;window.RUSTDOC_TOOLTIP_HOVER_EXIT_MS=450;function resourcePath(basename,extension){return getVar("root-path")+basename+getVar("resource-suffix")+extension}function hideMain(){addClass(document.getElementById(MAIN_ID),"hidden")}function showMain(){removeClass(document.getElementById(MAIN_ID),"hidden")}function blurHandler(event,parentElem,hideCallback){if(!parentElem.contains(document.activeElement)&&!parentElem.contains(event.relatedTarget)){hideCallback()}}window.rootPath=getVar("root-path");window.currentCrate=getVar("current-crate");function setMobileTopbar(){const mobileTopbar=document.querySelector(".mobile-topbar");const locationTitle=document.querySelector(".sidebar h2.location");if(mobileTopbar){const mobileTitle=document.createElement("h2");mobileTitle.className="location";if(hasClass(document.querySelector(".rustdoc"),"crate")){mobileTitle.innerHTML=`Crate ${window.currentCrate}`}else if(locationTitle){mobileTitle.innerHTML=locationTitle.innerHTML}mobileTopbar.appendChild(mobileTitle)}}function getVirtualKey(ev){if("key"in ev&&typeof ev.key!=="undefined"){return ev.key}const c=ev.charCode||ev.keyCode;if(c===27){return"Escape"}return String.fromCharCode(c)}const MAIN_ID="main-content";const SETTINGS_BUTTON_ID="settings-menu";const ALTERNATIVE_DISPLAY_ID="alternative-display";const NOT_DISPLAYED_ID="not-displayed";const HELP_BUTTON_ID="help-button";function getSettingsButton(){return document.getElementById(SETTINGS_BUTTON_ID)}function getHelpButton(){return document.getElementById(HELP_BUTTON_ID)}function getNakedUrl(){return window.location.href.split("?")[0].split("#")[0]}function insertAfter(newNode,referenceNode){referenceNode.parentNode.insertBefore(newNode,referenceNode.nextSibling)}function getOrCreateSection(id,classes){let el=document.getElementById(id);if(!el){el=document.createElement("section");el.id=id;el.className=classes;insertAfter(el,document.getElementById(MAIN_ID))}return el}function getAlternativeDisplayElem(){return getOrCreateSection(ALTERNATIVE_DISPLAY_ID,"content hidden")}function getNotDisplayedElem(){return getOrCreateSection(NOT_DISPLAYED_ID,"hidden")}function switchDisplayedElement(elemToDisplay){const el=getAlternativeDisplayElem();if(el.children.length>0){getNotDisplayedElem().appendChild(el.firstElementChild)}if(elemToDisplay===null){addClass(el,"hidden");showMain();return}el.appendChild(elemToDisplay);hideMain();removeClass(el,"hidden")}function browserSupportsHistoryApi(){return window.history&&typeof window.history.pushState==="function"}function preLoadCss(cssUrl){const link=document.createElement("link");link.href=cssUrl;link.rel="preload";link.as="style";document.getElementsByTagName("head")[0].appendChild(link)}(function(){const isHelpPage=window.location.pathname.endsWith("/help.html");function loadScript(url,errorCallback){const script=document.createElement("script");script.src=url;if(errorCallback!==undefined){script.onerror=errorCallback}document.head.append(script)}getSettingsButton().onclick=event=>{if(event.ctrlKey||event.altKey||event.metaKey){return}window.hideAllModals(false);addClass(getSettingsButton(),"rotate");event.preventDefault();loadScript(getVar("static-root-path")+getVar("settings-js"));setTimeout(()=>{const themes=getVar("themes").split(",");for(const theme of themes){if(theme!==""){preLoadCss(getVar("root-path")+theme+".css")}}},0)};window.searchState={loadingText:"Loading search results...",input:document.getElementsByClassName("search-input")[0],outputElement:()=>{let el=document.getElementById("search");if(!el){el=document.createElement("section");el.id="search";getNotDisplayedElem().appendChild(el)}return el},title:document.title,titleBeforeSearch:document.title,timeout:null,currentTab:0,focusedByTab:[null,null,null],clearInputTimeout:()=>{if(searchState.timeout!==null){clearTimeout(searchState.timeout);searchState.timeout=null}},isDisplayed:()=>searchState.outputElement().parentElement.id===ALTERNATIVE_DISPLAY_ID,focus:()=>{searchState.input.focus()},defocus:()=>{searchState.input.blur()},showResults:search=>{if(search===null||typeof search==="undefined"){search=searchState.outputElement()}switchDisplayedElement(search);searchState.mouseMovedAfterSearch=false;document.title=searchState.title},removeQueryParameters:()=>{document.title=searchState.titleBeforeSearch;if(browserSupportsHistoryApi()){history.replaceState(null,"",getNakedUrl()+window.location.hash)}},hideResults:()=>{switchDisplayedElement(null);searchState.removeQueryParameters()},getQueryStringParams:()=>{const params={};window.location.search.substring(1).split("&").map(s=>{const pair=s.split("=").map(x=>x.replace(/\+/g," "));params[decodeURIComponent(pair[0])]=typeof pair[1]==="undefined"?null:decodeURIComponent(pair[1])});return params},setup:()=>{const search_input=searchState.input;if(!searchState.input){return}let searchLoaded=false;function sendSearchForm(){document.getElementsByClassName("search-form")[0].submit()}function loadSearch(){if(!searchLoaded){searchLoaded=true;loadScript(getVar("static-root-path")+getVar("search-js"),sendSearchForm);loadScript(resourcePath("search-index",".js"),sendSearchForm)}}search_input.addEventListener("focus",()=>{search_input.origPlaceholder=search_input.placeholder;search_input.placeholder="Type your search here.";loadSearch()});if(search_input.value!==""){loadSearch()}const params=searchState.getQueryStringParams();if(params.search!==undefined){searchState.setLoadingSearch();loadSearch()}},setLoadingSearch:()=>{const search=searchState.outputElement();search.innerHTML="

"+searchState.loadingText+"

";searchState.showResults(search)},descShards:new Map(),loadDesc:async function({descShard,descIndex}){if(descShard.promise===null){descShard.promise=new Promise((resolve,reject)=>{descShard.resolve=resolve;const ds=descShard;const fname=`${ds.crate}-desc-${ds.shard}-`;const url=resourcePath(`search.desc/${descShard.crate}/${fname}`,".js",);loadScript(url,reject)})}const list=await descShard.promise;return list[descIndex]},loadedDescShard:function(crate,shard,data){this.descShards.get(crate)[shard].resolve(data.split("\n"))},};const toggleAllDocsId="toggle-all-docs";let savedHash="";function handleHashes(ev){if(ev!==null&&searchState.isDisplayed()&&ev.newURL){switchDisplayedElement(null);const hash=ev.newURL.slice(ev.newURL.indexOf("#")+1);if(browserSupportsHistoryApi()){history.replaceState(null,"",getNakedUrl()+window.location.search+"#"+hash)}const elem=document.getElementById(hash);if(elem){elem.scrollIntoView()}}const pageId=window.location.hash.replace(/^#/,"");if(savedHash!==pageId){savedHash=pageId;if(pageId!==""){expandSection(pageId)}}if(savedHash.startsWith("impl-")){const splitAt=savedHash.indexOf("/");if(splitAt!==-1){const implId=savedHash.slice(0,splitAt);const assocId=savedHash.slice(splitAt+1);const implElem=document.getElementById(implId);if(implElem&&implElem.parentElement.tagName==="SUMMARY"&&implElem.parentElement.parentElement.tagName==="DETAILS"){onEachLazy(implElem.parentElement.parentElement.querySelectorAll(`[id^="${assocId}"]`),item=>{const numbered=/([^-]+)-([0-9]+)/.exec(item.id);if(item.id===assocId||(numbered&&numbered[1]===assocId)){openParentDetails(item);item.scrollIntoView();setTimeout(()=>{window.location.replace("#"+item.id)},0)}},)}}}}function onHashChange(ev){hideSidebar();handleHashes(ev)}function openParentDetails(elem){while(elem){if(elem.tagName==="DETAILS"){elem.open=true}elem=elem.parentNode}}function expandSection(id){openParentDetails(document.getElementById(id))}function handleEscape(ev){searchState.clearInputTimeout();searchState.hideResults();ev.preventDefault();searchState.defocus();window.hideAllModals(true)}function handleShortcut(ev){const disableShortcuts=getSettingValue("disable-shortcuts")==="true";if(ev.ctrlKey||ev.altKey||ev.metaKey||disableShortcuts){return}if(document.activeElement.tagName==="INPUT"&&document.activeElement.type!=="checkbox"&&document.activeElement.type!=="radio"){switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break}}else{switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break;case"s":case"S":ev.preventDefault();searchState.focus();break;case"+":ev.preventDefault();expandAllDocs();break;case"-":ev.preventDefault();collapseAllDocs();break;case"?":showHelp();break;default:break}}}document.addEventListener("keypress",handleShortcut);document.addEventListener("keydown",handleShortcut);function addSidebarItems(){if(!window.SIDEBAR_ITEMS){return}const sidebar=document.getElementsByClassName("sidebar-elems")[0];function block(shortty,id,longty){const filtered=window.SIDEBAR_ITEMS[shortty];if(!filtered){return}const modpath=hasClass(document.querySelector(".rustdoc"),"mod")?"../":"";const h3=document.createElement("h3");h3.innerHTML=`${longty}`;const ul=document.createElement("ul");ul.className="block "+shortty;for(const name of filtered){let path;if(shortty==="mod"){path=`${modpath}${name}/index.html`}else{path=`${modpath}${shortty}.${name}.html`}let current_page=document.location.href.toString();if(current_page.endsWith("/")){current_page+="index.html"}const link=document.createElement("a");link.href=path;if(path===current_page){link.className="current"}link.textContent=name;const li=document.createElement("li");li.appendChild(link);ul.appendChild(li)}sidebar.appendChild(h3);sidebar.appendChild(ul)}if(sidebar){block("primitive","primitives","Primitive Types");block("mod","modules","Modules");block("macro","macros","Macros");block("struct","structs","Structs");block("enum","enums","Enums");block("constant","constants","Constants");block("static","static","Statics");block("trait","traits","Traits");block("fn","functions","Functions");block("type","types","Type Aliases");block("union","unions","Unions");block("foreigntype","foreign-types","Foreign Types");block("keyword","keywords","Keywords");block("opaque","opaque-types","Opaque Types");block("attr","attributes","Attribute Macros");block("derive","derives","Derive Macros");block("traitalias","trait-aliases","Trait Aliases")}}window.register_implementors=imp=>{const implementors=document.getElementById("implementors-list");const synthetic_implementors=document.getElementById("synthetic-implementors-list");const inlined_types=new Set();const TEXT_IDX=0;const SYNTHETIC_IDX=1;const TYPES_IDX=2;if(synthetic_implementors){onEachLazy(synthetic_implementors.getElementsByClassName("impl"),el=>{const aliases=el.getAttribute("data-aliases");if(!aliases){return}aliases.split(",").forEach(alias=>{inlined_types.add(alias)})})}let currentNbImpls=implementors.getElementsByClassName("impl").length;const traitName=document.querySelector(".main-heading h1 > .trait").textContent;const baseIdName="impl-"+traitName+"-";const libs=Object.getOwnPropertyNames(imp);const script=document.querySelector("script[data-ignore-extern-crates]");const ignoreExternCrates=new Set((script?script.getAttribute("data-ignore-extern-crates"):"").split(","),);for(const lib of libs){if(lib===window.currentCrate||ignoreExternCrates.has(lib)){continue}const structs=imp[lib];struct_loop:for(const struct of structs){const list=struct[SYNTHETIC_IDX]?synthetic_implementors:implementors;if(struct[SYNTHETIC_IDX]){for(const struct_type of struct[TYPES_IDX]){if(inlined_types.has(struct_type)){continue struct_loop}inlined_types.add(struct_type)}}const code=document.createElement("h3");code.innerHTML=struct[TEXT_IDX];addClass(code,"code-header");onEachLazy(code.getElementsByTagName("a"),elem=>{const href=elem.getAttribute("href");if(href&&!href.startsWith("#")&&!/^(?:[a-z+]+:)?\/\//.test(href)){elem.setAttribute("href",window.rootPath+href)}});const currentId=baseIdName+currentNbImpls;const anchor=document.createElement("a");anchor.href="#"+currentId;addClass(anchor,"anchor");const display=document.createElement("div");display.id=currentId;addClass(display,"impl");display.appendChild(anchor);display.appendChild(code);list.appendChild(display);currentNbImpls+=1}}};if(window.pending_implementors){window.register_implementors(window.pending_implementors)}window.register_type_impls=imp=>{if(!imp||!imp[window.currentCrate]){return}window.pending_type_impls=null;const idMap=new Map();let implementations=document.getElementById("implementations-list");let trait_implementations=document.getElementById("trait-implementations-list");let trait_implementations_header=document.getElementById("trait-implementations");const script=document.querySelector("script[data-self-path]");const selfPath=script?script.getAttribute("data-self-path"):null;const mainContent=document.querySelector("#main-content");const sidebarSection=document.querySelector(".sidebar section");let methods=document.querySelector(".sidebar .block.method");let associatedTypes=document.querySelector(".sidebar .block.associatedtype");let associatedConstants=document.querySelector(".sidebar .block.associatedconstant");let sidebarTraitList=document.querySelector(".sidebar .block.trait-implementation");for(const impList of imp[window.currentCrate]){const types=impList.slice(2);const text=impList[0];const isTrait=impList[1]!==0;const traitName=impList[1];if(types.indexOf(selfPath)===-1){continue}let outputList=isTrait?trait_implementations:implementations;if(outputList===null){const outputListName=isTrait?"Trait Implementations":"Implementations";const outputListId=isTrait?"trait-implementations-list":"implementations-list";const outputListHeaderId=isTrait?"trait-implementations":"implementations";const outputListHeader=document.createElement("h2");outputListHeader.id=outputListHeaderId;outputListHeader.innerText=outputListName;outputList=document.createElement("div");outputList.id=outputListId;if(isTrait){const link=document.createElement("a");link.href=`#${outputListHeaderId}`;link.innerText="Trait Implementations";const h=document.createElement("h3");h.appendChild(link);trait_implementations=outputList;trait_implementations_header=outputListHeader;sidebarSection.appendChild(h);sidebarTraitList=document.createElement("ul");sidebarTraitList.className="block trait-implementation";sidebarSection.appendChild(sidebarTraitList);mainContent.appendChild(outputListHeader);mainContent.appendChild(outputList)}else{implementations=outputList;if(trait_implementations){mainContent.insertBefore(outputListHeader,trait_implementations_header);mainContent.insertBefore(outputList,trait_implementations_header)}else{const mainContent=document.querySelector("#main-content");mainContent.appendChild(outputListHeader);mainContent.appendChild(outputList)}}}const template=document.createElement("template");template.innerHTML=text;onEachLazy(template.content.querySelectorAll("a"),elem=>{const href=elem.getAttribute("href");if(href&&!href.startsWith("#")&&!/^(?:[a-z+]+:)?\/\//.test(href)){elem.setAttribute("href",window.rootPath+href)}});onEachLazy(template.content.querySelectorAll("[id]"),el=>{let i=0;if(idMap.has(el.id)){i=idMap.get(el.id)}else if(document.getElementById(el.id)){i=1;while(document.getElementById(`${el.id}-${2 * i}`)){i=2*i}while(document.getElementById(`${el.id}-${i}`)){i+=1}}if(i!==0){const oldHref=`#${el.id}`;const newHref=`#${el.id}-${i}`;el.id=`${el.id}-${i}`;onEachLazy(template.content.querySelectorAll("a[href]"),link=>{if(link.getAttribute("href")===oldHref){link.href=newHref}})}idMap.set(el.id,i+1)});const templateAssocItems=template.content.querySelectorAll("section.tymethod, "+"section.method, section.associatedtype, section.associatedconstant");if(isTrait){const li=document.createElement("li");const a=document.createElement("a");a.href=`#${template.content.querySelector(".impl").id}`;a.textContent=traitName;li.appendChild(a);sidebarTraitList.append(li)}else{onEachLazy(templateAssocItems,item=>{let block=hasClass(item,"associatedtype")?associatedTypes:(hasClass(item,"associatedconstant")?associatedConstants:(methods));if(!block){const blockTitle=hasClass(item,"associatedtype")?"Associated Types":(hasClass(item,"associatedconstant")?"Associated Constants":("Methods"));const blockClass=hasClass(item,"associatedtype")?"associatedtype":(hasClass(item,"associatedconstant")?"associatedconstant":("method"));const blockHeader=document.createElement("h3");const blockLink=document.createElement("a");blockLink.href="#implementations";blockLink.innerText=blockTitle;blockHeader.appendChild(blockLink);block=document.createElement("ul");block.className=`block ${blockClass}`;const insertionReference=methods||sidebarTraitList;if(insertionReference){const insertionReferenceH=insertionReference.previousElementSibling;sidebarSection.insertBefore(blockHeader,insertionReferenceH);sidebarSection.insertBefore(block,insertionReferenceH)}else{sidebarSection.appendChild(blockHeader);sidebarSection.appendChild(block)}if(hasClass(item,"associatedtype")){associatedTypes=block}else if(hasClass(item,"associatedconstant")){associatedConstants=block}else{methods=block}}const li=document.createElement("li");const a=document.createElement("a");a.innerText=item.id.split("-")[0].split(".")[1];a.href=`#${item.id}`;li.appendChild(a);block.appendChild(li)})}outputList.appendChild(template.content)}for(const list of[methods,associatedTypes,associatedConstants,sidebarTraitList]){if(!list){continue}const newChildren=Array.prototype.slice.call(list.children);newChildren.sort((a,b)=>{const aI=a.innerText;const bI=b.innerText;return aIbI?1:0});list.replaceChildren(...newChildren)}};if(window.pending_type_impls){window.register_type_impls(window.pending_type_impls)}function addSidebarCrates(){if(!window.ALL_CRATES){return}const sidebarElems=document.getElementsByClassName("sidebar-elems")[0];if(!sidebarElems){return}const h3=document.createElement("h3");h3.innerHTML="Crates";const ul=document.createElement("ul");ul.className="block crate";for(const crate of window.ALL_CRATES){const link=document.createElement("a");link.href=window.rootPath+crate+"/index.html";link.textContent=crate;const li=document.createElement("li");if(window.rootPath!=="./"&&crate===window.currentCrate){li.className="current"}li.appendChild(link);ul.appendChild(li)}sidebarElems.appendChild(h3);sidebarElems.appendChild(ul)}function expandAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);removeClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("toggle"),e=>{if(!hasClass(e,"type-contents-toggle")&&!hasClass(e,"more-examples-toggle")){e.open=true}});innerToggle.title="collapse all docs";innerToggle.children[0].innerText="\u2212"}function collapseAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);addClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("toggle"),e=>{if(e.parentNode.id!=="implementations-list"||(!hasClass(e,"implementors-toggle")&&!hasClass(e,"type-contents-toggle"))){e.open=false}});innerToggle.title="expand all docs";innerToggle.children[0].innerText="+"}function toggleAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);if(!innerToggle){return}if(hasClass(innerToggle,"will-expand")){expandAllDocs()}else{collapseAllDocs()}}(function(){const toggles=document.getElementById(toggleAllDocsId);if(toggles){toggles.onclick=toggleAllDocs}const hideMethodDocs=getSettingValue("auto-hide-method-docs")==="true";const hideImplementations=getSettingValue("auto-hide-trait-implementations")==="true";const hideLargeItemContents=getSettingValue("auto-hide-large-items")!=="false";function setImplementorsTogglesOpen(id,open){const list=document.getElementById(id);if(list!==null){onEachLazy(list.getElementsByClassName("implementors-toggle"),e=>{e.open=open})}}if(hideImplementations){setImplementorsTogglesOpen("trait-implementations-list",false);setImplementorsTogglesOpen("blanket-implementations-list",false)}onEachLazy(document.getElementsByClassName("toggle"),e=>{if(!hideLargeItemContents&&hasClass(e,"type-contents-toggle")){e.open=true}if(hideMethodDocs&&hasClass(e,"method-toggle")){e.open=false}})}());window.rustdoc_add_line_numbers_to_examples=()=>{onEachLazy(document.getElementsByClassName("rust-example-rendered"),x=>{const parent=x.parentNode;const line_numbers=parent.querySelectorAll(".example-line-numbers");if(line_numbers.length>0){return}const count=x.textContent.split("\n").length;const elems=[];for(let i=0;i{onEachLazy(document.getElementsByClassName("rust-example-rendered"),x=>{const parent=x.parentNode;const line_numbers=parent.querySelectorAll(".example-line-numbers");for(const node of line_numbers){parent.removeChild(node)}})};if(getSettingValue("line-numbers")==="true"){window.rustdoc_add_line_numbers_to_examples()}function showSidebar(){window.hideAllModals(false);const sidebar=document.getElementsByClassName("sidebar")[0];addClass(sidebar,"shown")}function hideSidebar(){const sidebar=document.getElementsByClassName("sidebar")[0];removeClass(sidebar,"shown")}window.addEventListener("resize",()=>{if(window.CURRENT_TOOLTIP_ELEMENT){const base=window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE;const force_visible=base.TOOLTIP_FORCE_VISIBLE;hideTooltip(false);if(force_visible){showTooltip(base);base.TOOLTIP_FORCE_VISIBLE=true}}});const mainElem=document.getElementById(MAIN_ID);if(mainElem){mainElem.addEventListener("click",hideSidebar)}onEachLazy(document.querySelectorAll("a[href^='#']"),el=>{el.addEventListener("click",()=>{expandSection(el.hash.slice(1));hideSidebar()})});onEachLazy(document.querySelectorAll(".toggle > summary:not(.hideme)"),el=>{el.addEventListener("click",e=>{if(e.target.tagName!=="SUMMARY"&&e.target.tagName!=="A"){e.preventDefault()}})});function showTooltip(e){const notable_ty=e.getAttribute("data-notable-ty");if(!window.NOTABLE_TRAITS&¬able_ty){const data=document.getElementById("notable-traits-data");if(data){window.NOTABLE_TRAITS=JSON.parse(data.innerText)}else{throw new Error("showTooltip() called with notable without any notable traits!")}}if(window.CURRENT_TOOLTIP_ELEMENT&&window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE===e){clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);return}window.hideAllModals(false);const wrapper=document.createElement("div");if(notable_ty){wrapper.innerHTML="
"+window.NOTABLE_TRAITS[notable_ty]+"
"}else{if(e.getAttribute("title")!==null){e.setAttribute("data-title",e.getAttribute("title"));e.removeAttribute("title")}if(e.getAttribute("data-title")!==null){const titleContent=document.createElement("div");titleContent.className="content";titleContent.appendChild(document.createTextNode(e.getAttribute("data-title")));wrapper.appendChild(titleContent)}}wrapper.className="tooltip popover";const focusCatcher=document.createElement("div");focusCatcher.setAttribute("tabindex","0");focusCatcher.onfocus=hideTooltip;wrapper.appendChild(focusCatcher);const pos=e.getBoundingClientRect();wrapper.style.top=(pos.top+window.scrollY+pos.height)+"px";wrapper.style.left=0;wrapper.style.right="auto";wrapper.style.visibility="hidden";const body=document.getElementsByTagName("body")[0];body.appendChild(wrapper);const wrapperPos=wrapper.getBoundingClientRect();const finalPos=pos.left+window.scrollX-wrapperPos.width+24;if(finalPos>0){wrapper.style.left=finalPos+"px"}else{wrapper.style.setProperty("--popover-arrow-offset",(wrapperPos.right-pos.right+4)+"px",)}wrapper.style.visibility="";window.CURRENT_TOOLTIP_ELEMENT=wrapper;window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE=e;clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);wrapper.onpointerenter=ev=>{if(ev.pointerType!=="mouse"){return}clearTooltipHoverTimeout(e)};wrapper.onpointerleave=ev=>{if(ev.pointerType!=="mouse"){return}if(!e.TOOLTIP_FORCE_VISIBLE&&!e.contains(ev.relatedTarget)){setTooltipHoverTimeout(e,false);addClass(wrapper,"fade-out")}}}function setTooltipHoverTimeout(element,show){clearTooltipHoverTimeout(element);if(!show&&!window.CURRENT_TOOLTIP_ELEMENT){return}if(show&&window.CURRENT_TOOLTIP_ELEMENT){return}if(window.CURRENT_TOOLTIP_ELEMENT&&window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE!==element){return}element.TOOLTIP_HOVER_TIMEOUT=setTimeout(()=>{if(show){showTooltip(element)}else if(!element.TOOLTIP_FORCE_VISIBLE){hideTooltip(false)}},show?window.RUSTDOC_TOOLTIP_HOVER_MS:window.RUSTDOC_TOOLTIP_HOVER_EXIT_MS)}function clearTooltipHoverTimeout(element){if(element.TOOLTIP_HOVER_TIMEOUT!==undefined){removeClass(window.CURRENT_TOOLTIP_ELEMENT,"fade-out");clearTimeout(element.TOOLTIP_HOVER_TIMEOUT);delete element.TOOLTIP_HOVER_TIMEOUT}}function tooltipBlurHandler(event){if(window.CURRENT_TOOLTIP_ELEMENT&&!window.CURRENT_TOOLTIP_ELEMENT.contains(document.activeElement)&&!window.CURRENT_TOOLTIP_ELEMENT.contains(event.relatedTarget)&&!window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.contains(document.activeElement)&&!window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.contains(event.relatedTarget)){setTimeout(()=>hideTooltip(false),0)}}function hideTooltip(focus){if(window.CURRENT_TOOLTIP_ELEMENT){if(window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.TOOLTIP_FORCE_VISIBLE){if(focus){window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.focus()}window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.TOOLTIP_FORCE_VISIBLE=false}const body=document.getElementsByTagName("body")[0];body.removeChild(window.CURRENT_TOOLTIP_ELEMENT);clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);window.CURRENT_TOOLTIP_ELEMENT=null}}onEachLazy(document.getElementsByClassName("tooltip"),e=>{e.onclick=()=>{e.TOOLTIP_FORCE_VISIBLE=e.TOOLTIP_FORCE_VISIBLE?false:true;if(window.CURRENT_TOOLTIP_ELEMENT&&!e.TOOLTIP_FORCE_VISIBLE){hideTooltip(true)}else{showTooltip(e);window.CURRENT_TOOLTIP_ELEMENT.setAttribute("tabindex","0");window.CURRENT_TOOLTIP_ELEMENT.focus();window.CURRENT_TOOLTIP_ELEMENT.onblur=tooltipBlurHandler}return false};e.onpointerenter=ev=>{if(ev.pointerType!=="mouse"){return}setTooltipHoverTimeout(e,true)};e.onpointermove=ev=>{if(ev.pointerType!=="mouse"){return}setTooltipHoverTimeout(e,true)};e.onpointerleave=ev=>{if(ev.pointerType!=="mouse"){return}if(!e.TOOLTIP_FORCE_VISIBLE&&window.CURRENT_TOOLTIP_ELEMENT&&!window.CURRENT_TOOLTIP_ELEMENT.contains(ev.relatedTarget)){setTooltipHoverTimeout(e,false);addClass(window.CURRENT_TOOLTIP_ELEMENT,"fade-out")}}});const sidebar_menu_toggle=document.getElementsByClassName("sidebar-menu-toggle")[0];if(sidebar_menu_toggle){sidebar_menu_toggle.addEventListener("click",()=>{const sidebar=document.getElementsByClassName("sidebar")[0];if(!hasClass(sidebar,"shown")){showSidebar()}else{hideSidebar()}})}function helpBlurHandler(event){blurHandler(event,getHelpButton(),window.hidePopoverMenus)}function buildHelpMenu(){const book_info=document.createElement("span");const channel=getVar("channel");book_info.className="top";book_info.innerHTML=`You can find more information in \ -the rustdoc book.`;const shortcuts=[["?","Show this help dialog"],["S","Focus the search field"],["↑","Move up in search results"],["↓","Move down in search results"],["← / →","Switch result tab (when results focused)"],["⏎","Go to active search result"],["+","Expand all sections"],["-","Collapse all sections"],].map(x=>"
"+x[0].split(" ").map((y,index)=>((index&1)===0?""+y+"":" "+y+" ")).join("")+"
"+x[1]+"
").join("");const div_shortcuts=document.createElement("div");addClass(div_shortcuts,"shortcuts");div_shortcuts.innerHTML="

Keyboard Shortcuts

"+shortcuts+"
";const infos=[`For a full list of all search features, take a look here.`,"Prefix searches with a type followed by a colon (e.g., fn:) to \ - restrict the search to a given item kind.","Accepted kinds are: fn, mod, struct, \ - enum, trait, type, macro, \ - and const.","Search functions by type signature (e.g., vec -> usize or \ - -> vec or String, enum:Cow -> bool)","You can look for items with an exact name by putting double quotes around \ - your request: \"string\"","Look for functions that accept or return \ - slices and \ - arrays by writing \ - square brackets (e.g., -> [u8] or [] -> Option)","Look for items inside another one by searching for a path: vec::Vec",].map(x=>"

"+x+"

").join("");const div_infos=document.createElement("div");addClass(div_infos,"infos");div_infos.innerHTML="

Search Tricks

"+infos;const rustdoc_version=document.createElement("span");rustdoc_version.className="bottom";const rustdoc_version_code=document.createElement("code");rustdoc_version_code.innerText="rustdoc "+getVar("rustdoc-version");rustdoc_version.appendChild(rustdoc_version_code);const container=document.createElement("div");if(!isHelpPage){container.className="popover"}container.id="help";container.style.display="none";const side_by_side=document.createElement("div");side_by_side.className="side-by-side";side_by_side.appendChild(div_shortcuts);side_by_side.appendChild(div_infos);container.appendChild(book_info);container.appendChild(side_by_side);container.appendChild(rustdoc_version);if(isHelpPage){const help_section=document.createElement("section");help_section.appendChild(container);document.getElementById("main-content").appendChild(help_section);container.style.display="block"}else{const help_button=getHelpButton();help_button.appendChild(container);container.onblur=helpBlurHandler;help_button.onblur=helpBlurHandler;help_button.children[0].onblur=helpBlurHandler}return container}window.hideAllModals=switchFocus=>{hideSidebar();window.hidePopoverMenus();hideTooltip(switchFocus)};window.hidePopoverMenus=()=>{onEachLazy(document.querySelectorAll(".search-form .popover"),elem=>{elem.style.display="none"})};function getHelpMenu(buildNeeded){let menu=getHelpButton().querySelector(".popover");if(!menu&&buildNeeded){menu=buildHelpMenu()}return menu}function showHelp(){getHelpButton().querySelector("a").focus();const menu=getHelpMenu(true);if(menu.style.display==="none"){window.hideAllModals();menu.style.display=""}}if(isHelpPage){showHelp();document.querySelector(`#${HELP_BUTTON_ID} > a`).addEventListener("click",event=>{const target=event.target;if(target.tagName!=="A"||target.parentElement.id!==HELP_BUTTON_ID||event.ctrlKey||event.altKey||event.metaKey){return}event.preventDefault()})}else{document.querySelector(`#${HELP_BUTTON_ID} > a`).addEventListener("click",event=>{const target=event.target;if(target.tagName!=="A"||target.parentElement.id!==HELP_BUTTON_ID||event.ctrlKey||event.altKey||event.metaKey){return}event.preventDefault();const menu=getHelpMenu(true);const shouldShowHelp=menu.style.display==="none";if(shouldShowHelp){showHelp()}else{window.hidePopoverMenus()}})}setMobileTopbar();addSidebarItems();addSidebarCrates();onHashChange(null);window.addEventListener("hashchange",onHashChange);searchState.setup()}());(function(){const SIDEBAR_MIN=100;const SIDEBAR_MAX=500;const RUSTDOC_MOBILE_BREAKPOINT=700;const BODY_MIN=400;const SIDEBAR_VANISH_THRESHOLD=SIDEBAR_MIN/2;const sidebarButton=document.getElementById("sidebar-button");if(sidebarButton){sidebarButton.addEventListener("click",e=>{removeClass(document.documentElement,"hide-sidebar");updateLocalStorage("hide-sidebar","false");if(document.querySelector(".rustdoc.src")){window.rustdocToggleSrcSidebar()}e.preventDefault()})}let currentPointerId=null;let desiredSidebarSize=null;let pendingSidebarResizingFrame=false;const resizer=document.querySelector(".sidebar-resizer");const sidebar=document.querySelector(".sidebar");if(!resizer||!sidebar){return}const isSrcPage=hasClass(document.body,"src");function hideSidebar(){if(isSrcPage){window.rustdocCloseSourceSidebar();updateLocalStorage("src-sidebar-width",null);document.documentElement.style.removeProperty("--src-sidebar-width");sidebar.style.removeProperty("--src-sidebar-width");resizer.style.removeProperty("--src-sidebar-width")}else{addClass(document.documentElement,"hide-sidebar");updateLocalStorage("hide-sidebar","true");updateLocalStorage("desktop-sidebar-width",null);document.documentElement.style.removeProperty("--desktop-sidebar-width");sidebar.style.removeProperty("--desktop-sidebar-width");resizer.style.removeProperty("--desktop-sidebar-width")}}function showSidebar(){if(isSrcPage){window.rustdocShowSourceSidebar()}else{removeClass(document.documentElement,"hide-sidebar");updateLocalStorage("hide-sidebar","false")}}function changeSidebarSize(size){if(isSrcPage){updateLocalStorage("src-sidebar-width",size);sidebar.style.setProperty("--src-sidebar-width",size+"px");resizer.style.setProperty("--src-sidebar-width",size+"px")}else{updateLocalStorage("desktop-sidebar-width",size);sidebar.style.setProperty("--desktop-sidebar-width",size+"px");resizer.style.setProperty("--desktop-sidebar-width",size+"px")}}function isSidebarHidden(){return isSrcPage?!hasClass(document.documentElement,"src-sidebar-expanded"):hasClass(document.documentElement,"hide-sidebar")}function resize(e){if(currentPointerId===null||currentPointerId!==e.pointerId){return}e.preventDefault();const pos=e.clientX-3;if(pos=SIDEBAR_MIN){if(isSidebarHidden()){showSidebar()}const constrainedPos=Math.min(pos,window.innerWidth-BODY_MIN,SIDEBAR_MAX);changeSidebarSize(constrainedPos);desiredSidebarSize=constrainedPos;if(pendingSidebarResizingFrame!==false){clearTimeout(pendingSidebarResizingFrame)}pendingSidebarResizingFrame=setTimeout(()=>{if(currentPointerId===null||pendingSidebarResizingFrame===false){return}pendingSidebarResizingFrame=false;document.documentElement.style.setProperty("--resizing-sidebar-width",desiredSidebarSize+"px",)},100)}}window.addEventListener("resize",()=>{if(window.innerWidth=(window.innerWidth-BODY_MIN)){changeSidebarSize(window.innerWidth-BODY_MIN)}else if(desiredSidebarSize!==null&&desiredSidebarSize>SIDEBAR_MIN){changeSidebarSize(desiredSidebarSize)}});function stopResize(e){if(currentPointerId===null){return}if(e){e.preventDefault()}desiredSidebarSize=sidebar.getBoundingClientRect().width;removeClass(resizer,"active");window.removeEventListener("pointermove",resize,false);window.removeEventListener("pointerup",stopResize,false);removeClass(document.documentElement,"sidebar-resizing");document.documentElement.style.removeProperty("--resizing-sidebar-width");if(resizer.releasePointerCapture){resizer.releasePointerCapture(currentPointerId);currentPointerId=null}}function initResize(e){if(currentPointerId!==null||e.altKey||e.ctrlKey||e.metaKey||e.button!==0){return}if(resizer.setPointerCapture){resizer.setPointerCapture(e.pointerId);if(!resizer.hasPointerCapture(e.pointerId)){resizer.releasePointerCapture(e.pointerId);return}currentPointerId=e.pointerId}window.hideAllModals(false);e.preventDefault();window.addEventListener("pointermove",resize,false);window.addEventListener("pointercancel",stopResize,false);window.addEventListener("pointerup",stopResize,false);addClass(resizer,"active");addClass(document.documentElement,"sidebar-resizing");const pos=e.clientX-sidebar.offsetLeft-3;document.documentElement.style.setProperty("--resizing-sidebar-width",pos+"px");desiredSidebarSize=null}resizer.addEventListener("pointerdown",initResize,false)}());(function(){let reset_button_timeout=null;const but=document.getElementById("copy-path");if(!but){return}but.onclick=()=>{const parent=but.parentElement;const path=[];onEach(parent.childNodes,child=>{if(child.tagName==="A"){path.push(child.textContent)}});const el=document.createElement("textarea");el.value=path.join("::");el.setAttribute("readonly","");el.style.position="absolute";el.style.left="-9999px";document.body.appendChild(el);el.select();document.execCommand("copy");document.body.removeChild(el);but.children[0].style.display="none";let tmp;if(but.childNodes.length<2){tmp=document.createTextNode("✓");but.appendChild(tmp)}else{onEachLazy(but.childNodes,e=>{if(e.nodeType===Node.TEXT_NODE){tmp=e;return true}});tmp.textContent="✓"}if(reset_button_timeout!==null){window.clearTimeout(reset_button_timeout)}function reset_button(){tmp.textContent="";reset_button_timeout=null;but.children[0].style.display=""}reset_button_timeout=window.setTimeout(reset_button,1000)}}()) \ No newline at end of file diff --git a/static.files/rustdoc-9e1300b5663a8a03.css b/static.files/rustdoc-b21aa549bf6d91ff.css similarity index 93% rename from static.files/rustdoc-9e1300b5663a8a03.css rename to static.files/rustdoc-b21aa549bf6d91ff.css index f85016d3d..b0c4e1b6b 100644 --- a/static.files/rustdoc-9e1300b5663a8a03.css +++ b/static.files/rustdoc-b21aa549bf6d91ff.css @@ -3,11 +3,33 @@ fill="none" stroke="black" strike-linecap="square" stroke-miterlimit="10" stroke-width="12"/> \ ');filter:var(--crate-search-div-filter);}#crate-search-div:hover::after,#crate-search-div:focus-within::after{filter:var(--crate-search-div-hover-filter);}#crate-search>option{font-size:1rem;}.search-input{-webkit-appearance:none;outline:none;border:1px solid var(--border-color);border-radius:2px;padding:8px;font-size:1rem;flex-grow:1;background-color:var(--button-background-color);color:var(--search-color);}.search-input:focus{border-color:var(--search-input-focused-border-color);}.search-results{display:none;}.search-results.active{display:block;}.search-results>a{display:flex;margin-left:2px;margin-right:2px;border-bottom:1px solid var(--search-result-border-color);gap:1em;}.search-results>a>div.desc{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;flex:2;}.search-results a:hover,.search-results a:focus{background-color:var(--search-result-link-focus-background-color);}.search-results .result-name{display:flex;align-items:center;justify-content:start;flex:3;}.search-results .result-name .alias{color:var(--search-results-alias-color);}.search-results .result-name .grey{color:var(--search-results-grey-color);}.search-results .result-name .typename{color:var(--search-results-grey-color);font-size:0.875rem;width:var(--search-typename-width);}.search-results .result-name .path{word-break:break-all;max-width:calc(100% - var(--search-typename-width));display:inline-block;}.search-results .result-name .path>*{display:inline;}.popover{position:absolute;top:100%;right:0;z-index:calc(var(--desktop-sidebar-z-index) + 1);margin-top:7px;border-radius:3px;border:1px solid var(--border-color);background-color:var(--main-background-color);color:var(--main-color);--popover-arrow-offset:11px;}.popover::before{content:'';position:absolute;right:var(--popover-arrow-offset);border:solid var(--border-color);border-width:1px 1px 0 0;background-color:var(--main-background-color);padding:4px;transform:rotate(-45deg);top:-5px;}.setting-line{margin:1.2em 0.6em;}.setting-radio input,.setting-check input{margin-right:0.3em;height:1.2rem;width:1.2rem;border:2px solid var(--settings-input-border-color);outline:none;-webkit-appearance:none;cursor:pointer;}.setting-radio input{border-radius:50%;}.setting-radio span,.setting-check span{padding-bottom:1px;}.setting-radio{margin-top:0.1em;margin-bottom:0.1em;min-width:3.8em;padding:0.3em;display:inline-flex;align-items:center;cursor:pointer;}.setting-radio+.setting-radio{margin-left:0.5em;}.setting-check{margin-right:20px;display:flex;align-items:center;cursor:pointer;}.setting-radio input:checked{box-shadow:inset 0 0 0 3px var(--main-background-color);background-color:var(--settings-input-color);}.setting-check input:checked{background-color:var(--settings-input-color);border-width:1px;content:url('data:image/svg+xml,\ \ - ');}.setting-radio input:focus,.setting-check input:focus{box-shadow:0 0 1px 1px var(--settings-input-color);}.setting-radio input:checked:focus{box-shadow:inset 0 0 0 3px var(--main-background-color),0 0 2px 2px var(--settings-input-color);}.setting-radio input:hover,.setting-check input:hover{border-color:var(--settings-input-color) !important;}#help.popover{max-width:600px;--popover-arrow-offset:48px;}#help dt{float:left;clear:left;margin-right:0.5rem;}#help span.top,#help span.bottom{text-align:center;display:block;font-size:1.125rem;}#help span.top{margin:10px 0;border-bottom:1px solid var(--border-color);padding-bottom:4px;margin-bottom:6px;}#help span.bottom{clear:both;border-top:1px solid var(--border-color);}.side-by-side>div{width:50%;float:left;padding:0 20px 20px 17px;}.item-info .stab{display:block;padding:3px;margin-bottom:5px;}.item-name .stab{margin-left:0.3125em;}.stab{padding:0 2px;font-size:0.875rem;font-weight:normal;color:var(--main-color);background-color:var(--stab-background-color);width:fit-content;white-space:pre-wrap;border-radius:3px;display:inline;vertical-align:baseline;}.stab.portability>code{background:none;color:var(--stab-code-color);}.stab .emoji,.item-info .stab::before{font-size:1.25rem;}.stab .emoji{margin-right:0.3rem;}.item-info .stab::before{content:"\0";width:0;display:inline-block;color:transparent;}.emoji{text-shadow:1px 0 0 black,-1px 0 0 black,0 1px 0 black,0 -1px 0 black;}.since{font-weight:normal;font-size:initial;}.rightside{padding-left:12px;float:right;}.rightside:not(a),.out-of-band{color:var(--right-side-color);}pre.rust{tab-size:4;-moz-tab-size:4;}pre.rust .kw{color:var(--code-highlight-kw-color);}pre.rust .kw-2{color:var(--code-highlight-kw-2-color);}pre.rust .lifetime{color:var(--code-highlight-lifetime-color);}pre.rust .prelude-ty{color:var(--code-highlight-prelude-color);}pre.rust .prelude-val{color:var(--code-highlight-prelude-val-color);}pre.rust .string{color:var(--code-highlight-string-color);}pre.rust .number{color:var(--code-highlight-number-color);}pre.rust .bool-val{color:var(--code-highlight-literal-color);}pre.rust .self{color:var(--code-highlight-self-color);}pre.rust .attr{color:var(--code-highlight-attribute-color);}pre.rust .macro,pre.rust .macro-nonterminal{color:var(--code-highlight-macro-color);}pre.rust .question-mark{font-weight:bold;color:var(--code-highlight-question-mark-color);}pre.rust .comment{color:var(--code-highlight-comment-color);}pre.rust .doccomment{color:var(--code-highlight-doc-comment-color);}.rustdoc.src .example-wrap pre.rust a{background:var(--codeblock-link-background);}.example-wrap.compile_fail,.example-wrap.should_panic{border-left:2px solid var(--codeblock-error-color);}.ignore.example-wrap{border-left:2px solid var(--codeblock-ignore-color);}.example-wrap.compile_fail:hover,.example-wrap.should_panic:hover{border-left:2px solid var(--codeblock-error-hover-color);}.example-wrap.ignore:hover{border-left:2px solid var(--codeblock-ignore-hover-color);}.example-wrap.compile_fail .tooltip,.example-wrap.should_panic .tooltip{color:var(--codeblock-error-color);}.example-wrap.ignore .tooltip{color:var(--codeblock-ignore-color);}.example-wrap.compile_fail:hover .tooltip,.example-wrap.should_panic:hover .tooltip{color:var(--codeblock-error-hover-color);}.example-wrap.ignore:hover .tooltip{color:var(--codeblock-ignore-hover-color);}.example-wrap .tooltip{position:absolute;display:block;left:-25px;top:5px;margin:0;line-height:1;}.example-wrap.compile_fail .tooltip,.example-wrap.should_panic .tooltip,.example-wrap.ignore .tooltip{font-weight:bold;font-size:1.25rem;}.content .docblock .warning{border-left:2px solid var(--warning-border-color);padding:14px;position:relative;overflow-x:visible !important;}.content .docblock .warning::before{color:var(--warning-border-color);content:"ⓘ";position:absolute;left:-25px;top:5px;font-weight:bold;font-size:1.25rem;}.top-doc>.docblock>.warning:first-child::before{top:20px;}a.test-arrow{visibility:hidden;position:absolute;padding:5px 10px 5px 10px;border-radius:5px;font-size:1.375rem;top:5px;right:5px;z-index:1;color:var(--test-arrow-color);background-color:var(--test-arrow-background-color);}a.test-arrow:hover{color:var(--test-arrow-hover-color);background-color:var(--test-arrow-hover-background-color);}.example-wrap:hover .test-arrow{visibility:visible;}.code-attribute{font-weight:300;color:var(--code-attribute-color);}.item-spacer{width:100%;height:12px;display:block;}.out-of-band>span.since{font-size:1.25rem;}.sub-variant h4{font-size:1rem;font-weight:400;margin-top:0;margin-bottom:0;}.sub-variant{margin-left:24px;margin-bottom:40px;}.sub-variant>.sub-variant-field{margin-left:24px;}:target{padding-right:3px;background-color:var(--target-background-color);border-right:3px solid var(--target-border-color);}.code-header a.tooltip{color:inherit;margin-right:15px;position:relative;}.code-header a.tooltip:hover{color:var(--link-color);}a.tooltip:hover::after{position:absolute;top:calc(100% - 10px);left:-15px;right:-15px;height:20px;content:"\00a0";}.fade-out{opacity:0;transition:opacity 0.45s cubic-bezier(0,0,0.1,1.0);}.popover.tooltip .content{margin:0.25em 0.5em;}.popover.tooltip .content pre,.popover.tooltip .content code{background:transparent;margin:0;padding:0;font-size:1.25rem;white-space:pre-wrap;}.popover.tooltip .content>h3:first-child{margin:0 0 5px 0;}.search-failed{text-align:center;margin-top:20px;display:none;}.search-failed.active{display:block;}.search-failed>ul{text-align:left;max-width:570px;margin-left:auto;margin-right:auto;}#search-tabs{display:flex;flex-direction:row;gap:1px;margin-bottom:4px;}#search-tabs button{text-align:center;font-size:1.125rem;border:0;border-top:2px solid;flex:1;line-height:1.5;color:inherit;}#search-tabs button:not(.selected){background-color:var(--search-tab-button-not-selected-background);border-top-color:var(--search-tab-button-not-selected-border-top-color);}#search-tabs button:hover,#search-tabs button.selected{background-color:var(--search-tab-button-selected-background);border-top-color:var(--search-tab-button-selected-border-top-color);}#search-tabs .count{font-size:1rem;font-variant-numeric:tabular-nums;color:var(--search-tab-title-count-color);}#search .error code{border-radius:3px;background-color:var(--search-error-code-background-color);}.search-corrections{font-weight:normal;}#src-sidebar{width:100%;overflow:auto;}#src-sidebar div.files>a:hover,details.dir-entry summary:hover,#src-sidebar div.files>a:focus,details.dir-entry summary:focus{background-color:var(--src-sidebar-background-hover);}#src-sidebar div.files>a.selected{background-color:var(--src-sidebar-background-selected);}.src-sidebar-title{position:sticky;top:0;display:flex;padding:8px 8px 0 48px;margin-bottom:7px;background:var(--sidebar-background-color);border-bottom:1px solid var(--border-color);}#settings-menu,#help-button{margin-left:4px;display:flex;}#sidebar-button{display:none;line-height:0;}.hide-sidebar #sidebar-button,.src #sidebar-button{display:flex;margin-right:4px;position:fixed;left:6px;height:34px;width:34px;background-color:var(--main-background-color);z-index:1;}.src #sidebar-button{left:8px;z-index:calc(var(--desktop-sidebar-z-index) + 1);}.hide-sidebar .src #sidebar-button{position:static;}#settings-menu>a,#help-button>a,#sidebar-button>a{display:flex;align-items:center;justify-content:center;background-color:var(--button-background-color);border:1px solid var(--border-color);border-radius:2px;color:var(--settings-button-color);font-size:20px;width:33px;}#settings-menu>a:hover,#settings-menu>a:focus,#help-button>a:hover,#help-button>a:focus,#sidebar-button>a:hover,#sidebar-button>a:focus{border-color:var(--settings-button-border-focus);}#sidebar-button>a:before{content:url('data:image/svg+xml,');}.setting-radio input:focus,.setting-check input:focus{box-shadow:0 0 1px 1px var(--settings-input-color);}.setting-radio input:checked:focus{box-shadow:inset 0 0 0 3px var(--main-background-color),0 0 2px 2px var(--settings-input-color);}.setting-radio input:hover,.setting-check input:hover{border-color:var(--settings-input-color) !important;}#help.popover{max-width:600px;--popover-arrow-offset:48px;}#help dt{float:left;clear:left;margin-right:0.5rem;}#help span.top,#help span.bottom{text-align:center;display:block;font-size:1.125rem;}#help span.top{margin:10px 0;border-bottom:1px solid var(--border-color);padding-bottom:4px;margin-bottom:6px;}#help span.bottom{clear:both;border-top:1px solid var(--border-color);}.side-by-side>div{width:50%;float:left;padding:0 20px 20px 17px;}.item-info .stab{display:block;padding:3px;margin-bottom:5px;}.item-name .stab{margin-left:0.3125em;}.stab{padding:0 2px;font-size:0.875rem;font-weight:normal;color:var(--main-color);background-color:var(--stab-background-color);width:fit-content;white-space:pre-wrap;border-radius:3px;display:inline;vertical-align:baseline;}.stab.portability>code{background:none;color:var(--stab-code-color);}.stab .emoji,.item-info .stab::before{font-size:1.25rem;}.stab .emoji{margin-right:0.3rem;}.item-info .stab::before{content:"\0";width:0;display:inline-block;color:transparent;}.emoji{text-shadow:1px 0 0 black,-1px 0 0 black,0 1px 0 black,0 -1px 0 black;}.since{font-weight:normal;font-size:initial;}.rightside{padding-left:12px;float:right;}.rightside:not(a),.out-of-band{color:var(--right-side-color);}pre.rust{tab-size:4;-moz-tab-size:4;}pre.rust .kw{color:var(--code-highlight-kw-color);}pre.rust .kw-2{color:var(--code-highlight-kw-2-color);}pre.rust .lifetime{color:var(--code-highlight-lifetime-color);}pre.rust .prelude-ty{color:var(--code-highlight-prelude-color);}pre.rust .prelude-val{color:var(--code-highlight-prelude-val-color);}pre.rust .string{color:var(--code-highlight-string-color);}pre.rust .number{color:var(--code-highlight-number-color);}pre.rust .bool-val{color:var(--code-highlight-literal-color);}pre.rust .self{color:var(--code-highlight-self-color);}pre.rust .attr{color:var(--code-highlight-attribute-color);}pre.rust .macro,pre.rust .macro-nonterminal{color:var(--code-highlight-macro-color);}pre.rust .question-mark{font-weight:bold;color:var(--code-highlight-question-mark-color);}pre.rust .comment{color:var(--code-highlight-comment-color);}pre.rust .doccomment{color:var(--code-highlight-doc-comment-color);}.rustdoc.src .example-wrap pre.rust a{background:var(--codeblock-link-background);}.example-wrap.compile_fail,.example-wrap.should_panic{border-left:2px solid var(--codeblock-error-color);}.ignore.example-wrap{border-left:2px solid var(--codeblock-ignore-color);}.example-wrap.compile_fail:hover,.example-wrap.should_panic:hover{border-left:2px solid var(--codeblock-error-hover-color);}.example-wrap.ignore:hover{border-left:2px solid var(--codeblock-ignore-hover-color);}.example-wrap.compile_fail .tooltip,.example-wrap.should_panic .tooltip{color:var(--codeblock-error-color);}.example-wrap.ignore .tooltip{color:var(--codeblock-ignore-color);}.example-wrap.compile_fail:hover .tooltip,.example-wrap.should_panic:hover .tooltip{color:var(--codeblock-error-hover-color);}.example-wrap.ignore:hover .tooltip{color:var(--codeblock-ignore-hover-color);}.example-wrap .tooltip{position:absolute;display:block;left:-25px;top:5px;margin:0;line-height:1;}.example-wrap.compile_fail .tooltip,.example-wrap.should_panic .tooltip,.example-wrap.ignore .tooltip{font-weight:bold;font-size:1.25rem;}.content .docblock .warning{border-left:2px solid var(--warning-border-color);padding:14px;position:relative;overflow-x:visible !important;}.content .docblock .warning::before{color:var(--warning-border-color);content:"ⓘ";position:absolute;left:-25px;top:5px;font-weight:bold;font-size:1.25rem;}.top-doc>.docblock>.warning:first-child::before{top:20px;}a.test-arrow{visibility:hidden;position:absolute;padding:5px 10px 5px 10px;border-radius:5px;font-size:1.375rem;top:5px;right:5px;z-index:1;color:var(--test-arrow-color);background-color:var(--test-arrow-background-color);}a.test-arrow:hover{color:var(--test-arrow-hover-color);background-color:var(--test-arrow-hover-background-color);}.example-wrap:hover .test-arrow{visibility:visible;}.code-attribute{font-weight:300;color:var(--code-attribute-color);}.item-spacer{width:100%;height:12px;display:block;}.out-of-band>span.since{font-size:1.25rem;}.sub-variant h4{font-size:1rem;font-weight:400;margin-top:0;margin-bottom:0;}.sub-variant{margin-left:24px;margin-bottom:40px;}.sub-variant>.sub-variant-field{margin-left:24px;}:target{padding-right:3px;background-color:var(--target-background-color);border-right:3px solid var(--target-border-color);}.code-header a.tooltip{color:inherit;margin-right:15px;position:relative;}.code-header a.tooltip:hover{color:var(--link-color);}a.tooltip:hover::after{position:absolute;top:calc(100% - 10px);left:-15px;right:-15px;height:20px;content:"\00a0";}.fade-out{opacity:0;transition:opacity 0.45s cubic-bezier(0,0,0.1,1.0);}.popover.tooltip .content{margin:0.25em 0.5em;}.popover.tooltip .content pre,.popover.tooltip .content code{background:transparent;margin:0;padding:0;font-size:1.25rem;white-space:pre-wrap;}.popover.tooltip .content>h3:first-child{margin:0 0 5px 0;}.search-failed{text-align:center;margin-top:20px;display:none;}.search-failed.active{display:block;}.search-failed>ul{text-align:left;max-width:570px;margin-left:auto;margin-right:auto;}#search-tabs{display:flex;flex-direction:row;gap:1px;margin-bottom:4px;}#search-tabs button{text-align:center;font-size:1.125rem;border:0;border-top:2px solid;flex:1;line-height:1.5;color:inherit;}#search-tabs button:not(.selected){background-color:var(--search-tab-button-not-selected-background);border-top-color:var(--search-tab-button-not-selected-border-top-color);}#search-tabs button:hover,#search-tabs button.selected{background-color:var(--search-tab-button-selected-background);border-top-color:var(--search-tab-button-selected-border-top-color);}#search-tabs .count{font-size:1rem;font-variant-numeric:tabular-nums;color:var(--search-tab-title-count-color);}#search .error code{border-radius:3px;background-color:var(--search-error-code-background-color);}.search-corrections{font-weight:normal;}#src-sidebar{width:100%;overflow:auto;}#src-sidebar div.files>a:hover,details.dir-entry summary:hover,#src-sidebar div.files>a:focus,details.dir-entry summary:focus{background-color:var(--src-sidebar-background-hover);}#src-sidebar div.files>a.selected{background-color:var(--src-sidebar-background-selected);}.src-sidebar-title{position:sticky;top:0;display:flex;padding:8px 8px 0 48px;margin-bottom:7px;background:var(--sidebar-background-color);border-bottom:1px solid var(--border-color);}#settings-menu,#help-button{margin-left:4px;display:flex;}#sidebar-button{display:none;line-height:0;}.hide-sidebar #sidebar-button,.src #sidebar-button{display:flex;margin-right:4px;position:fixed;left:6px;height:34px;width:34px;background-color:var(--main-background-color);z-index:1;}.src #sidebar-button{left:8px;z-index:calc(var(--desktop-sidebar-z-index) + 1);}.hide-sidebar .src #sidebar-button{position:static;}#settings-menu>a,#help-button>a,#sidebar-button>a{display:flex;align-items:center;justify-content:center;background-color:var(--button-background-color);border:1px solid var(--border-color);border-radius:2px;color:var(--settings-button-color);font-size:20px;width:33px;}#settings-menu>a:hover,#settings-menu>a:focus,#help-button>a:hover,#help-button>a:focus,#sidebar-button>a:hover,#sidebar-button>a:focus{border-color:var(--settings-button-border-focus);}#settings-menu>a{line-height:0;font-size:0;}#settings-menu>a:before{content:url('data:image/svg+xml,\ + ');width:22px;height:22px;}#sidebar-button>a:before{content:url('data:image/svg+xml,\ \ \ - ');width:22px;height:22px;}#copy-path{color:var(--copy-path-button-color);background:var(--main-background-color);height:34px;margin-left:10px;padding:0;padding-left:2px;border:0;width:33px;}#copy-path>img{filter:var(--copy-path-img-filter);}#copy-path:hover>img{filter:var(--copy-path-img-hover-filter);}@keyframes rotating{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}#settings-menu.rotate>a img{animation:rotating 2s linear infinite;}kbd{display:inline-block;padding:3px 5px;font:15px monospace;line-height:10px;vertical-align:middle;border:solid 1px var(--border-color);border-radius:3px;color:var(--kbd-color);background-color:var(--kbd-background);box-shadow:inset 0 -1px 0 var(--kbd-box-shadow-color);}ul.all-items>li{list-style:none;}details.dir-entry{padding-left:4px;}details.dir-entry>summary{margin:0 0 0 -4px;padding:0 0 0 4px;cursor:pointer;}details.dir-entry div.folders,details.dir-entry div.files{padding-left:23px;}details.dir-entry a{display:block;}details.toggle{contain:layout;position:relative;}details.toggle>summary.hideme{cursor:pointer;font-size:1rem;}details.toggle>summary{list-style:none;outline:none;}details.toggle>summary::-webkit-details-marker,details.toggle>summary::marker{display:none;}details.toggle>summary.hideme>span{margin-left:9px;}details.toggle>summary::before{background:url('data:image/svg+xml,');width:22px;height:22px;}#copy-path{color:var(--copy-path-button-color);background:var(--main-background-color);height:34px;width:33px;margin-left:10px;padding:0;padding-left:2px;border:0;font-size:0;}#copy-path::before{filter:var(--copy-path-img-filter);content:url('data:image/svg+xml,\ +\ +\ +');width:19px;height:18px;}#copy-path:hover::before{filter:var(--copy-path-img-hover-filter);}#copy-path.clicked::before{content:url('data:image/svg+xml,\ + \ + ');}@keyframes rotating{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}#settings-menu.rotate>a img{animation:rotating 2s linear infinite;}kbd{display:inline-block;padding:3px 5px;font:15px monospace;line-height:10px;vertical-align:middle;border:solid 1px var(--border-color);border-radius:3px;color:var(--kbd-color);background-color:var(--kbd-background);box-shadow:inset 0 -1px 0 var(--kbd-box-shadow-color);}ul.all-items>li{list-style:none;}details.dir-entry{padding-left:4px;}details.dir-entry>summary{margin:0 0 0 -4px;padding:0 0 0 4px;cursor:pointer;}details.dir-entry div.folders,details.dir-entry div.files{padding-left:23px;}details.dir-entry a{display:block;}details.toggle{contain:layout;position:relative;}details.toggle>summary.hideme{cursor:pointer;font-size:1rem;}details.toggle>summary{list-style:none;outline:none;}details.toggle>summary::-webkit-details-marker,details.toggle>summary::marker{display:none;}details.toggle>summary.hideme>span{margin-left:9px;}details.toggle>summary::before{background:url('data:image/svg+xml,') no-repeat top left;content:"";cursor:pointer;width:16px;height:16px;display:inline-block;vertical-align:middle;opacity:.5;filter:var(--toggle-filter);}details.toggle>summary.hideme>span,.more-examples-toggle summary,.more-examples-toggle .hide-more{color:var(--toggles-color);}details.toggle>summary::after{content:"Expand";overflow:hidden;width:0;height:0;position:absolute;}details.toggle>summary.hideme::after{content:"";}details.toggle>summary:focus::before,details.toggle>summary:hover::before{opacity:1;}details.toggle>summary:focus-visible::before{outline:1px dotted #000;outline-offset:1px;}details.non-exhaustive{margin-bottom:8px;}details.toggle>summary.hideme::before{position:relative;}details.toggle>summary:not(.hideme)::before{position:absolute;left:-24px;top:4px;}.impl-items>details.toggle>summary:not(.hideme)::before{position:absolute;left:-24px;}details.toggle[open] >summary.hideme{position:absolute;}details.toggle[open] >summary.hideme>span{display:none;}details.toggle[open] >summary::before{background:url('data:image/svg+xml,{if(nb===iter){addClass(elem,"selected");foundCurrentTab=true}else{removeClass(elem,"selected")}iter+=1});const isTypeSearch=(nb>0||iter===1);iter=0;onEachLazy(document.getElementById("results").childNodes,elem=>{if(nb===iter){addClass(elem,"active");foundCurrentResultSet=true}else{removeClass(elem,"active")}iter+=1});if(foundCurrentTab&&foundCurrentResultSet){searchState.currentTab=nb;const correctionsElem=document.getElementsByClassName("search-corrections");if(isTypeSearch){removeClass(correctionsElem[0],"hidden")}else{addClass(correctionsElem[0],"hidden")}}else if(nb!==0){printTab(0)}}const editDistanceState={current:[],prev:[],prevPrev:[],calculate:function calculate(a,b,limit){if(a.lengthlimit){return limit+1}while(b.length>0&&b[0]===a[0]){a=a.substring(1);b=b.substring(1)}while(b.length>0&&b[b.length-1]===a[a.length-1]){a=a.substring(0,a.length-1);b=b.substring(0,b.length-1)}if(b.length===0){return minDist}const aLength=a.length;const bLength=b.length;for(let i=0;i<=bLength;++i){this.current[i]=0;this.prev[i]=i;this.prevPrev[i]=Number.MAX_VALUE}for(let i=1;i<=aLength;++i){this.current[0]=i;const aIdx=i-1;for(let j=1;j<=bLength;++j){const bIdx=j-1;const substitutionCost=a[aIdx]===b[bIdx]?0:1;this.current[j]=Math.min(this.prev[j]+1,this.current[j-1]+1,this.prev[j-1]+substitutionCost,);if((i>1)&&(j>1)&&(a[aIdx]===b[bIdx-1])&&(a[aIdx-1]===b[bIdx])){this.current[j]=Math.min(this.current[j],this.prevPrev[j-2]+1,)}}const prevPrevTmp=this.prevPrev;this.prevPrev=this.prev;this.prev=this.current;this.current=prevPrevTmp}const distance=this.prev[bLength];return distance<=limit?distance:(limit+1)},};function editDistance(a,b,limit){return editDistanceState.calculate(a,b,limit)}function initSearch(rawSearchIndex){const MAX_RESULTS=200;const NO_TYPE_FILTER=-1;let searchIndex;let searchIndexDeprecated;let searchIndexEmptyDesc;let functionTypeFingerprint;let currentResults;const typeNameIdMap=new Map();const ALIASES=new Map();const typeNameIdOfArray=buildTypeMapIndex("array");const typeNameIdOfSlice=buildTypeMapIndex("slice");const typeNameIdOfArrayOrSlice=buildTypeMapIndex("[]");const typeNameIdOfTuple=buildTypeMapIndex("tuple");const typeNameIdOfUnit=buildTypeMapIndex("unit");const typeNameIdOfTupleOrUnit=buildTypeMapIndex("()");const typeNameIdOfFn=buildTypeMapIndex("fn");const typeNameIdOfFnMut=buildTypeMapIndex("fnmut");const typeNameIdOfFnOnce=buildTypeMapIndex("fnonce");const typeNameIdOfHof=buildTypeMapIndex("->");function buildTypeMapIndex(name,isAssocType){if(name===""||name===null){return null}if(typeNameIdMap.has(name)){const obj=typeNameIdMap.get(name);obj.assocOnly=isAssocType&&obj.assocOnly;return obj.id}else{const id=typeNameIdMap.size;typeNameIdMap.set(name,{id,assocOnly:isAssocType});return id}}function isSpecialStartCharacter(c){return"<\"".indexOf(c)!==-1}function isEndCharacter(c){return"=,>-])".indexOf(c)!==-1}function itemTypeFromName(typename){const index=itemTypes.findIndex(i=>i===typename);if(index<0){throw["Unknown type filter ",typename]}return index}function getStringElem(query,parserState,isInGenerics){if(isInGenerics){throw["Unexpected ","\""," in generics"]}else if(query.literalSearch){throw["Cannot have more than one literal search element"]}else if(parserState.totalElems-parserState.genericsElems>0){throw["Cannot use literal search when there is more than one element"]}parserState.pos+=1;const start=parserState.pos;const end=getIdentEndPosition(parserState);if(parserState.pos>=parserState.length){throw["Unclosed ","\""]}else if(parserState.userQuery[end]!=="\""){throw["Unexpected ",parserState.userQuery[end]," in a string element"]}else if(start===end){throw["Cannot have empty string element"]}parserState.pos+=1;query.literalSearch=true}function isPathStart(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)==="::"}function isReturnArrow(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)==="->"}function isIdentCharacter(c){return(c==="_"||(c>="0"&&c<="9")||(c>="a"&&c<="z")||(c>="A"&&c<="Z"))}function isSeparatorCharacter(c){return c===","||c==="="}function isPathSeparator(c){return c===":"||c===" "}function prevIs(parserState,lookingFor){let pos=parserState.pos;while(pos>0){const c=parserState.userQuery[pos-1];if(c===lookingFor){return true}else if(c!==" "){break}pos-=1}return false}function isLastElemGeneric(elems,parserState){return(elems.length>0&&elems[elems.length-1].generics.length>0)||prevIs(parserState,">")}function skipWhitespace(parserState){while(parserState.pos0){throw["Cannot have more than one element if you use quotes"]}const typeFilter=parserState.typeFilter;parserState.typeFilter=null;if(name==="!"){if(typeFilter!==null&&typeFilter!=="primitive"){throw["Invalid search type: primitive never type ","!"," and ",typeFilter," both specified",]}if(generics.length!==0){throw["Never type ","!"," does not accept generic parameters",]}const bindingName=parserState.isInBinding;parserState.isInBinding=null;return makePrimitiveElement("never",{bindingName})}const quadcolon=/::\s*::/.exec(path);if(path.startsWith("::")){throw["Paths cannot start with ","::"]}else if(path.endsWith("::")){throw["Paths cannot end with ","::"]}else if(quadcolon!==null){throw["Unexpected ",quadcolon[0]]}const pathSegments=path.split(/(?:::\s*)|(?:\s+(?:::\s*)?)/);if(pathSegments.length===0||(pathSegments.length===1&&pathSegments[0]==="")){if(generics.length>0||prevIs(parserState,">")){throw["Found generics without a path"]}else{throw["Unexpected ",parserState.userQuery[parserState.pos]]}}for(const[i,pathSegment]of pathSegments.entries()){if(pathSegment==="!"){if(i!==0){throw["Never type ","!"," is not associated item"]}pathSegments[i]="never"}}parserState.totalElems+=1;if(isInGenerics){parserState.genericsElems+=1}const bindingName=parserState.isInBinding;parserState.isInBinding=null;const bindings=new Map();const pathLast=pathSegments[pathSegments.length-1];return{name:name.trim(),id:null,fullPath:pathSegments,pathWithoutLast:pathSegments.slice(0,pathSegments.length-1),pathLast,normalizedPathLast:pathLast.replace(/_/g,""),generics:generics.filter(gen=>{if(gen.bindingName!==null){if(gen.name!==null){gen.bindingName.generics.unshift(gen)}bindings.set(gen.bindingName.name,gen.bindingName.generics);return false}return true}),bindings,typeFilter,bindingName,}}function getIdentEndPosition(parserState){const start=parserState.pos;let end=parserState.pos;let foundExclamation=-1;while(parserState.pos0){throw["Unexpected ",c," after ",parserState.userQuery[parserState.pos-1]]}else{throw["Unexpected ",c]}}parserState.pos+=1;end=parserState.pos}if(foundExclamation!==-1&&foundExclamation!==start&&isIdentCharacter(parserState.userQuery[foundExclamation-1])){if(parserState.typeFilter===null){parserState.typeFilter="macro"}else if(parserState.typeFilter!=="macro"){throw["Invalid search type: macro ","!"," and ",parserState.typeFilter," both specified",]}end=foundExclamation}return end}function getFilteredNextElem(query,parserState,elems,isInGenerics){const start=parserState.pos;if(parserState.userQuery[parserState.pos]===":"&&!isPathStart(parserState)){throw["Expected type filter before ",":"]}getNextElem(query,parserState,elems,isInGenerics);if(parserState.userQuery[parserState.pos]===":"&&!isPathStart(parserState)){if(parserState.typeFilter!==null){throw["Unexpected ",":"," (expected path after type filter ",parserState.typeFilter+":",")",]}if(elems.length===0){throw["Expected type filter before ",":"]}else if(query.literalSearch){throw["Cannot use quotes on type filter"]}const typeFilterElem=elems.pop();checkExtraTypeFilterCharacters(start,parserState);parserState.typeFilter=typeFilterElem.name;parserState.pos+=1;parserState.totalElems-=1;query.literalSearch=false;getNextElem(query,parserState,elems,isInGenerics)}}function getNextElem(query,parserState,elems,isInGenerics){const generics=[];skipWhitespace(parserState);let start=parserState.pos;let end;if("[(".indexOf(parserState.userQuery[parserState.pos])!==-1){let endChar=")";let name="()";let friendlyName="tuple";if(parserState.userQuery[parserState.pos]==="["){endChar="]";name="[]";friendlyName="slice"}parserState.pos+=1;const{foundSeparator}=getItemsBefore(query,parserState,generics,endChar);const typeFilter=parserState.typeFilter;const bindingName=parserState.isInBinding;parserState.typeFilter=null;parserState.isInBinding=null;for(const gen of generics){if(gen.bindingName!==null){throw["Type parameter ","=",` cannot be within ${friendlyName} `,name]}}if(name==="()"&&!foundSeparator&&generics.length===1&&typeFilter===null){elems.push(generics[0])}else if(name==="()"&&generics.length===1&&generics[0].name==="->"){generics[0].typeFilter=typeFilter;elems.push(generics[0])}else{if(typeFilter!==null&&typeFilter!=="primitive"){throw["Invalid search type: primitive ",name," and ",typeFilter," both specified",]}parserState.totalElems+=1;if(isInGenerics){parserState.genericsElems+=1}elems.push(makePrimitiveElement(name,{bindingName,generics}))}}else{const isStringElem=parserState.userQuery[start]==="\"";if(isStringElem){start+=1;getStringElem(query,parserState,isInGenerics);end=parserState.pos-1}else{end=getIdentEndPosition(parserState)}if(parserState.pos=end){throw["Found generics without a path"]}parserState.pos+=1;getItemsBefore(query,parserState,generics,">")}else if(parserState.pos=end){throw["Found generics without a path"]}if(parserState.isInBinding){throw["Unexpected ","("," after ","="]}parserState.pos+=1;const typeFilter=parserState.typeFilter;parserState.typeFilter=null;getItemsBefore(query,parserState,generics,")");skipWhitespace(parserState);if(isReturnArrow(parserState)){parserState.pos+=2;skipWhitespace(parserState);getFilteredNextElem(query,parserState,generics,isInGenerics);generics[generics.length-1].bindingName=makePrimitiveElement("output")}else{generics.push(makePrimitiveElement(null,{bindingName:makePrimitiveElement("output"),typeFilter:null,}))}parserState.typeFilter=typeFilter}if(isStringElem){skipWhitespace(parserState)}if(start>=end&&generics.length===0){return}if(parserState.userQuery[parserState.pos]==="="){if(parserState.isInBinding){throw["Cannot write ","="," twice in a binding"]}if(!isInGenerics){throw["Type parameter ","="," must be within generics list"]}const name=parserState.userQuery.slice(start,end).trim();if(name==="!"){throw["Type parameter ","="," key cannot be ","!"," never type"]}if(name.includes("!")){throw["Type parameter ","="," key cannot be ","!"," macro"]}if(name.includes("::")){throw["Type parameter ","="," key cannot contain ","::"," path"]}if(name.includes(":")){throw["Type parameter ","="," key cannot contain ",":"," type"]}parserState.isInBinding={name,generics}}else{elems.push(createQueryElement(query,parserState,parserState.userQuery.slice(start,end),generics,isInGenerics,),)}}}function getItemsBefore(query,parserState,elems,endChar){let foundStopChar=true;let foundSeparator=false;const oldTypeFilter=parserState.typeFilter;parserState.typeFilter=null;const oldIsInBinding=parserState.isInBinding;parserState.isInBinding=null;let hofParameters=null;let extra="";if(endChar===">"){extra="<"}else if(endChar==="]"){extra="["}else if(endChar===")"){extra="("}else if(endChar===""){extra="->"}else{extra=endChar}while(parserState.pos"," after ","="]}hofParameters=[...elems];elems.length=0;parserState.pos+=2;foundStopChar=true;foundSeparator=false;continue}else if(c===" "){parserState.pos+=1;continue}else if(isSeparatorCharacter(c)){parserState.pos+=1;foundStopChar=true;foundSeparator=true;continue}else if(c===":"&&isPathStart(parserState)){throw["Unexpected ","::",": paths cannot start with ","::"]}else if(isEndCharacter(c)){throw["Unexpected ",c," after ",extra]}if(!foundStopChar){let extra=[];if(isLastElemGeneric(query.elems,parserState)){extra=[" after ",">"]}else if(prevIs(parserState,"\"")){throw["Cannot have more than one element if you use quotes"]}if(endChar!==""){throw["Expected ",",",", ","=",", or ",endChar,...extra,", found ",c,]}throw["Expected ",","," or ","=",...extra,", found ",c,]}const posBefore=parserState.pos;getFilteredNextElem(query,parserState,elems,endChar!=="");if(endChar!==""&&parserState.pos>=parserState.length){throw["Unclosed ",extra]}if(posBefore===parserState.pos){parserState.pos+=1}foundStopChar=false}if(parserState.pos>=parserState.length&&endChar!==""){throw["Unclosed ",extra]}parserState.pos+=1;if(hofParameters){foundSeparator=false;if([...elems,...hofParameters].some(x=>x.bindingName)||parserState.isInBinding){throw["Unexpected ","="," within ","->"]}const hofElem=makePrimitiveElement("->",{generics:hofParameters,bindings:new Map([["output",[...elems]]]),typeFilter:null,});elems.length=0;elems[0]=hofElem}parserState.typeFilter=oldTypeFilter;parserState.isInBinding=oldIsInBinding;return{foundSeparator}}function checkExtraTypeFilterCharacters(start,parserState){const query=parserState.userQuery.slice(start,parserState.pos).trim();for(const c in query){if(!isIdentCharacter(query[c])){throw["Unexpected ",query[c]," in type filter (before ",":",")",]}}}function parseInput(query,parserState){let foundStopChar=true;while(parserState.pos"){if(isReturnArrow(parserState)){break}throw["Unexpected ",c," (did you mean ","->","?)"]}else if(parserState.pos>0){throw["Unexpected ",c," after ",parserState.userQuery[parserState.pos-1]]}throw["Unexpected ",c]}else if(c===" "){skipWhitespace(parserState);continue}if(!foundStopChar){let extra="";if(isLastElemGeneric(query.elems,parserState)){extra=[" after ",">"]}else if(prevIs(parserState,"\"")){throw["Cannot have more than one element if you use quotes"]}if(parserState.typeFilter!==null){throw["Expected ",","," or ","->",...extra,", found ",c,]}throw["Expected ",",",", ",":"," or ","->",...extra,", found ",c,]}const before=query.elems.length;getFilteredNextElem(query,parserState,query.elems,false);if(query.elems.length===before){parserState.pos+=1}foundStopChar=false}if(parserState.typeFilter!==null){throw["Unexpected ",":"," (expected path after type filter ",parserState.typeFilter+":",")",]}while(parserState.pos"]}break}else{parserState.pos+=1}}}function newParsedQuery(userQuery){return{original:userQuery,userQuery:userQuery.toLowerCase(),elems:[],returned:[],foundElems:0,totalElems:0,literalSearch:false,error:null,correction:null,proposeCorrectionFrom:null,proposeCorrectionTo:null,typeFingerprint:new Uint32Array(4),}}function buildUrl(search,filterCrates){let extra="?search="+encodeURIComponent(search);if(filterCrates!==null){extra+="&filter-crate="+encodeURIComponent(filterCrates)}return getNakedUrl()+extra+window.location.hash}function getFilterCrates(){const elem=document.getElementById("crate-search");if(elem&&elem.value!=="all crates"&&rawSearchIndex.has(elem.value)){return elem.value}return null}function parseQuery(userQuery){function convertTypeFilterOnElem(elem){if(elem.typeFilter!==null){let typeFilter=elem.typeFilter;if(typeFilter==="const"){typeFilter="constant"}elem.typeFilter=itemTypeFromName(typeFilter)}else{elem.typeFilter=NO_TYPE_FILTER}for(const elem2 of elem.generics){convertTypeFilterOnElem(elem2)}for(const constraints of elem.bindings.values()){for(const constraint of constraints){convertTypeFilterOnElem(constraint)}}}userQuery=userQuery.trim().replace(/\r|\n|\t/g," ");const parserState={length:userQuery.length,pos:0,totalElems:0,genericsElems:0,typeFilter:null,isInBinding:null,userQuery:userQuery.toLowerCase(),};let query=newParsedQuery(userQuery);try{parseInput(query,parserState);for(const elem of query.elems){convertTypeFilterOnElem(elem)}for(const elem of query.returned){convertTypeFilterOnElem(elem)}}catch(err){query=newParsedQuery(userQuery);query.error=err;return query}if(!query.literalSearch){query.literalSearch=parserState.totalElems>1}query.foundElems=query.elems.length+query.returned.length;query.totalElems=parserState.totalElems;return query}function createQueryResults(results_in_args,results_returned,results_others,parsedQuery){return{"in_args":results_in_args,"returned":results_returned,"others":results_others,"query":parsedQuery,}}async function execQuery(parsedQuery,filterCrates,currentCrate){const results_others=new Map(),results_in_args=new Map(),results_returned=new Map();function transformResults(results){const duplicates=new Set();const out=[];for(const result of results){if(result.id!==-1){const obj=searchIndex[result.id];obj.dist=result.dist;const res=buildHrefAndPath(obj);obj.displayPath=pathSplitter(res[0]);obj.fullPath=res[2]+"|"+obj.ty;if(duplicates.has(obj.fullPath)){continue}if(obj.ty===TY_IMPORT&&duplicates.has(res[2])){continue}if(duplicates.has(res[2]+"|"+TY_IMPORT)){continue}duplicates.add(obj.fullPath);duplicates.add(res[2]);obj.href=res[1];out.push(obj);if(out.length>=MAX_RESULTS){break}}}return out}async function sortResults(results,isType,preferredCrate){const userQuery=parsedQuery.userQuery;const result_list=[];for(const result of results.values()){result.item=searchIndex[result.id];result.word=searchIndex[result.id].word;result_list.push(result)}result_list.sort((aaa,bbb)=>{let a,b;a=(aaa.word!==userQuery);b=(bbb.word!==userQuery);if(a!==b){return a-b}a=(aaa.index<0);b=(bbb.index<0);if(a!==b){return a-b}a=aaa.path_dist;b=bbb.path_dist;if(a!==b){return a-b}a=aaa.index;b=bbb.index;if(a!==b){return a-b}a=(aaa.dist);b=(bbb.dist);if(a!==b){return a-b}a=searchIndexDeprecated.get(aaa.item.crate).contains(aaa.item.bitIndex);b=searchIndexDeprecated.get(bbb.item.crate).contains(bbb.item.bitIndex);if(a!==b){return a-b}a=(aaa.item.crate!==preferredCrate);b=(bbb.item.crate!==preferredCrate);if(a!==b){return a-b}a=aaa.word.length;b=bbb.word.length;if(a!==b){return a-b}a=aaa.word;b=bbb.word;if(a!==b){return(a>b?+1:-1)}a=searchIndexEmptyDesc.get(aaa.item.crate).contains(aaa.item.bitIndex);b=searchIndexEmptyDesc.get(bbb.item.crate).contains(bbb.item.bitIndex);if(a!==b){return a-b}a=aaa.item.ty;b=bbb.item.ty;if(a!==b){return a-b}a=aaa.item.path;b=bbb.item.path;if(a!==b){return(a>b?+1:-1)}return 0});return transformResults(result_list)}function unifyFunctionTypes(fnTypesIn,queryElems,whereClause,mgensIn,solutionCb,unboxingDepth,){if(unboxingDepth>=UNBOXING_LIMIT){return false}const mgens=mgensIn===null?null:new Map(mgensIn);if(queryElems.length===0){return!solutionCb||solutionCb(mgens)}if(!fnTypesIn||fnTypesIn.length===0){return false}const ql=queryElems.length;const fl=fnTypesIn.length;if(ql===1&&queryElems[0].generics.length===0&&queryElems[0].bindings.size===0){const queryElem=queryElems[0];for(const fnType of fnTypesIn){if(!unifyFunctionTypeIsMatchCandidate(fnType,queryElem,mgens)){continue}if(fnType.id<0&&queryElem.id<0){if(mgens&&mgens.has(fnType.id)&&mgens.get(fnType.id)!==queryElem.id){continue}const mgensScratch=new Map(mgens);mgensScratch.set(fnType.id,queryElem.id);if(!solutionCb||solutionCb(mgensScratch)){return true}}else if(!solutionCb||solutionCb(mgens?new Map(mgens):null)){return true}}for(const fnType of fnTypesIn){if(!unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens,unboxingDepth+1,)){continue}if(fnType.id<0){if(mgens&&mgens.has(fnType.id)&&mgens.get(fnType.id)!==0){continue}const mgensScratch=new Map(mgens);mgensScratch.set(fnType.id,0);if(unifyFunctionTypes(whereClause[(-fnType.id)-1],queryElems,whereClause,mgensScratch,solutionCb,unboxingDepth+1,)){return true}}else if(unifyFunctionTypes([...fnType.generics,...Array.from(fnType.bindings.values()).flat()],queryElems,whereClause,mgens?new Map(mgens):null,solutionCb,unboxingDepth+1,)){return true}}return false}const fnTypes=fnTypesIn.slice();const flast=fl-1;const qlast=ql-1;const queryElem=queryElems[qlast];let queryElemsTmp=null;for(let i=flast;i>=0;i-=1){const fnType=fnTypes[i];if(!unifyFunctionTypeIsMatchCandidate(fnType,queryElem,mgens)){continue}let mgensScratch;if(fnType.id<0){mgensScratch=new Map(mgens);if(mgensScratch.has(fnType.id)&&mgensScratch.get(fnType.id)!==queryElem.id){continue}mgensScratch.set(fnType.id,queryElem.id)}else{mgensScratch=mgens}fnTypes[i]=fnTypes[flast];fnTypes.length=flast;if(!queryElemsTmp){queryElemsTmp=queryElems.slice(0,qlast)}const passesUnification=unifyFunctionTypes(fnTypes,queryElemsTmp,whereClause,mgensScratch,mgensScratch=>{if(fnType.generics.length===0&&queryElem.generics.length===0&&fnType.bindings.size===0&&queryElem.bindings.size===0){return!solutionCb||solutionCb(mgensScratch)}const solution=unifyFunctionTypeCheckBindings(fnType,queryElem,whereClause,mgensScratch,unboxingDepth,);if(!solution){return false}const simplifiedGenerics=solution.simplifiedGenerics;for(const simplifiedMgens of solution.mgens){const passesUnification=unifyFunctionTypes(simplifiedGenerics,queryElem.generics,whereClause,simplifiedMgens,solutionCb,unboxingDepth,);if(passesUnification){return true}}return false},unboxingDepth,);if(passesUnification){return true}fnTypes[flast]=fnTypes[i];fnTypes[i]=fnType;fnTypes.length=fl}for(let i=flast;i>=0;i-=1){const fnType=fnTypes[i];if(!unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens,unboxingDepth+1,)){continue}let mgensScratch;if(fnType.id<0){mgensScratch=new Map(mgens);if(mgensScratch.has(fnType.id)&&mgensScratch.get(fnType.id)!==0){continue}mgensScratch.set(fnType.id,0)}else{mgensScratch=mgens}const generics=fnType.id<0?whereClause[(-fnType.id)-1]:fnType.generics;const bindings=fnType.bindings?Array.from(fnType.bindings.values()).flat():[];const passesUnification=unifyFunctionTypes(fnTypes.toSpliced(i,1,...generics,...bindings),queryElems,whereClause,mgensScratch,solutionCb,unboxingDepth+1,);if(passesUnification){return true}}return false}function unifyFunctionTypeIsMatchCandidate(fnType,queryElem,mgensIn){if(!typePassesFilter(queryElem.typeFilter,fnType.ty)){return false}if(fnType.id<0&&queryElem.id<0){if(mgensIn){if(mgensIn.has(fnType.id)&&mgensIn.get(fnType.id)!==queryElem.id){return false}for(const[fid,qid]of mgensIn.entries()){if(fnType.id!==fid&&queryElem.id===qid){return false}if(fnType.id===fid&&queryElem.id!==qid){return false}}}return true}else{if(queryElem.id===typeNameIdOfArrayOrSlice&&(fnType.id===typeNameIdOfSlice||fnType.id===typeNameIdOfArray)){}else if(queryElem.id===typeNameIdOfTupleOrUnit&&(fnType.id===typeNameIdOfTuple||fnType.id===typeNameIdOfUnit)){}else if(queryElem.id===typeNameIdOfHof&&(fnType.id===typeNameIdOfFn||fnType.id===typeNameIdOfFnMut||fnType.id===typeNameIdOfFnOnce)){}else if(fnType.id!==queryElem.id||queryElem.id===null){return false}if((fnType.generics.length+fnType.bindings.size)===0&&queryElem.generics.length!==0){return false}if(fnType.bindings.size0){const fnTypePath=fnType.path!==undefined&&fnType.path!==null?fnType.path.split("::"):[];if(queryElemPathLength>fnTypePath.length){return false}let i=0;for(const path of fnTypePath){if(path===queryElem.pathWithoutLast[i]){i+=1;if(i>=queryElemPathLength){break}}}if(i0){let mgensSolutionSet=[mgensIn];for(const[name,constraints]of queryElem.bindings.entries()){if(mgensSolutionSet.length===0){return false}if(!fnType.bindings.has(name)){return false}const fnTypeBindings=fnType.bindings.get(name);mgensSolutionSet=mgensSolutionSet.flatMap(mgens=>{const newSolutions=[];unifyFunctionTypes(fnTypeBindings,constraints,whereClause,mgens,newMgens=>{newSolutions.push(newMgens);return false},unboxingDepth,);return newSolutions})}if(mgensSolutionSet.length===0){return false}const binds=Array.from(fnType.bindings.entries()).flatMap(entry=>{const[name,constraints]=entry;if(queryElem.bindings.has(name)){return[]}else{return constraints}});if(simplifiedGenerics.length>0){simplifiedGenerics=[...simplifiedGenerics,...binds]}else{simplifiedGenerics=binds}return{simplifiedGenerics,mgens:mgensSolutionSet}}return{simplifiedGenerics,mgens:[mgensIn]}}function unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens,unboxingDepth,){if(unboxingDepth>=UNBOXING_LIMIT){return false}if(fnType.id<0&&queryElem.id>=0){if(!whereClause){return false}if(mgens&&mgens.has(fnType.id)&&mgens.get(fnType.id)!==0){return false}const mgensTmp=new Map(mgens);mgensTmp.set(fnType.id,null);return checkIfInList(whereClause[(-fnType.id)-1],queryElem,whereClause,mgensTmp,unboxingDepth,)}else if(fnType.generics.length>0||fnType.bindings.size>0){const simplifiedGenerics=[...fnType.generics,...Array.from(fnType.bindings.values()).flat(),];return checkIfInList(simplifiedGenerics,queryElem,whereClause,mgens,unboxingDepth,)}return false}function checkIfInList(list,elem,whereClause,mgens,unboxingDepth){for(const entry of list){if(checkType(entry,elem,whereClause,mgens,unboxingDepth)){return true}}return false}function checkType(row,elem,whereClause,mgens,unboxingDepth){if(unboxingDepth>=UNBOXING_LIMIT){return false}if(row.bindings.size===0&&elem.bindings.size===0){if(elem.id<0&&mgens===null){return row.id<0||checkIfInList(row.generics,elem,whereClause,mgens,unboxingDepth+1,)}if(row.id>0&&elem.id>0&&elem.pathWithoutLast.length===0&&typePassesFilter(elem.typeFilter,row.ty)&&elem.generics.length===0&&elem.id!==typeNameIdOfArrayOrSlice&&elem.id!==typeNameIdOfTupleOrUnit&&elem.id!==typeNameIdOfHof){return row.id===elem.id||checkIfInList(row.generics,elem,whereClause,mgens,unboxingDepth,)}}return unifyFunctionTypes([row],[elem],whereClause,mgens,null,unboxingDepth)}function checkPath(contains,ty){if(contains.length===0){return 0}const maxPathEditDistance=Math.floor(contains.reduce((acc,next)=>acc+next.length,0)/3,);let ret_dist=maxPathEditDistance+1;const path=ty.path.split("::");if(ty.parent&&ty.parent.name){path.push(ty.parent.name.toLowerCase())}const length=path.length;const clength=contains.length;pathiter:for(let i=length-clength;i>=0;i-=1){let dist_total=0;for(let x=0;xmaxPathEditDistance){continue pathiter}dist_total+=dist}}ret_dist=Math.min(ret_dist,Math.round(dist_total/clength))}return ret_dist>maxPathEditDistance?null:ret_dist}function typePassesFilter(filter,type){if(filter<=NO_TYPE_FILTER||filter===type)return true;const name=itemTypes[type];switch(itemTypes[filter]){case"constant":return name==="associatedconstant";case"fn":return name==="method"||name==="tymethod";case"type":return name==="primitive"||name==="associatedtype";case"trait":return name==="traitalias"}return false}function createAliasFromItem(item){return{crate:item.crate,name:item.name,path:item.path,descShard:item.descShard,descIndex:item.descIndex,exactPath:item.exactPath,ty:item.ty,parent:item.parent,type:item.type,is_alias:true,bitIndex:item.bitIndex,implDisambiguator:item.implDisambiguator,}}function handleAliases(ret,query,filterCrates,currentCrate){const lowerQuery=query.toLowerCase();const aliases=[];const crateAliases=[];if(filterCrates!==null){if(ALIASES.has(filterCrates)&&ALIASES.get(filterCrates).has(lowerQuery)){const query_aliases=ALIASES.get(filterCrates).get(lowerQuery);for(const alias of query_aliases){aliases.push(createAliasFromItem(searchIndex[alias]))}}}else{for(const[crate,crateAliasesIndex]of ALIASES){if(crateAliasesIndex.has(lowerQuery)){const pushTo=crate===currentCrate?crateAliases:aliases;const query_aliases=crateAliasesIndex.get(lowerQuery);for(const alias of query_aliases){pushTo.push(createAliasFromItem(searchIndex[alias]))}}}}const sortFunc=(aaa,bbb)=>{if(aaa.path{alias.alias=query;const res=buildHrefAndPath(alias);alias.displayPath=pathSplitter(res[0]);alias.fullPath=alias.displayPath+alias.name;alias.href=res[1];ret.others.unshift(alias);if(ret.others.length>MAX_RESULTS){ret.others.pop()}};aliases.forEach(pushFunc);crateAliases.forEach(pushFunc)}function addIntoResults(results,fullId,id,index,dist,path_dist,maxEditDistance){if(dist<=maxEditDistance||index!==-1){if(results.has(fullId)){const result=results.get(fullId);if(result.dontValidate||result.dist<=dist){return}}results.set(fullId,{id:id,index:index,dontValidate:parsedQuery.literalSearch,dist:dist,path_dist:path_dist,})}}function handleSingleArg(row,pos,elem,results_others,results_in_args,results_returned,maxEditDistance,){if(!row||(filterCrates!==null&&row.crate!==filterCrates)){return}let path_dist=0;const fullId=row.id;const tfpDist=compareTypeFingerprints(fullId,parsedQuery.typeFingerprint,);if(tfpDist!==null){const in_args=row.type&&row.type.inputs&&checkIfInList(row.type.inputs,elem,row.type.where_clause,null,0);const returned=row.type&&row.type.output&&checkIfInList(row.type.output,elem,row.type.where_clause,null,0);if(in_args){results_in_args.max_dist=Math.max(results_in_args.max_dist||0,tfpDist);const maxDist=results_in_args.sizenormalizedIndex&&normalizedIndex!==-1)){index=normalizedIndex}if(elem.fullPath.length>1){path_dist=checkPath(elem.pathWithoutLast,row);if(path_dist===null){return}}if(parsedQuery.literalSearch){if(row.word===elem.pathLast){addIntoResults(results_others,fullId,pos,index,0,path_dist)}return}const dist=editDistance(row.normalizedName,elem.normalizedPathLast,maxEditDistance);if(index===-1&&dist>maxEditDistance){return}addIntoResults(results_others,fullId,pos,index,dist,path_dist,maxEditDistance)}function handleArgs(row,pos,results){if(!row||(filterCrates!==null&&row.crate!==filterCrates)||!row.type){return}const tfpDist=compareTypeFingerprints(row.id,parsedQuery.typeFingerprint,);if(tfpDist===null){return}if(results.size>=MAX_RESULTS&&tfpDist>results.max_dist){return}if(!unifyFunctionTypes(row.type.inputs,parsedQuery.elems,row.type.where_clause,null,mgens=>{return unifyFunctionTypes(row.type.output,parsedQuery.returned,row.type.where_clause,mgens,null,0,)},0,)){return}results.max_dist=Math.max(results.max_dist||0,tfpDist);addIntoResults(results,row.id,pos,0,tfpDist,0,Number.MAX_VALUE)}function innerRunQuery(){const queryLen=parsedQuery.elems.reduce((acc,next)=>acc+next.pathLast.length,0)+parsedQuery.returned.reduce((acc,next)=>acc+next.pathLast.length,0);const maxEditDistance=Math.floor(queryLen/3);const genericSymbols=new Map();function convertNameToId(elem,isAssocType){if(typeNameIdMap.has(elem.normalizedPathLast)&&(isAssocType||!typeNameIdMap.get(elem.normalizedPathLast).assocOnly)){elem.id=typeNameIdMap.get(elem.normalizedPathLast).id}else if(!parsedQuery.literalSearch){let match=null;let matchDist=maxEditDistance+1;let matchName="";for(const[name,{id,assocOnly}]of typeNameIdMap){const dist=editDistance(name,elem.normalizedPathLast,maxEditDistance);if(dist<=matchDist&&dist<=maxEditDistance&&(isAssocType||!assocOnly)){if(dist===matchDist&&matchName>name){continue}match=id;matchDist=dist;matchName=name}}if(match!==null){parsedQuery.correction=matchName}elem.id=match}if((elem.id===null&&parsedQuery.totalElems>1&&elem.typeFilter===-1&&elem.generics.length===0&&elem.bindings.size===0)||elem.typeFilter===TY_GENERIC){if(genericSymbols.has(elem.name)){elem.id=genericSymbols.get(elem.name)}else{elem.id=-(genericSymbols.size+1);genericSymbols.set(elem.name,elem.id)}if(elem.typeFilter===-1&&elem.name.length>=3){const maxPartDistance=Math.floor(elem.name.length/3);let matchDist=maxPartDistance+1;let matchName="";for(const name of typeNameIdMap.keys()){const dist=editDistance(name,elem.name,maxPartDistance);if(dist<=matchDist&&dist<=maxPartDistance){if(dist===matchDist&&matchName>name){continue}matchDist=dist;matchName=name}}if(matchName!==""){parsedQuery.proposeCorrectionFrom=elem.name;parsedQuery.proposeCorrectionTo=matchName}}elem.typeFilter=TY_GENERIC}if(elem.generics.length>0&&elem.typeFilter===TY_GENERIC){parsedQuery.error=["Generic type parameter ",elem.name," does not accept generic parameters",]}for(const elem2 of elem.generics){convertNameToId(elem2)}elem.bindings=new Map(Array.from(elem.bindings.entries()).map(entry=>{const[name,constraints]=entry;if(!typeNameIdMap.has(name)){parsedQuery.error=["Type parameter ",name," does not exist",];return[null,[]]}for(const elem2 of constraints){convertNameToId(elem2)}return[typeNameIdMap.get(name).id,constraints]}),)}const fps=new Set();for(const elem of parsedQuery.elems){convertNameToId(elem);buildFunctionTypeFingerprint(elem,parsedQuery.typeFingerprint,fps)}for(const elem of parsedQuery.returned){convertNameToId(elem);buildFunctionTypeFingerprint(elem,parsedQuery.typeFingerprint,fps)}if(parsedQuery.foundElems===1&&parsedQuery.returned.length===0){if(parsedQuery.elems.length===1){const elem=parsedQuery.elems[0];for(let i=0,nSearchIndex=searchIndex.length;i0){const sortQ=(a,b)=>{const ag=a.generics.length===0&&a.bindings.size===0;const bg=b.generics.length===0&&b.bindings.size===0;if(ag!==bg){return ag-bg}const ai=a.id>0;const bi=b.id>0;return ai-bi};parsedQuery.elems.sort(sortQ);parsedQuery.returned.sort(sortQ);for(let i=0,nSearchIndex=searchIndex.length;i{const descs=await Promise.all(list.map(result=>{return searchIndexEmptyDesc.get(result.crate).contains(result.bitIndex)?"":searchState.loadDesc(result)}));for(const[i,result]of list.entries()){result.desc=descs[i]}}));if(parsedQuery.error!==null&&ret.others.length!==0){ret.query.error=null}return ret}function nextTab(direction){const next=(searchState.currentTab+direction+3)%searchState.focusedByTab.length;searchState.focusedByTab[searchState.currentTab]=document.activeElement;printTab(next);focusSearchResult()}function focusSearchResult(){const target=searchState.focusedByTab[searchState.currentTab]||document.querySelectorAll(".search-results.active a").item(0)||document.querySelectorAll("#search-tabs button").item(searchState.currentTab);searchState.focusedByTab[searchState.currentTab]=null;if(target){target.focus()}}function buildHrefAndPath(item){let displayPath;let href;const type=itemTypes[item.ty];const name=item.name;let path=item.path;let exactPath=item.exactPath;if(type==="mod"){displayPath=path+"::";href=ROOT_PATH+path.replace(/::/g,"/")+"/"+name+"/index.html"}else if(type==="import"){displayPath=item.path+"::";href=ROOT_PATH+item.path.replace(/::/g,"/")+"/index.html#reexport."+name}else if(type==="primitive"||type==="keyword"){displayPath="";href=ROOT_PATH+path.replace(/::/g,"/")+"/"+type+"."+name+".html"}else if(type==="externcrate"){displayPath="";href=ROOT_PATH+name+"/index.html"}else if(item.parent!==undefined){const myparent=item.parent;let anchor=type+"."+name;const parentType=itemTypes[myparent.ty];let pageType=parentType;let pageName=myparent.name;exactPath=`${myparent.exactPath}::${myparent.name}`;if(parentType==="primitive"){displayPath=myparent.name+"::"}else if(type==="structfield"&&parentType==="variant"){const enumNameIdx=item.path.lastIndexOf("::");const enumName=item.path.substr(enumNameIdx+2);path=item.path.substr(0,enumNameIdx);displayPath=path+"::"+enumName+"::"+myparent.name+"::";anchor="variant."+myparent.name+".field."+name;pageType="enum";pageName=enumName}else{displayPath=path+"::"+myparent.name+"::"}if(item.implDisambiguator!==null){anchor=item.implDisambiguator+"/"+anchor}href=ROOT_PATH+path.replace(/::/g,"/")+"/"+pageType+"."+pageName+".html#"+anchor}else{displayPath=item.path+"::";href=ROOT_PATH+item.path.replace(/::/g,"/")+"/"+type+"."+name+".html"}return[displayPath,href,`${exactPath}::${name}`]}function pathSplitter(path){const tmp=""+path.replace(/::/g,"::");if(tmp.endsWith("")){return tmp.slice(0,tmp.length-6)}return tmp}async function addTab(array,query,display){const extraClass=display?" active":"";const output=document.createElement("div");if(array.length>0){output.className="search-results "+extraClass;for(const item of array){const name=item.name;const type=itemTypes[item.ty];const longType=longItemTypes[item.ty];const typeName=longType.length!==0?`${longType}`:"?";const link=document.createElement("a");link.className="result-"+type;link.href=item.href;const resultName=document.createElement("div");resultName.className="result-name";resultName.insertAdjacentHTML("beforeend",`${typeName}`);link.appendChild(resultName);let alias=" ";if(item.is_alias){alias=`
\ +${item.alias} - see \ +
`}resultName.insertAdjacentHTML("beforeend",`
${alias}\ +${item.displayPath}${name}\ +
`);const description=document.createElement("div");description.className="desc";description.insertAdjacentHTML("beforeend",item.desc);link.appendChild(description);output.appendChild(link)}}else if(query.error===null){output.className="search-failed"+extraClass;output.innerHTML="No results :(
"+"Try on DuckDuckGo?

"+"Or try looking in one of these:"}return[output,array.length]}function makeTabHeader(tabNb,text,nbElems){const fmtNbElems=nbElems<10?`\u{2007}(${nbElems})\u{2007}\u{2007}`:nbElems<100?`\u{2007}(${nbElems})\u{2007}`:`\u{2007}(${nbElems})`;if(searchState.currentTab===tabNb){return""}return""}async function showResults(results,go_to_first,filterCrates){const search=searchState.outputElement();if(go_to_first||(results.others.length===1&&getSettingValue("go-to-only-result")==="true")){window.onunload=()=>{};searchState.removeQueryParameters();const elem=document.createElement("a");elem.href=results.others[0].href;removeClass(elem,"active");document.body.appendChild(elem);elem.click();return}if(results.query===undefined){results.query=parseQuery(searchState.input.value)}currentResults=results.query.userQuery;const[ret_others,ret_in_args,ret_returned]=await Promise.all([addTab(results.others,results.query,true),addTab(results.in_args,results.query,false),addTab(results.returned,results.query,false),]);let currentTab=searchState.currentTab;if((currentTab===0&&ret_others[1]===0)||(currentTab===1&&ret_in_args[1]===0)||(currentTab===2&&ret_returned[1]===0)){if(ret_others[1]!==0){currentTab=0}else if(ret_in_args[1]!==0){currentTab=1}else if(ret_returned[1]!==0){currentTab=2}}let crates="";if(rawSearchIndex.size>1){crates=" in 
"}let output=`

Results${crates}

`;if(results.query.error!==null){const error=results.query.error;error.forEach((value,index)=>{value=value.split("<").join("<").split(">").join(">");if(index%2!==0){error[index]=`${value.replaceAll(" ", " ")}`}else{error[index]=value}});output+=`

Query parser error: "${error.join("")}".

`;output+="
"+makeTabHeader(0,"In Names",ret_others[1])+"
";currentTab=0}else if(results.query.foundElems<=1&&results.query.returned.length===0){output+="
"+makeTabHeader(0,"In Names",ret_others[1])+makeTabHeader(1,"In Parameters",ret_in_args[1])+makeTabHeader(2,"In Return Types",ret_returned[1])+"
"}else{const signatureTabTitle=results.query.elems.length===0?"In Function Return Types":results.query.returned.length===0?"In Function Parameters":"In Function Signatures";output+="
"+makeTabHeader(0,signatureTabTitle,ret_others[1])+"
";currentTab=0}if(results.query.correction!==null){const orig=results.query.returned.length>0?results.query.returned[0].name:results.query.elems[0].name;output+="

"+`Type "${orig}" not found. `+"Showing results for closest type name "+`"${results.query.correction}" instead.

`}if(results.query.proposeCorrectionFrom!==null){const orig=results.query.proposeCorrectionFrom;const targ=results.query.proposeCorrectionTo;output+="

"+`Type "${orig}" not found and used as generic parameter. `+`Consider searching for "${targ}" instead.

`}const resultsElem=document.createElement("div");resultsElem.id="results";resultsElem.appendChild(ret_others[0]);resultsElem.appendChild(ret_in_args[0]);resultsElem.appendChild(ret_returned[0]);search.innerHTML=output;const crateSearch=document.getElementById("crate-search");if(crateSearch){crateSearch.addEventListener("input",updateCrate)}search.appendChild(resultsElem);searchState.showResults(search);const elems=document.getElementById("search-tabs").childNodes;searchState.focusedByTab=[];let i=0;for(const elem of elems){const j=i;elem.onclick=()=>printTab(j);searchState.focusedByTab.push(null);i+=1}printTab(currentTab)}function updateSearchHistory(url){if(!browserSupportsHistoryApi()){return}const params=searchState.getQueryStringParams();if(!history.state&&!params.search){history.pushState(null,"",url)}else{history.replaceState(null,"",url)}}async function search(forced){const query=parseQuery(searchState.input.value.trim());let filterCrates=getFilterCrates();if(!forced&&query.userQuery===currentResults){if(query.userQuery.length>0){putBackSearch()}return}searchState.setLoadingSearch();const params=searchState.getQueryStringParams();if(filterCrates===null&¶ms["filter-crate"]!==undefined){filterCrates=params["filter-crate"]}searchState.title="Results for "+query.original+" - Rust";updateSearchHistory(buildUrl(query.original,filterCrates));await showResults(await execQuery(query,filterCrates,window.currentCrate),params.go_to_first,filterCrates)}function buildItemSearchTypeAll(types,lowercasePaths){return types.length>0?types.map(type=>buildItemSearchType(type,lowercasePaths)):EMPTY_GENERICS_ARRAY}const EMPTY_BINDINGS_MAP=new Map();const EMPTY_GENERICS_ARRAY=[];let TYPES_POOL=new Map();function buildItemSearchType(type,lowercasePaths,isAssocType){const PATH_INDEX_DATA=0;const GENERICS_DATA=1;const BINDINGS_DATA=2;let pathIndex,generics,bindings;if(typeof type==="number"){pathIndex=type;generics=EMPTY_GENERICS_ARRAY;bindings=EMPTY_BINDINGS_MAP}else{pathIndex=type[PATH_INDEX_DATA];generics=buildItemSearchTypeAll(type[GENERICS_DATA],lowercasePaths,);if(type.length>BINDINGS_DATA&&type[BINDINGS_DATA].length>0){bindings=new Map(type[BINDINGS_DATA].map(binding=>{const[assocType,constraints]=binding;return[buildItemSearchType(assocType,lowercasePaths,true).id,buildItemSearchTypeAll(constraints,lowercasePaths),]}))}else{bindings=EMPTY_BINDINGS_MAP}}let result;if(pathIndex<0){result={id:pathIndex,ty:TY_GENERIC,path:null,exactPath:null,generics,bindings,}}else if(pathIndex===0){result={id:null,ty:null,path:null,exactPath:null,generics,bindings,}}else{const item=lowercasePaths[pathIndex-1];result={id:buildTypeMapIndex(item.name,isAssocType),ty:item.ty,path:item.path,exactPath:item.exactPath,generics,bindings,}}const cr=TYPES_POOL.get(result.id);if(cr){if(cr.generics.length===result.generics.length&&cr.generics!==result.generics&&cr.generics.every((x,i)=>result.generics[i]===x)){result.generics=cr.generics}if(cr.bindings.size===result.bindings.size&&cr.bindings!==result.bindings){let ok=true;for(const[k,v]of cr.bindings.entries()){const v2=result.bindings.get(v);if(!v2){ok=false;break}if(v!==v2&&v.length===v2.length&&v.every((x,i)=>v2[i]===x)){result.bindings.set(k,v)}else if(v!==v2){ok=false;break}}if(ok){result.bindings=cr.bindings}}if(cr.ty===result.ty&&cr.path===result.path&&cr.bindings===result.bindings&&cr.generics===result.generics&&cr.ty===result.ty){return cr}}TYPES_POOL.set(result.id,result);return result}function buildFunctionSearchTypeCallback(lowercasePaths){return functionSearchType=>{if(functionSearchType===0){return null}const INPUTS_DATA=0;const OUTPUT_DATA=1;let inputs,output;if(typeof functionSearchType[INPUTS_DATA]==="number"){inputs=[buildItemSearchType(functionSearchType[INPUTS_DATA],lowercasePaths)]}else{inputs=buildItemSearchTypeAll(functionSearchType[INPUTS_DATA],lowercasePaths,)}if(functionSearchType.length>1){if(typeof functionSearchType[OUTPUT_DATA]==="number"){output=[buildItemSearchType(functionSearchType[OUTPUT_DATA],lowercasePaths)]}else{output=buildItemSearchTypeAll(functionSearchType[OUTPUT_DATA],lowercasePaths,)}}else{output=[]}const where_clause=[];const l=functionSearchType.length;for(let i=2;i{k=(~~k+0x7ed55d16)+(k<<12);k=(k ^ 0xc761c23c)^(k>>>19);k=(~~k+0x165667b1)+(k<<5);k=(~~k+0xd3a2646c)^(k<<9);k=(~~k+0xfd7046c5)+(k<<3);return(k ^ 0xb55a4f09)^(k>>>16)};const hashint2=k=>{k=~k+(k<<15);k ^=k>>>12;k+=k<<2;k ^=k>>>4;k=Math.imul(k,2057);return k ^(k>>16)};if(input!==null){const h0a=hashint1(input);const h0b=hashint2(input);const h1a=~~(h0a+Math.imul(h0b,2));const h1b=~~(h0a+Math.imul(h0b,3));const h2a=~~(h0a+Math.imul(h0b,4));const h2b=~~(h0a+Math.imul(h0b,5));output[0]|=(1<<(h0a%32))|(1<<(h1b%32));output[1]|=(1<<(h1a%32))|(1<<(h2b%32));output[2]|=(1<<(h2a%32))|(1<<(h0b%32));fps.add(input)}for(const g of type.generics){buildFunctionTypeFingerprint(g,output,fps)}const fb={id:null,ty:0,generics:EMPTY_GENERICS_ARRAY,bindings:EMPTY_BINDINGS_MAP,};for(const[k,v]of type.bindings.entries()){fb.id=k;fb.generics=v;buildFunctionTypeFingerprint(fb,output,fps)}output[3]=fps.size}function compareTypeFingerprints(fullId,queryFingerprint){const fh0=functionTypeFingerprint[fullId*4];const fh1=functionTypeFingerprint[(fullId*4)+1];const fh2=functionTypeFingerprint[(fullId*4)+2];const[qh0,qh1,qh2]=queryFingerprint;const[in0,in1,in2]=[fh0&qh0,fh1&qh1,fh2&qh2];if((in0 ^ qh0)||(in1 ^ qh1)||(in2 ^ qh2)){return null}return functionTypeFingerprint[(fullId*4)+3]}class VlqHexDecoder{constructor(string,cons){this.string=string;this.cons=cons;this.offset=0;this.backrefQueue=[]}decodeList(){const cb="}".charCodeAt(0);let c=this.string.charCodeAt(this.offset);const ret=[];while(c!==cb){ret.push(this.decode());c=this.string.charCodeAt(this.offset)}this.offset+=1;return ret}decode(){const[ob,la]=["{","`"].map(c=>c.charCodeAt(0));let n=0;let c=this.string.charCodeAt(this.offset);if(c===ob){this.offset+=1;return this.decodeList()}while(c>1];this.offset+=1;return sign?-value:value}next(){const c=this.string.charCodeAt(this.offset);const[zero,ua,la]=["0","@","`"].map(c=>c.charCodeAt(0));if(c>=zero&&c16){this.backrefQueue.pop()}return result}}class RoaringBitmap{constructor(str){const strdecoded=atob(str);const u8array=new Uint8Array(strdecoded.length);for(let j=0;j=4){offsets=[];for(let j=0;j>3]&(1<<(j&0x7))){const runcount=(u8array[i]|(u8array[i+1]<<8));i+=2;this.containers.push(new RoaringBitmapRun(runcount,u8array.slice(i,i+(runcount*4)),));i+=runcount*4}else if(this.cardinalities[j]>=4096){this.containers.push(new RoaringBitmapBits(u8array.slice(i,i+8192)));i+=8192}else{const end=this.cardinalities[j]*2;this.containers.push(new RoaringBitmapArray(this.cardinalities[j],u8array.slice(i,i+end),));i+=end}}}contains(keyvalue){const key=keyvalue>>16;const value=keyvalue&0xFFFF;for(let i=0;i=start&&value<=(start+lenm1)){return true}}return false}}class RoaringBitmapArray{constructor(cardinality,array){this.cardinality=cardinality;this.array=array}contains(value){const l=this.cardinality*2;for(let i=0;i>3]&(1<<(value&7)))}}function buildIndex(rawSearchIndex){searchIndex=[];searchIndexDeprecated=new Map();searchIndexEmptyDesc=new Map();const charA="A".charCodeAt(0);let currentIndex=0;let id=0;for(const crate of rawSearchIndex.values()){id+=crate.t.length+1}functionTypeFingerprint=new Uint32Array((id+1)*4);id=0;for(const[crate,crateCorpus]of rawSearchIndex){const itemDescShardDecoder=new VlqHexDecoder(crateCorpus.D,noop=>noop);let descShard={crate,shard:0,start:0,len:itemDescShardDecoder.next(),promise:null,resolve:null,};const descShardList=[descShard];searchIndexDeprecated.set(crate,new RoaringBitmap(crateCorpus.c));searchIndexEmptyDesc.set(crate,new RoaringBitmap(crateCorpus.e));let descIndex=0;const crateRow={crate,ty:3,name:crate,path:"",descShard,descIndex,exactPath:"",desc:crateCorpus.doc,parent:undefined,type:null,id,word:crate,normalizedName:crate.indexOf("_")===-1?crate:crate.replace(/_/g,""),bitIndex:0,implDisambiguator:null,};id+=1;searchIndex.push(crateRow);currentIndex+=1;if(!searchIndexEmptyDesc.get(crate).contains(0)){descIndex+=1}const itemTypes=crateCorpus.t;const itemNames=crateCorpus.n;const itemPaths=new Map(crateCorpus.q);const itemReexports=new Map(crateCorpus.r);const itemParentIdxs=crateCorpus.i;const implDisambiguator=new Map(crateCorpus.b);const paths=crateCorpus.p;const aliases=crateCorpus.a;const lowercasePaths=[];const itemFunctionDecoder=new VlqHexDecoder(crateCorpus.f,buildFunctionSearchTypeCallback(lowercasePaths),);let len=paths.length;let lastPath=itemPaths.get(0);for(let i=0;i2){path=itemPaths.has(elem[2])?itemPaths.get(elem[2]):lastPath;lastPath=path}const exactPath=elem.length>3?itemPaths.get(elem[3]):path;lowercasePaths.push({ty,name:name.toLowerCase(),path,exactPath});paths[i]={ty,name,path,exactPath}}lastPath="";len=itemTypes.length;for(let i=0;i=descShard.len&&!searchIndexEmptyDesc.get(crate).contains(bitIndex)){descShard={crate,shard:descShard.shard+1,start:descShard.start+descShard.len,len:itemDescShardDecoder.next(),promise:null,resolve:null,};descIndex=0;descShardList.push(descShard)}let word="";if(typeof itemNames[i]==="string"){word=itemNames[i].toLowerCase()}const path=itemPaths.has(i)?itemPaths.get(i):lastPath;const type=itemFunctionDecoder.next();if(type!==null){if(type){const fp=functionTypeFingerprint.subarray(id*4,(id+1)*4);const fps=new Set();for(const t of type.inputs){buildFunctionTypeFingerprint(t,fp,fps)}for(const t of type.output){buildFunctionTypeFingerprint(t,fp,fps)}for(const w of type.where_clause){for(const t of w){buildFunctionTypeFingerprint(t,fp,fps)}}}}const row={crate,ty:itemTypes.charCodeAt(i)-charA,name:itemNames[i],path,descShard,descIndex,exactPath:itemReexports.has(i)?itemPaths.get(itemReexports.get(i)):path,parent:itemParentIdxs[i]>0?paths[itemParentIdxs[i]-1]:undefined,type,id,word,normalizedName:word.indexOf("_")===-1?word:word.replace(/_/g,""),bitIndex,implDisambiguator:implDisambiguator.has(i)?implDisambiguator.get(i):null,};id+=1;searchIndex.push(row);lastPath=row.path;if(!searchIndexEmptyDesc.get(crate).contains(bitIndex)){descIndex+=1}}if(aliases){const currentCrateAliases=new Map();ALIASES.set(crate,currentCrateAliases);for(const alias_name in aliases){if(!Object.prototype.hasOwnProperty.call(aliases,alias_name)){continue}let currentNameAliases;if(currentCrateAliases.has(alias_name)){currentNameAliases=currentCrateAliases.get(alias_name)}else{currentNameAliases=[];currentCrateAliases.set(alias_name,currentNameAliases)}for(const local_alias of aliases[alias_name]){currentNameAliases.push(local_alias+currentIndex)}}}currentIndex+=itemTypes.length;searchState.descShards.set(crate,descShardList)}TYPES_POOL=new Map()}function onSearchSubmit(e){e.preventDefault();searchState.clearInputTimeout();search()}function putBackSearch(){const search_input=searchState.input;if(!searchState.input){return}if(search_input.value!==""&&!searchState.isDisplayed()){searchState.showResults();if(browserSupportsHistoryApi()){history.replaceState(null,"",buildUrl(search_input.value,getFilterCrates()))}document.title=searchState.title}}function registerSearchEvents(){const params=searchState.getQueryStringParams();if(searchState.input.value===""){searchState.input.value=params.search||""}const searchAfter500ms=()=>{searchState.clearInputTimeout();if(searchState.input.value.length===0){searchState.hideResults()}else{searchState.timeout=setTimeout(search,500)}};searchState.input.onkeyup=searchAfter500ms;searchState.input.oninput=searchAfter500ms;document.getElementsByClassName("search-form")[0].onsubmit=onSearchSubmit;searchState.input.onchange=e=>{if(e.target!==document.activeElement){return}searchState.clearInputTimeout();setTimeout(search,0)};searchState.input.onpaste=searchState.input.onchange;searchState.outputElement().addEventListener("keydown",e=>{if(e.altKey||e.ctrlKey||e.shiftKey||e.metaKey){return}if(e.which===38){const previous=document.activeElement.previousElementSibling;if(previous){previous.focus()}else{searchState.focus()}e.preventDefault()}else if(e.which===40){const next=document.activeElement.nextElementSibling;if(next){next.focus()}const rect=document.activeElement.getBoundingClientRect();if(window.innerHeight-rect.bottom{if(e.which===40){focusSearchResult();e.preventDefault()}});searchState.input.addEventListener("focus",()=>{putBackSearch()});searchState.input.addEventListener("blur",()=>{searchState.input.placeholder=searchState.input.origPlaceholder});if(browserSupportsHistoryApi()){const previousTitle=document.title;window.addEventListener("popstate",e=>{const params=searchState.getQueryStringParams();document.title=previousTitle;currentResults=null;if(params.search&¶ms.search.length>0){searchState.input.value=params.search;e.preventDefault();search()}else{searchState.input.value="";searchState.hideResults()}})}window.onpageshow=()=>{const qSearch=searchState.getQueryStringParams().search;if(searchState.input.value===""&&qSearch){searchState.input.value=qSearch}search()}}function updateCrate(ev){if(ev.target.value==="all crates"){const query=searchState.input.value.trim();updateSearchHistory(buildUrl(query,null))}currentResults=null;search(true)}buildIndex(rawSearchIndex);if(typeof window!=="undefined"){registerSearchEvents();if(window.searchState.getQueryStringParams().search){search()}}if(typeof exports!=="undefined"){exports.initSearch=initSearch;exports.execQuery=execQuery;exports.parseQuery=parseQuery}}if(typeof window!=="undefined"){window.initSearch=initSearch;if(window.searchIndex!==undefined){initSearch(window.searchIndex)}}else{initSearch(new Map())}})() \ No newline at end of file diff --git a/static.files/search-ffac13a0df2b1870.js b/static.files/search-ffac13a0df2b1870.js deleted file mode 100644 index 38185d9ed..000000000 --- a/static.files/search-ffac13a0df2b1870.js +++ /dev/null @@ -1,5 +0,0 @@ -"use strict";if(!Array.prototype.toSpliced){Array.prototype.toSpliced=function(){const me=this.slice();Array.prototype.splice.apply(me,arguments);return me}}(function(){const itemTypes=["keyword","primitive","mod","externcrate","import","struct","enum","fn","type","static","trait","impl","tymethod","method","structfield","variant","macro","associatedtype","constant","associatedconstant","union","foreigntype","existential","attr","derive","traitalias","generic",];const longItemTypes=["keyword","primitive type","module","extern crate","re-export","struct","enum","function","type alias","static","trait","","trait method","method","struct field","enum variant","macro","assoc type","constant","assoc const","union","foreign type","existential type","attribute macro","derive macro","trait alias",];const TY_GENERIC=itemTypes.indexOf("generic");const ROOT_PATH=typeof window!=="undefined"?window.rootPath:"../";const UNBOXING_LIMIT=5;function printTab(nb){let iter=0;let foundCurrentTab=false;let foundCurrentResultSet=false;onEachLazy(document.getElementById("search-tabs").childNodes,elem=>{if(nb===iter){addClass(elem,"selected");foundCurrentTab=true}else{removeClass(elem,"selected")}iter+=1});const isTypeSearch=(nb>0||iter===1);iter=0;onEachLazy(document.getElementById("results").childNodes,elem=>{if(nb===iter){addClass(elem,"active");foundCurrentResultSet=true}else{removeClass(elem,"active")}iter+=1});if(foundCurrentTab&&foundCurrentResultSet){searchState.currentTab=nb;const correctionsElem=document.getElementsByClassName("search-corrections");if(isTypeSearch){removeClass(correctionsElem[0],"hidden")}else{addClass(correctionsElem[0],"hidden")}}else if(nb!==0){printTab(0)}}const editDistanceState={current:[],prev:[],prevPrev:[],calculate:function calculate(a,b,limit){if(a.lengthlimit){return limit+1}while(b.length>0&&b[0]===a[0]){a=a.substring(1);b=b.substring(1)}while(b.length>0&&b[b.length-1]===a[a.length-1]){a=a.substring(0,a.length-1);b=b.substring(0,b.length-1)}if(b.length===0){return minDist}const aLength=a.length;const bLength=b.length;for(let i=0;i<=bLength;++i){this.current[i]=0;this.prev[i]=i;this.prevPrev[i]=Number.MAX_VALUE}for(let i=1;i<=aLength;++i){this.current[0]=i;const aIdx=i-1;for(let j=1;j<=bLength;++j){const bIdx=j-1;const substitutionCost=a[aIdx]===b[bIdx]?0:1;this.current[j]=Math.min(this.prev[j]+1,this.current[j-1]+1,this.prev[j-1]+substitutionCost,);if((i>1)&&(j>1)&&(a[aIdx]===b[bIdx-1])&&(a[aIdx-1]===b[bIdx])){this.current[j]=Math.min(this.current[j],this.prevPrev[j-2]+1,)}}const prevPrevTmp=this.prevPrev;this.prevPrev=this.prev;this.prev=this.current;this.current=prevPrevTmp}const distance=this.prev[bLength];return distance<=limit?distance:(limit+1)},};function editDistance(a,b,limit){return editDistanceState.calculate(a,b,limit)}function initSearch(rawSearchIndex){const MAX_RESULTS=200;const NO_TYPE_FILTER=-1;let searchIndex;let searchIndexDeprecated;let searchIndexEmptyDesc;let functionTypeFingerprint;let currentResults;const typeNameIdMap=new Map();const ALIASES=new Map();const typeNameIdOfArray=buildTypeMapIndex("array");const typeNameIdOfSlice=buildTypeMapIndex("slice");const typeNameIdOfArrayOrSlice=buildTypeMapIndex("[]");const typeNameIdOfTuple=buildTypeMapIndex("tuple");const typeNameIdOfUnit=buildTypeMapIndex("unit");const typeNameIdOfTupleOrUnit=buildTypeMapIndex("()");const typeNameIdOfFn=buildTypeMapIndex("fn");const typeNameIdOfFnMut=buildTypeMapIndex("fnmut");const typeNameIdOfFnOnce=buildTypeMapIndex("fnonce");const typeNameIdOfHof=buildTypeMapIndex("->");function buildTypeMapIndex(name,isAssocType){if(name===""||name===null){return null}if(typeNameIdMap.has(name)){const obj=typeNameIdMap.get(name);obj.assocOnly=isAssocType&&obj.assocOnly;return obj.id}else{const id=typeNameIdMap.size;typeNameIdMap.set(name,{id,assocOnly:isAssocType});return id}}function isSpecialStartCharacter(c){return"<\"".indexOf(c)!==-1}function isEndCharacter(c){return"=,>-])".indexOf(c)!==-1}function itemTypeFromName(typename){const index=itemTypes.findIndex(i=>i===typename);if(index<0){throw["Unknown type filter ",typename]}return index}function getStringElem(query,parserState,isInGenerics){if(isInGenerics){throw["Unexpected ","\""," in generics"]}else if(query.literalSearch){throw["Cannot have more than one literal search element"]}else if(parserState.totalElems-parserState.genericsElems>0){throw["Cannot use literal search when there is more than one element"]}parserState.pos+=1;const start=parserState.pos;const end=getIdentEndPosition(parserState);if(parserState.pos>=parserState.length){throw["Unclosed ","\""]}else if(parserState.userQuery[end]!=="\""){throw["Unexpected ",parserState.userQuery[end]," in a string element"]}else if(start===end){throw["Cannot have empty string element"]}parserState.pos+=1;query.literalSearch=true}function isPathStart(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)==="::"}function isReturnArrow(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)==="->"}function isIdentCharacter(c){return(c==="_"||(c>="0"&&c<="9")||(c>="a"&&c<="z")||(c>="A"&&c<="Z"))}function isSeparatorCharacter(c){return c===","||c==="="}function isPathSeparator(c){return c===":"||c===" "}function prevIs(parserState,lookingFor){let pos=parserState.pos;while(pos>0){const c=parserState.userQuery[pos-1];if(c===lookingFor){return true}else if(c!==" "){break}pos-=1}return false}function isLastElemGeneric(elems,parserState){return(elems.length>0&&elems[elems.length-1].generics.length>0)||prevIs(parserState,">")}function skipWhitespace(parserState){while(parserState.pos0){throw["Cannot have more than one element if you use quotes"]}const typeFilter=parserState.typeFilter;parserState.typeFilter=null;if(name==="!"){if(typeFilter!==null&&typeFilter!=="primitive"){throw["Invalid search type: primitive never type ","!"," and ",typeFilter," both specified",]}if(generics.length!==0){throw["Never type ","!"," does not accept generic parameters",]}const bindingName=parserState.isInBinding;parserState.isInBinding=null;return makePrimitiveElement("never",{bindingName})}const quadcolon=/::\s*::/.exec(path);if(path.startsWith("::")){throw["Paths cannot start with ","::"]}else if(path.endsWith("::")){throw["Paths cannot end with ","::"]}else if(quadcolon!==null){throw["Unexpected ",quadcolon[0]]}const pathSegments=path.split(/(?:::\s*)|(?:\s+(?:::\s*)?)/);if(pathSegments.length===0||(pathSegments.length===1&&pathSegments[0]==="")){if(generics.length>0||prevIs(parserState,">")){throw["Found generics without a path"]}else{throw["Unexpected ",parserState.userQuery[parserState.pos]]}}for(const[i,pathSegment]of pathSegments.entries()){if(pathSegment==="!"){if(i!==0){throw["Never type ","!"," is not associated item"]}pathSegments[i]="never"}}parserState.totalElems+=1;if(isInGenerics){parserState.genericsElems+=1}const bindingName=parserState.isInBinding;parserState.isInBinding=null;const bindings=new Map();const pathLast=pathSegments[pathSegments.length-1];return{name:name.trim(),id:null,fullPath:pathSegments,pathWithoutLast:pathSegments.slice(0,pathSegments.length-1),pathLast,normalizedPathLast:pathLast.replace(/_/g,""),generics:generics.filter(gen=>{if(gen.bindingName!==null){if(gen.name!==null){gen.bindingName.generics.unshift(gen)}bindings.set(gen.bindingName.name,gen.bindingName.generics);return false}return true}),bindings,typeFilter,bindingName,}}function getIdentEndPosition(parserState){const start=parserState.pos;let end=parserState.pos;let foundExclamation=-1;while(parserState.pos0){throw["Unexpected ",c," after ",parserState.userQuery[parserState.pos-1]]}else{throw["Unexpected ",c]}}parserState.pos+=1;end=parserState.pos}if(foundExclamation!==-1&&foundExclamation!==start&&isIdentCharacter(parserState.userQuery[foundExclamation-1])){if(parserState.typeFilter===null){parserState.typeFilter="macro"}else if(parserState.typeFilter!=="macro"){throw["Invalid search type: macro ","!"," and ",parserState.typeFilter," both specified",]}end=foundExclamation}return end}function getFilteredNextElem(query,parserState,elems,isInGenerics){const start=parserState.pos;if(parserState.userQuery[parserState.pos]===":"&&!isPathStart(parserState)){throw["Expected type filter before ",":"]}getNextElem(query,parserState,elems,isInGenerics);if(parserState.userQuery[parserState.pos]===":"&&!isPathStart(parserState)){if(parserState.typeFilter!==null){throw["Unexpected ",":"," (expected path after type filter ",parserState.typeFilter+":",")",]}if(elems.length===0){throw["Expected type filter before ",":"]}else if(query.literalSearch){throw["Cannot use quotes on type filter"]}const typeFilterElem=elems.pop();checkExtraTypeFilterCharacters(start,parserState);parserState.typeFilter=typeFilterElem.name;parserState.pos+=1;parserState.totalElems-=1;query.literalSearch=false;getNextElem(query,parserState,elems,isInGenerics)}}function getNextElem(query,parserState,elems,isInGenerics){const generics=[];skipWhitespace(parserState);let start=parserState.pos;let end;if("[(".indexOf(parserState.userQuery[parserState.pos])!==-1){let endChar=")";let name="()";let friendlyName="tuple";if(parserState.userQuery[parserState.pos]==="["){endChar="]";name="[]";friendlyName="slice"}parserState.pos+=1;const{foundSeparator}=getItemsBefore(query,parserState,generics,endChar);const typeFilter=parserState.typeFilter;const bindingName=parserState.isInBinding;parserState.typeFilter=null;parserState.isInBinding=null;for(const gen of generics){if(gen.bindingName!==null){throw["Type parameter ","=",` cannot be within ${friendlyName} `,name]}}if(name==="()"&&!foundSeparator&&generics.length===1&&typeFilter===null){elems.push(generics[0])}else if(name==="()"&&generics.length===1&&generics[0].name==="->"){generics[0].typeFilter=typeFilter;elems.push(generics[0])}else{if(typeFilter!==null&&typeFilter!=="primitive"){throw["Invalid search type: primitive ",name," and ",typeFilter," both specified",]}parserState.totalElems+=1;if(isInGenerics){parserState.genericsElems+=1}elems.push(makePrimitiveElement(name,{bindingName,generics}))}}else{const isStringElem=parserState.userQuery[start]==="\"";if(isStringElem){start+=1;getStringElem(query,parserState,isInGenerics);end=parserState.pos-1}else{end=getIdentEndPosition(parserState)}if(parserState.pos=end){throw["Found generics without a path"]}parserState.pos+=1;getItemsBefore(query,parserState,generics,">")}else if(parserState.pos=end){throw["Found generics without a path"]}if(parserState.isInBinding){throw["Unexpected ","("," after ","="]}parserState.pos+=1;const typeFilter=parserState.typeFilter;parserState.typeFilter=null;getItemsBefore(query,parserState,generics,")");skipWhitespace(parserState);if(isReturnArrow(parserState)){parserState.pos+=2;skipWhitespace(parserState);getFilteredNextElem(query,parserState,generics,isInGenerics);generics[generics.length-1].bindingName=makePrimitiveElement("output")}else{generics.push(makePrimitiveElement(null,{bindingName:makePrimitiveElement("output"),typeFilter:null,}))}parserState.typeFilter=typeFilter}if(isStringElem){skipWhitespace(parserState)}if(start>=end&&generics.length===0){return}if(parserState.userQuery[parserState.pos]==="="){if(parserState.isInBinding){throw["Cannot write ","="," twice in a binding"]}if(!isInGenerics){throw["Type parameter ","="," must be within generics list"]}const name=parserState.userQuery.slice(start,end).trim();if(name==="!"){throw["Type parameter ","="," key cannot be ","!"," never type"]}if(name.includes("!")){throw["Type parameter ","="," key cannot be ","!"," macro"]}if(name.includes("::")){throw["Type parameter ","="," key cannot contain ","::"," path"]}if(name.includes(":")){throw["Type parameter ","="," key cannot contain ",":"," type"]}parserState.isInBinding={name,generics}}else{elems.push(createQueryElement(query,parserState,parserState.userQuery.slice(start,end),generics,isInGenerics,),)}}}function getItemsBefore(query,parserState,elems,endChar){let foundStopChar=true;let foundSeparator=false;const oldTypeFilter=parserState.typeFilter;parserState.typeFilter=null;const oldIsInBinding=parserState.isInBinding;parserState.isInBinding=null;let hofParameters=null;let extra="";if(endChar===">"){extra="<"}else if(endChar==="]"){extra="["}else if(endChar===")"){extra="("}else if(endChar===""){extra="->"}else{extra=endChar}while(parserState.pos"," after ","="]}hofParameters=[...elems];elems.length=0;parserState.pos+=2;foundStopChar=true;foundSeparator=false;continue}else if(c===" "){parserState.pos+=1;continue}else if(isSeparatorCharacter(c)){parserState.pos+=1;foundStopChar=true;foundSeparator=true;continue}else if(c===":"&&isPathStart(parserState)){throw["Unexpected ","::",": paths cannot start with ","::"]}else if(isEndCharacter(c)){throw["Unexpected ",c," after ",extra]}if(!foundStopChar){let extra=[];if(isLastElemGeneric(query.elems,parserState)){extra=[" after ",">"]}else if(prevIs(parserState,"\"")){throw["Cannot have more than one element if you use quotes"]}if(endChar!==""){throw["Expected ",",",", ","=",", or ",endChar,...extra,", found ",c,]}throw["Expected ",","," or ","=",...extra,", found ",c,]}const posBefore=parserState.pos;getFilteredNextElem(query,parserState,elems,endChar!=="");if(endChar!==""&&parserState.pos>=parserState.length){throw["Unclosed ",extra]}if(posBefore===parserState.pos){parserState.pos+=1}foundStopChar=false}if(parserState.pos>=parserState.length&&endChar!==""){throw["Unclosed ",extra]}parserState.pos+=1;if(hofParameters){foundSeparator=false;if([...elems,...hofParameters].some(x=>x.bindingName)||parserState.isInBinding){throw["Unexpected ","="," within ","->"]}const hofElem=makePrimitiveElement("->",{generics:hofParameters,bindings:new Map([["output",[...elems]]]),typeFilter:null,});elems.length=0;elems[0]=hofElem}parserState.typeFilter=oldTypeFilter;parserState.isInBinding=oldIsInBinding;return{foundSeparator}}function checkExtraTypeFilterCharacters(start,parserState){const query=parserState.userQuery.slice(start,parserState.pos).trim();for(const c in query){if(!isIdentCharacter(query[c])){throw["Unexpected ",query[c]," in type filter (before ",":",")",]}}}function parseInput(query,parserState){let foundStopChar=true;while(parserState.pos"){if(isReturnArrow(parserState)){break}throw["Unexpected ",c," (did you mean ","->","?)"]}else if(parserState.pos>0){throw["Unexpected ",c," after ",parserState.userQuery[parserState.pos-1]]}throw["Unexpected ",c]}else if(c===" "){skipWhitespace(parserState);continue}if(!foundStopChar){let extra="";if(isLastElemGeneric(query.elems,parserState)){extra=[" after ",">"]}else if(prevIs(parserState,"\"")){throw["Cannot have more than one element if you use quotes"]}if(parserState.typeFilter!==null){throw["Expected ",","," or ","->",...extra,", found ",c,]}throw["Expected ",",",", ",":"," or ","->",...extra,", found ",c,]}const before=query.elems.length;getFilteredNextElem(query,parserState,query.elems,false);if(query.elems.length===before){parserState.pos+=1}foundStopChar=false}if(parserState.typeFilter!==null){throw["Unexpected ",":"," (expected path after type filter ",parserState.typeFilter+":",")",]}while(parserState.pos"]}break}else{parserState.pos+=1}}}function newParsedQuery(userQuery){return{original:userQuery,userQuery:userQuery.toLowerCase(),elems:[],returned:[],foundElems:0,totalElems:0,literalSearch:false,error:null,correction:null,proposeCorrectionFrom:null,proposeCorrectionTo:null,typeFingerprint:new Uint32Array(4),}}function buildUrl(search,filterCrates){let extra="?search="+encodeURIComponent(search);if(filterCrates!==null){extra+="&filter-crate="+encodeURIComponent(filterCrates)}return getNakedUrl()+extra+window.location.hash}function getFilterCrates(){const elem=document.getElementById("crate-search");if(elem&&elem.value!=="all crates"&&rawSearchIndex.has(elem.value)){return elem.value}return null}function parseQuery(userQuery){function convertTypeFilterOnElem(elem){if(elem.typeFilter!==null){let typeFilter=elem.typeFilter;if(typeFilter==="const"){typeFilter="constant"}elem.typeFilter=itemTypeFromName(typeFilter)}else{elem.typeFilter=NO_TYPE_FILTER}for(const elem2 of elem.generics){convertTypeFilterOnElem(elem2)}for(const constraints of elem.bindings.values()){for(const constraint of constraints){convertTypeFilterOnElem(constraint)}}}userQuery=userQuery.trim().replace(/\r|\n|\t/g," ");const parserState={length:userQuery.length,pos:0,totalElems:0,genericsElems:0,typeFilter:null,isInBinding:null,userQuery:userQuery.toLowerCase(),};let query=newParsedQuery(userQuery);try{parseInput(query,parserState);for(const elem of query.elems){convertTypeFilterOnElem(elem)}for(const elem of query.returned){convertTypeFilterOnElem(elem)}}catch(err){query=newParsedQuery(userQuery);query.error=err;return query}if(!query.literalSearch){query.literalSearch=parserState.totalElems>1}query.foundElems=query.elems.length+query.returned.length;query.totalElems=parserState.totalElems;return query}function createQueryResults(results_in_args,results_returned,results_others,parsedQuery){return{"in_args":results_in_args,"returned":results_returned,"others":results_others,"query":parsedQuery,}}async function execQuery(parsedQuery,filterCrates,currentCrate){const results_others=new Map(),results_in_args=new Map(),results_returned=new Map();function transformResults(results){const duplicates=new Set();const out=[];for(const result of results){if(result.id!==-1){const obj=searchIndex[result.id];obj.dist=result.dist;const res=buildHrefAndPath(obj);obj.displayPath=pathSplitter(res[0]);obj.fullPath=obj.displayPath+obj.name;obj.fullPath+="|"+obj.ty;if(duplicates.has(obj.fullPath)){continue}duplicates.add(obj.fullPath);obj.href=res[1];out.push(obj);if(out.length>=MAX_RESULTS){break}}}return out}async function sortResults(results,isType,preferredCrate){const userQuery=parsedQuery.userQuery;const result_list=[];for(const result of results.values()){result.item=searchIndex[result.id];result.word=searchIndex[result.id].word;result_list.push(result)}result_list.sort((aaa,bbb)=>{let a,b;a=(aaa.word!==userQuery);b=(bbb.word!==userQuery);if(a!==b){return a-b}a=(aaa.index<0);b=(bbb.index<0);if(a!==b){return a-b}a=aaa.path_dist;b=bbb.path_dist;if(a!==b){return a-b}a=aaa.index;b=bbb.index;if(a!==b){return a-b}a=(aaa.dist);b=(bbb.dist);if(a!==b){return a-b}a=searchIndexDeprecated.get(aaa.item.crate).contains(aaa.item.bitIndex);b=searchIndexDeprecated.get(bbb.item.crate).contains(bbb.item.bitIndex);if(a!==b){return a-b}a=(aaa.item.crate!==preferredCrate);b=(bbb.item.crate!==preferredCrate);if(a!==b){return a-b}a=aaa.word.length;b=bbb.word.length;if(a!==b){return a-b}a=aaa.word;b=bbb.word;if(a!==b){return(a>b?+1:-1)}a=searchIndexEmptyDesc.get(aaa.item.crate).contains(aaa.item.bitIndex);b=searchIndexEmptyDesc.get(bbb.item.crate).contains(bbb.item.bitIndex);if(a!==b){return a-b}a=aaa.item.ty;b=bbb.item.ty;if(a!==b){return a-b}a=aaa.item.path;b=bbb.item.path;if(a!==b){return(a>b?+1:-1)}return 0});const transformed=transformResults(result_list);const descs=await Promise.all(transformed.map(result=>{return searchIndexEmptyDesc.get(result.crate).contains(result.bitIndex)?"":searchState.loadDesc(result)}));for(const[i,result]of transformed.entries()){result.desc=descs[i]}return transformed}function unifyFunctionTypes(fnTypesIn,queryElems,whereClause,mgensIn,solutionCb,unboxingDepth,){if(unboxingDepth>=UNBOXING_LIMIT){return false}const mgens=mgensIn===null?null:new Map(mgensIn);if(queryElems.length===0){return!solutionCb||solutionCb(mgens)}if(!fnTypesIn||fnTypesIn.length===0){return false}const ql=queryElems.length;const fl=fnTypesIn.length;if(ql===1&&queryElems[0].generics.length===0&&queryElems[0].bindings.size===0){const queryElem=queryElems[0];for(const fnType of fnTypesIn){if(!unifyFunctionTypeIsMatchCandidate(fnType,queryElem,mgens)){continue}if(fnType.id<0&&queryElem.id<0){if(mgens&&mgens.has(fnType.id)&&mgens.get(fnType.id)!==queryElem.id){continue}const mgensScratch=new Map(mgens);mgensScratch.set(fnType.id,queryElem.id);if(!solutionCb||solutionCb(mgensScratch)){return true}}else if(!solutionCb||solutionCb(mgens?new Map(mgens):null)){return true}}for(const fnType of fnTypesIn){if(!unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens,unboxingDepth+1,)){continue}if(fnType.id<0){if(mgens&&mgens.has(fnType.id)&&mgens.get(fnType.id)!==0){continue}const mgensScratch=new Map(mgens);mgensScratch.set(fnType.id,0);if(unifyFunctionTypes(whereClause[(-fnType.id)-1],queryElems,whereClause,mgensScratch,solutionCb,unboxingDepth+1,)){return true}}else if(unifyFunctionTypes([...fnType.generics,...Array.from(fnType.bindings.values()).flat()],queryElems,whereClause,mgens?new Map(mgens):null,solutionCb,unboxingDepth+1,)){return true}}return false}const fnTypes=fnTypesIn.slice();const flast=fl-1;const qlast=ql-1;const queryElem=queryElems[qlast];let queryElemsTmp=null;for(let i=flast;i>=0;i-=1){const fnType=fnTypes[i];if(!unifyFunctionTypeIsMatchCandidate(fnType,queryElem,mgens)){continue}let mgensScratch;if(fnType.id<0){mgensScratch=new Map(mgens);if(mgensScratch.has(fnType.id)&&mgensScratch.get(fnType.id)!==queryElem.id){continue}mgensScratch.set(fnType.id,queryElem.id)}else{mgensScratch=mgens}fnTypes[i]=fnTypes[flast];fnTypes.length=flast;if(!queryElemsTmp){queryElemsTmp=queryElems.slice(0,qlast)}const passesUnification=unifyFunctionTypes(fnTypes,queryElemsTmp,whereClause,mgensScratch,mgensScratch=>{if(fnType.generics.length===0&&queryElem.generics.length===0&&fnType.bindings.size===0&&queryElem.bindings.size===0){return!solutionCb||solutionCb(mgensScratch)}const solution=unifyFunctionTypeCheckBindings(fnType,queryElem,whereClause,mgensScratch,unboxingDepth,);if(!solution){return false}const simplifiedGenerics=solution.simplifiedGenerics;for(const simplifiedMgens of solution.mgens){const passesUnification=unifyFunctionTypes(simplifiedGenerics,queryElem.generics,whereClause,simplifiedMgens,solutionCb,unboxingDepth,);if(passesUnification){return true}}return false},unboxingDepth,);if(passesUnification){return true}fnTypes[flast]=fnTypes[i];fnTypes[i]=fnType;fnTypes.length=fl}for(let i=flast;i>=0;i-=1){const fnType=fnTypes[i];if(!unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens,unboxingDepth+1,)){continue}let mgensScratch;if(fnType.id<0){mgensScratch=new Map(mgens);if(mgensScratch.has(fnType.id)&&mgensScratch.get(fnType.id)!==0){continue}mgensScratch.set(fnType.id,0)}else{mgensScratch=mgens}const generics=fnType.id<0?whereClause[(-fnType.id)-1]:fnType.generics;const bindings=fnType.bindings?Array.from(fnType.bindings.values()).flat():[];const passesUnification=unifyFunctionTypes(fnTypes.toSpliced(i,1,...generics,...bindings),queryElems,whereClause,mgensScratch,solutionCb,unboxingDepth+1,);if(passesUnification){return true}}return false}function unifyFunctionTypeIsMatchCandidate(fnType,queryElem,mgensIn){if(!typePassesFilter(queryElem.typeFilter,fnType.ty)){return false}if(fnType.id<0&&queryElem.id<0){if(mgensIn){if(mgensIn.has(fnType.id)&&mgensIn.get(fnType.id)!==queryElem.id){return false}for(const[fid,qid]of mgensIn.entries()){if(fnType.id!==fid&&queryElem.id===qid){return false}if(fnType.id===fid&&queryElem.id!==qid){return false}}}return true}else{if(queryElem.id===typeNameIdOfArrayOrSlice&&(fnType.id===typeNameIdOfSlice||fnType.id===typeNameIdOfArray)){}else if(queryElem.id===typeNameIdOfTupleOrUnit&&(fnType.id===typeNameIdOfTuple||fnType.id===typeNameIdOfUnit)){}else if(queryElem.id===typeNameIdOfHof&&(fnType.id===typeNameIdOfFn||fnType.id===typeNameIdOfFnMut||fnType.id===typeNameIdOfFnOnce)){}else if(fnType.id!==queryElem.id||queryElem.id===null){return false}if((fnType.generics.length+fnType.bindings.size)===0&&queryElem.generics.length!==0){return false}if(fnType.bindings.size0){const fnTypePath=fnType.path!==undefined&&fnType.path!==null?fnType.path.split("::"):[];if(queryElemPathLength>fnTypePath.length){return false}let i=0;for(const path of fnTypePath){if(path===queryElem.pathWithoutLast[i]){i+=1;if(i>=queryElemPathLength){break}}}if(i0){let mgensSolutionSet=[mgensIn];for(const[name,constraints]of queryElem.bindings.entries()){if(mgensSolutionSet.length===0){return false}if(!fnType.bindings.has(name)){return false}const fnTypeBindings=fnType.bindings.get(name);mgensSolutionSet=mgensSolutionSet.flatMap(mgens=>{const newSolutions=[];unifyFunctionTypes(fnTypeBindings,constraints,whereClause,mgens,newMgens=>{newSolutions.push(newMgens);return false},unboxingDepth,);return newSolutions})}if(mgensSolutionSet.length===0){return false}const binds=Array.from(fnType.bindings.entries()).flatMap(entry=>{const[name,constraints]=entry;if(queryElem.bindings.has(name)){return[]}else{return constraints}});if(simplifiedGenerics.length>0){simplifiedGenerics=[...simplifiedGenerics,...binds]}else{simplifiedGenerics=binds}return{simplifiedGenerics,mgens:mgensSolutionSet}}return{simplifiedGenerics,mgens:[mgensIn]}}function unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens,unboxingDepth,){if(unboxingDepth>=UNBOXING_LIMIT){return false}if(fnType.id<0&&queryElem.id>=0){if(!whereClause){return false}if(mgens&&mgens.has(fnType.id)&&mgens.get(fnType.id)!==0){return false}const mgensTmp=new Map(mgens);mgensTmp.set(fnType.id,null);return checkIfInList(whereClause[(-fnType.id)-1],queryElem,whereClause,mgensTmp,unboxingDepth,)}else if(fnType.generics.length>0||fnType.bindings.size>0){const simplifiedGenerics=[...fnType.generics,...Array.from(fnType.bindings.values()).flat(),];return checkIfInList(simplifiedGenerics,queryElem,whereClause,mgens,unboxingDepth,)}return false}function checkIfInList(list,elem,whereClause,mgens,unboxingDepth){for(const entry of list){if(checkType(entry,elem,whereClause,mgens,unboxingDepth)){return true}}return false}function checkType(row,elem,whereClause,mgens,unboxingDepth){if(unboxingDepth>=UNBOXING_LIMIT){return false}if(row.bindings.size===0&&elem.bindings.size===0){if(elem.id<0&&mgens===null){return row.id<0||checkIfInList(row.generics,elem,whereClause,mgens,unboxingDepth+1,)}if(row.id>0&&elem.id>0&&elem.pathWithoutLast.length===0&&typePassesFilter(elem.typeFilter,row.ty)&&elem.generics.length===0&&elem.id!==typeNameIdOfArrayOrSlice&&elem.id!==typeNameIdOfTupleOrUnit&&elem.id!==typeNameIdOfHof){return row.id===elem.id||checkIfInList(row.generics,elem,whereClause,mgens,unboxingDepth,)}}return unifyFunctionTypes([row],[elem],whereClause,mgens,null,unboxingDepth)}function checkPath(contains,ty){if(contains.length===0){return 0}const maxPathEditDistance=Math.floor(contains.reduce((acc,next)=>acc+next.length,0)/3,);let ret_dist=maxPathEditDistance+1;const path=ty.path.split("::");if(ty.parent&&ty.parent.name){path.push(ty.parent.name.toLowerCase())}const length=path.length;const clength=contains.length;pathiter:for(let i=length-clength;i>=0;i-=1){let dist_total=0;for(let x=0;xmaxPathEditDistance){continue pathiter}dist_total+=dist}}ret_dist=Math.min(ret_dist,Math.round(dist_total/clength))}return ret_dist>maxPathEditDistance?null:ret_dist}function typePassesFilter(filter,type){if(filter<=NO_TYPE_FILTER||filter===type)return true;const name=itemTypes[type];switch(itemTypes[filter]){case"constant":return name==="associatedconstant";case"fn":return name==="method"||name==="tymethod";case"type":return name==="primitive"||name==="associatedtype";case"trait":return name==="traitalias"}return false}function createAliasFromItem(item){return{crate:item.crate,name:item.name,path:item.path,descShard:item.descShard,descIndex:item.descIndex,ty:item.ty,parent:item.parent,type:item.type,is_alias:true,bitIndex:item.bitIndex,implDisambiguator:item.implDisambiguator,}}function handleAliases(ret,query,filterCrates,currentCrate){const lowerQuery=query.toLowerCase();const aliases=[];const crateAliases=[];if(filterCrates!==null){if(ALIASES.has(filterCrates)&&ALIASES.get(filterCrates).has(lowerQuery)){const query_aliases=ALIASES.get(filterCrates).get(lowerQuery);for(const alias of query_aliases){aliases.push(createAliasFromItem(searchIndex[alias]))}}}else{for(const[crate,crateAliasesIndex]of ALIASES){if(crateAliasesIndex.has(lowerQuery)){const pushTo=crate===currentCrate?crateAliases:aliases;const query_aliases=crateAliasesIndex.get(lowerQuery);for(const alias of query_aliases){pushTo.push(createAliasFromItem(searchIndex[alias]))}}}}const sortFunc=(aaa,bbb)=>{if(aaa.path{alias.alias=query;const res=buildHrefAndPath(alias);alias.displayPath=pathSplitter(res[0]);alias.fullPath=alias.displayPath+alias.name;alias.href=res[1];ret.others.unshift(alias);if(ret.others.length>MAX_RESULTS){ret.others.pop()}};aliases.forEach(pushFunc);crateAliases.forEach(pushFunc)}function addIntoResults(results,fullId,id,index,dist,path_dist,maxEditDistance){if(dist<=maxEditDistance||index!==-1){if(results.has(fullId)){const result=results.get(fullId);if(result.dontValidate||result.dist<=dist){return}}results.set(fullId,{id:id,index:index,dontValidate:parsedQuery.literalSearch,dist:dist,path_dist:path_dist,})}}function handleSingleArg(row,pos,elem,results_others,results_in_args,results_returned,maxEditDistance,){if(!row||(filterCrates!==null&&row.crate!==filterCrates)){return}let path_dist=0;const fullId=row.id;const tfpDist=compareTypeFingerprints(fullId,parsedQuery.typeFingerprint,);if(tfpDist!==null){const in_args=row.type&&row.type.inputs&&checkIfInList(row.type.inputs,elem,row.type.where_clause,null,0);const returned=row.type&&row.type.output&&checkIfInList(row.type.output,elem,row.type.where_clause,null,0);if(in_args){results_in_args.max_dist=Math.max(results_in_args.max_dist||0,tfpDist);const maxDist=results_in_args.sizenormalizedIndex&&normalizedIndex!==-1)){index=normalizedIndex}if(elem.fullPath.length>1){path_dist=checkPath(elem.pathWithoutLast,row);if(path_dist===null){return}}if(parsedQuery.literalSearch){if(row.word===elem.pathLast){addIntoResults(results_others,fullId,pos,index,0,path_dist)}return}const dist=editDistance(row.normalizedName,elem.normalizedPathLast,maxEditDistance);if(index===-1&&dist>maxEditDistance){return}addIntoResults(results_others,fullId,pos,index,dist,path_dist,maxEditDistance)}function handleArgs(row,pos,results){if(!row||(filterCrates!==null&&row.crate!==filterCrates)||!row.type){return}const tfpDist=compareTypeFingerprints(row.id,parsedQuery.typeFingerprint,);if(tfpDist===null){return}if(results.size>=MAX_RESULTS&&tfpDist>results.max_dist){return}if(!unifyFunctionTypes(row.type.inputs,parsedQuery.elems,row.type.where_clause,null,mgens=>{return unifyFunctionTypes(row.type.output,parsedQuery.returned,row.type.where_clause,mgens,null,0,)},0,)){return}results.max_dist=Math.max(results.max_dist||0,tfpDist);addIntoResults(results,row.id,pos,0,tfpDist,0,Number.MAX_VALUE)}function innerRunQuery(){const queryLen=parsedQuery.elems.reduce((acc,next)=>acc+next.pathLast.length,0)+parsedQuery.returned.reduce((acc,next)=>acc+next.pathLast.length,0);const maxEditDistance=Math.floor(queryLen/3);const genericSymbols=new Map();function convertNameToId(elem,isAssocType){if(typeNameIdMap.has(elem.normalizedPathLast)&&(isAssocType||!typeNameIdMap.get(elem.normalizedPathLast).assocOnly)){elem.id=typeNameIdMap.get(elem.normalizedPathLast).id}else if(!parsedQuery.literalSearch){let match=null;let matchDist=maxEditDistance+1;let matchName="";for(const[name,{id,assocOnly}]of typeNameIdMap){const dist=editDistance(name,elem.normalizedPathLast,maxEditDistance);if(dist<=matchDist&&dist<=maxEditDistance&&(isAssocType||!assocOnly)){if(dist===matchDist&&matchName>name){continue}match=id;matchDist=dist;matchName=name}}if(match!==null){parsedQuery.correction=matchName}elem.id=match}if((elem.id===null&&parsedQuery.totalElems>1&&elem.typeFilter===-1&&elem.generics.length===0&&elem.bindings.size===0)||elem.typeFilter===TY_GENERIC){if(genericSymbols.has(elem.name)){elem.id=genericSymbols.get(elem.name)}else{elem.id=-(genericSymbols.size+1);genericSymbols.set(elem.name,elem.id)}if(elem.typeFilter===-1&&elem.name.length>=3){const maxPartDistance=Math.floor(elem.name.length/3);let matchDist=maxPartDistance+1;let matchName="";for(const name of typeNameIdMap.keys()){const dist=editDistance(name,elem.name,maxPartDistance);if(dist<=matchDist&&dist<=maxPartDistance){if(dist===matchDist&&matchName>name){continue}matchDist=dist;matchName=name}}if(matchName!==""){parsedQuery.proposeCorrectionFrom=elem.name;parsedQuery.proposeCorrectionTo=matchName}}elem.typeFilter=TY_GENERIC}if(elem.generics.length>0&&elem.typeFilter===TY_GENERIC){parsedQuery.error=["Generic type parameter ",elem.name," does not accept generic parameters",]}for(const elem2 of elem.generics){convertNameToId(elem2)}elem.bindings=new Map(Array.from(elem.bindings.entries()).map(entry=>{const[name,constraints]=entry;if(!typeNameIdMap.has(name)){parsedQuery.error=["Type parameter ",name," does not exist",];return[null,[]]}for(const elem2 of constraints){convertNameToId(elem2)}return[typeNameIdMap.get(name).id,constraints]}),)}const fps=new Set();for(const elem of parsedQuery.elems){convertNameToId(elem);buildFunctionTypeFingerprint(elem,parsedQuery.typeFingerprint,fps)}for(const elem of parsedQuery.returned){convertNameToId(elem);buildFunctionTypeFingerprint(elem,parsedQuery.typeFingerprint,fps)}if(parsedQuery.foundElems===1&&parsedQuery.returned.length===0){if(parsedQuery.elems.length===1){const elem=parsedQuery.elems[0];for(let i=0,nSearchIndex=searchIndex.length;i0){const sortQ=(a,b)=>{const ag=a.generics.length===0&&a.bindings.size===0;const bg=b.generics.length===0&&b.bindings.size===0;if(ag!==bg){return ag-bg}const ai=a.id>0;const bi=b.id>0;return ai-bi};parsedQuery.elems.sort(sortQ);parsedQuery.returned.sort(sortQ);for(let i=0,nSearchIndex=searchIndex.length;i");if(tmp.endsWith("")){return tmp.slice(0,tmp.length-6)}return tmp}async function addTab(array,query,display){const extraClass=display?" active":"";const output=document.createElement("div");if(array.length>0){output.className="search-results "+extraClass;for(const item of array){const name=item.name;const type=itemTypes[item.ty];const longType=longItemTypes[item.ty];const typeName=longType.length!==0?`${longType}`:"?";const link=document.createElement("a");link.className="result-"+type;link.href=item.href;const resultName=document.createElement("div");resultName.className="result-name";resultName.insertAdjacentHTML("beforeend",`${typeName}`);link.appendChild(resultName);let alias=" ";if(item.is_alias){alias=`
\ -${item.alias} - see \ -
`}resultName.insertAdjacentHTML("beforeend",`
${alias}\ -${item.displayPath}${name}\ -
`);const description=document.createElement("div");description.className="desc";description.insertAdjacentHTML("beforeend",item.desc);link.appendChild(description);output.appendChild(link)}}else if(query.error===null){output.className="search-failed"+extraClass;output.innerHTML="No results :(
"+"Try on DuckDuckGo?

"+"Or try looking in one of these:"}return[output,array.length]}function makeTabHeader(tabNb,text,nbElems){const fmtNbElems=nbElems<10?`\u{2007}(${nbElems})\u{2007}\u{2007}`:nbElems<100?`\u{2007}(${nbElems})\u{2007}`:`\u{2007}(${nbElems})`;if(searchState.currentTab===tabNb){return""}return""}async function showResults(results,go_to_first,filterCrates){const search=searchState.outputElement();if(go_to_first||(results.others.length===1&&getSettingValue("go-to-only-result")==="true")){window.onunload=()=>{};searchState.removeQueryParameters();const elem=document.createElement("a");elem.href=results.others[0].href;removeClass(elem,"active");document.body.appendChild(elem);elem.click();return}if(results.query===undefined){results.query=parseQuery(searchState.input.value)}currentResults=results.query.userQuery;const[ret_others,ret_in_args,ret_returned]=await Promise.all([addTab(results.others,results.query,true),addTab(results.in_args,results.query,false),addTab(results.returned,results.query,false),]);let currentTab=searchState.currentTab;if((currentTab===0&&ret_others[1]===0)||(currentTab===1&&ret_in_args[1]===0)||(currentTab===2&&ret_returned[1]===0)){if(ret_others[1]!==0){currentTab=0}else if(ret_in_args[1]!==0){currentTab=1}else if(ret_returned[1]!==0){currentTab=2}}let crates="";if(rawSearchIndex.size>1){crates=" in 
"}let output=`

Results${crates}

`;if(results.query.error!==null){const error=results.query.error;error.forEach((value,index)=>{value=value.split("<").join("<").split(">").join(">");if(index%2!==0){error[index]=`${value.replaceAll(" ", " ")}`}else{error[index]=value}});output+=`

Query parser error: "${error.join("")}".

`;output+="
"+makeTabHeader(0,"In Names",ret_others[1])+"
";currentTab=0}else if(results.query.foundElems<=1&&results.query.returned.length===0){output+="
"+makeTabHeader(0,"In Names",ret_others[1])+makeTabHeader(1,"In Parameters",ret_in_args[1])+makeTabHeader(2,"In Return Types",ret_returned[1])+"
"}else{const signatureTabTitle=results.query.elems.length===0?"In Function Return Types":results.query.returned.length===0?"In Function Parameters":"In Function Signatures";output+="
"+makeTabHeader(0,signatureTabTitle,ret_others[1])+"
";currentTab=0}if(results.query.correction!==null){const orig=results.query.returned.length>0?results.query.returned[0].name:results.query.elems[0].name;output+="

"+`Type "${orig}" not found. `+"Showing results for closest type name "+`"${results.query.correction}" instead.

`}if(results.query.proposeCorrectionFrom!==null){const orig=results.query.proposeCorrectionFrom;const targ=results.query.proposeCorrectionTo;output+="

"+`Type "${orig}" not found and used as generic parameter. `+`Consider searching for "${targ}" instead.

`}const resultsElem=document.createElement("div");resultsElem.id="results";resultsElem.appendChild(ret_others[0]);resultsElem.appendChild(ret_in_args[0]);resultsElem.appendChild(ret_returned[0]);search.innerHTML=output;const crateSearch=document.getElementById("crate-search");if(crateSearch){crateSearch.addEventListener("input",updateCrate)}search.appendChild(resultsElem);searchState.showResults(search);const elems=document.getElementById("search-tabs").childNodes;searchState.focusedByTab=[];let i=0;for(const elem of elems){const j=i;elem.onclick=()=>printTab(j);searchState.focusedByTab.push(null);i+=1}printTab(currentTab)}function updateSearchHistory(url){if(!browserSupportsHistoryApi()){return}const params=searchState.getQueryStringParams();if(!history.state&&!params.search){history.pushState(null,"",url)}else{history.replaceState(null,"",url)}}async function search(forced){const query=parseQuery(searchState.input.value.trim());let filterCrates=getFilterCrates();if(!forced&&query.userQuery===currentResults){if(query.userQuery.length>0){putBackSearch()}return}searchState.setLoadingSearch();const params=searchState.getQueryStringParams();if(filterCrates===null&¶ms["filter-crate"]!==undefined){filterCrates=params["filter-crate"]}searchState.title="Results for "+query.original+" - Rust";updateSearchHistory(buildUrl(query.original,filterCrates));await showResults(await execQuery(query,filterCrates,window.currentCrate),params.go_to_first,filterCrates)}function buildItemSearchTypeAll(types,lowercasePaths){return types.length>0?types.map(type=>buildItemSearchType(type,lowercasePaths)):EMPTY_GENERICS_ARRAY}const EMPTY_BINDINGS_MAP=new Map();const EMPTY_GENERICS_ARRAY=[];let TYPES_POOL=new Map();function buildItemSearchType(type,lowercasePaths,isAssocType){const PATH_INDEX_DATA=0;const GENERICS_DATA=1;const BINDINGS_DATA=2;let pathIndex,generics,bindings;if(typeof type==="number"){pathIndex=type;generics=EMPTY_GENERICS_ARRAY;bindings=EMPTY_BINDINGS_MAP}else{pathIndex=type[PATH_INDEX_DATA];generics=buildItemSearchTypeAll(type[GENERICS_DATA],lowercasePaths,);if(type.length>BINDINGS_DATA&&type[BINDINGS_DATA].length>0){bindings=new Map(type[BINDINGS_DATA].map(binding=>{const[assocType,constraints]=binding;return[buildItemSearchType(assocType,lowercasePaths,true).id,buildItemSearchTypeAll(constraints,lowercasePaths),]}))}else{bindings=EMPTY_BINDINGS_MAP}}let result;if(pathIndex<0){result={id:pathIndex,ty:TY_GENERIC,path:null,generics,bindings,}}else if(pathIndex===0){result={id:null,ty:null,path:null,generics,bindings,}}else{const item=lowercasePaths[pathIndex-1];result={id:buildTypeMapIndex(item.name,isAssocType),ty:item.ty,path:item.path,generics,bindings,}}const cr=TYPES_POOL.get(result.id);if(cr){if(cr.generics.length===result.generics.length&&cr.generics!==result.generics&&cr.generics.every((x,i)=>result.generics[i]===x)){result.generics=cr.generics}if(cr.bindings.size===result.bindings.size&&cr.bindings!==result.bindings){let ok=true;for(const[k,v]of cr.bindings.entries()){const v2=result.bindings.get(v);if(!v2){ok=false;break}if(v!==v2&&v.length===v2.length&&v.every((x,i)=>v2[i]===x)){result.bindings.set(k,v)}else if(v!==v2){ok=false;break}}if(ok){result.bindings=cr.bindings}}if(cr.ty===result.ty&&cr.path===result.path&&cr.bindings===result.bindings&&cr.generics===result.generics&&cr.ty===result.ty){return cr}}TYPES_POOL.set(result.id,result);return result}function buildFunctionSearchTypeCallback(lowercasePaths){return functionSearchType=>{if(functionSearchType===0){return null}const INPUTS_DATA=0;const OUTPUT_DATA=1;let inputs,output;if(typeof functionSearchType[INPUTS_DATA]==="number"){inputs=[buildItemSearchType(functionSearchType[INPUTS_DATA],lowercasePaths)]}else{inputs=buildItemSearchTypeAll(functionSearchType[INPUTS_DATA],lowercasePaths,)}if(functionSearchType.length>1){if(typeof functionSearchType[OUTPUT_DATA]==="number"){output=[buildItemSearchType(functionSearchType[OUTPUT_DATA],lowercasePaths)]}else{output=buildItemSearchTypeAll(functionSearchType[OUTPUT_DATA],lowercasePaths,)}}else{output=[]}const where_clause=[];const l=functionSearchType.length;for(let i=2;i{k=(~~k+0x7ed55d16)+(k<<12);k=(k ^ 0xc761c23c)^(k>>>19);k=(~~k+0x165667b1)+(k<<5);k=(~~k+0xd3a2646c)^(k<<9);k=(~~k+0xfd7046c5)+(k<<3);return(k ^ 0xb55a4f09)^(k>>>16)};const hashint2=k=>{k=~k+(k<<15);k ^=k>>>12;k+=k<<2;k ^=k>>>4;k=Math.imul(k,2057);return k ^(k>>16)};if(input!==null){const h0a=hashint1(input);const h0b=hashint2(input);const h1a=~~(h0a+Math.imul(h0b,2));const h1b=~~(h0a+Math.imul(h0b,3));const h2a=~~(h0a+Math.imul(h0b,4));const h2b=~~(h0a+Math.imul(h0b,5));output[0]|=(1<<(h0a%32))|(1<<(h1b%32));output[1]|=(1<<(h1a%32))|(1<<(h2b%32));output[2]|=(1<<(h2a%32))|(1<<(h0b%32));fps.add(input)}for(const g of type.generics){buildFunctionTypeFingerprint(g,output,fps)}const fb={id:null,ty:0,generics:EMPTY_GENERICS_ARRAY,bindings:EMPTY_BINDINGS_MAP,};for(const[k,v]of type.bindings.entries()){fb.id=k;fb.generics=v;buildFunctionTypeFingerprint(fb,output,fps)}output[3]=fps.size}function compareTypeFingerprints(fullId,queryFingerprint){const fh0=functionTypeFingerprint[fullId*4];const fh1=functionTypeFingerprint[(fullId*4)+1];const fh2=functionTypeFingerprint[(fullId*4)+2];const[qh0,qh1,qh2]=queryFingerprint;const[in0,in1,in2]=[fh0&qh0,fh1&qh1,fh2&qh2];if((in0 ^ qh0)||(in1 ^ qh1)||(in2 ^ qh2)){return null}return functionTypeFingerprint[(fullId*4)+3]}class VlqHexDecoder{constructor(string,cons){this.string=string;this.cons=cons;this.offset=0;this.backrefQueue=[]}decodeList(){const cb="}".charCodeAt(0);let c=this.string.charCodeAt(this.offset);const ret=[];while(c!==cb){ret.push(this.decode());c=this.string.charCodeAt(this.offset)}this.offset+=1;return ret}decode(){const[ob,la]=["{","`"].map(c=>c.charCodeAt(0));let n=0;let c=this.string.charCodeAt(this.offset);if(c===ob){this.offset+=1;return this.decodeList()}while(c>1];this.offset+=1;return sign?-value:value}next(){const c=this.string.charCodeAt(this.offset);const[zero,ua,la]=["0","@","`"].map(c=>c.charCodeAt(0));if(c>=zero&&c16){this.backrefQueue.pop()}return result}}class RoaringBitmap{constructor(str){const strdecoded=atob(str);const u8array=new Uint8Array(strdecoded.length);for(let j=0;j=4){offsets=[];for(let j=0;j>3]&(1<<(j&0x7))){const runcount=(u8array[i]|(u8array[i+1]<<8));i+=2;this.containers.push(new RoaringBitmapRun(runcount,u8array.slice(i,i+(runcount*4)),));i+=runcount*4}else if(this.cardinalities[j]>=4096){this.containers.push(new RoaringBitmapBits(u8array.slice(i,i+8192)));i+=8192}else{const end=this.cardinalities[j]*2;this.containers.push(new RoaringBitmapArray(this.cardinalities[j],u8array.slice(i,i+end),));i+=end}}}contains(keyvalue){const key=keyvalue>>16;const value=keyvalue&0xFFFF;for(let i=0;i=start&&value<=(start+lenm1)){return true}}return false}}class RoaringBitmapArray{constructor(cardinality,array){this.cardinality=cardinality;this.array=array}contains(value){const l=this.cardinality*2;for(let i=0;i>3]&(1<<(value&7)))}}function buildIndex(rawSearchIndex){searchIndex=[];searchIndexDeprecated=new Map();searchIndexEmptyDesc=new Map();const charA="A".charCodeAt(0);let currentIndex=0;let id=0;for(const crate of rawSearchIndex.values()){id+=crate.t.length+1}functionTypeFingerprint=new Uint32Array((id+1)*4);id=0;for(const[crate,crateCorpus]of rawSearchIndex){const itemDescShardDecoder=new VlqHexDecoder(crateCorpus.D,noop=>noop);let descShard={crate,shard:0,start:0,len:itemDescShardDecoder.next(),promise:null,resolve:null,};const descShardList=[descShard];searchIndexDeprecated.set(crate,new RoaringBitmap(crateCorpus.c));searchIndexEmptyDesc.set(crate,new RoaringBitmap(crateCorpus.e));let descIndex=0;const crateRow={crate,ty:3,name:crate,path:"",descShard,descIndex,parent:undefined,type:null,id,word:crate,normalizedName:crate.indexOf("_")===-1?crate:crate.replace(/_/g,""),bitIndex:0,implDisambiguator:null,};id+=1;searchIndex.push(crateRow);currentIndex+=1;if(!searchIndexEmptyDesc.get(crate).contains(0)){descIndex+=1}const itemTypes=crateCorpus.t;const itemNames=crateCorpus.n;const itemPaths=new Map(crateCorpus.q);const itemParentIdxs=crateCorpus.i;const implDisambiguator=new Map(crateCorpus.b);const paths=crateCorpus.p;const aliases=crateCorpus.a;const lowercasePaths=[];const itemFunctionDecoder=new VlqHexDecoder(crateCorpus.f,buildFunctionSearchTypeCallback(lowercasePaths),);let len=paths.length;let lastPath=itemPaths.get(0);for(let i=0;i2){path=itemPaths.has(elem[2])?itemPaths.get(elem[2]):lastPath;lastPath=path}lowercasePaths.push({ty:ty,name:name.toLowerCase(),path:path});paths[i]={ty:ty,name:name,path:path}}lastPath="";len=itemTypes.length;for(let i=0;i=descShard.len&&!searchIndexEmptyDesc.get(crate).contains(bitIndex)){descShard={crate,shard:descShard.shard+1,start:descShard.start+descShard.len,len:itemDescShardDecoder.next(),promise:null,resolve:null,};descIndex=0;descShardList.push(descShard)}let word="";if(typeof itemNames[i]==="string"){word=itemNames[i].toLowerCase()}const path=itemPaths.has(i)?itemPaths.get(i):lastPath;const type=itemFunctionDecoder.next();if(type!==null){if(type){const fp=functionTypeFingerprint.subarray(id*4,(id+1)*4);const fps=new Set();for(const t of type.inputs){buildFunctionTypeFingerprint(t,fp,fps)}for(const t of type.output){buildFunctionTypeFingerprint(t,fp,fps)}for(const w of type.where_clause){for(const t of w){buildFunctionTypeFingerprint(t,fp,fps)}}}}const row={crate,ty:itemTypes.charCodeAt(i)-charA,name:itemNames[i],path,descShard,descIndex,parent:itemParentIdxs[i]>0?paths[itemParentIdxs[i]-1]:undefined,type,id,word,normalizedName:word.indexOf("_")===-1?word:word.replace(/_/g,""),bitIndex,implDisambiguator:implDisambiguator.has(i)?implDisambiguator.get(i):null,};id+=1;searchIndex.push(row);lastPath=row.path;if(!searchIndexEmptyDesc.get(crate).contains(bitIndex)){descIndex+=1}}if(aliases){const currentCrateAliases=new Map();ALIASES.set(crate,currentCrateAliases);for(const alias_name in aliases){if(!Object.prototype.hasOwnProperty.call(aliases,alias_name)){continue}let currentNameAliases;if(currentCrateAliases.has(alias_name)){currentNameAliases=currentCrateAliases.get(alias_name)}else{currentNameAliases=[];currentCrateAliases.set(alias_name,currentNameAliases)}for(const local_alias of aliases[alias_name]){currentNameAliases.push(local_alias+currentIndex)}}}currentIndex+=itemTypes.length;searchState.descShards.set(crate,descShardList)}TYPES_POOL=new Map()}function onSearchSubmit(e){e.preventDefault();searchState.clearInputTimeout();search()}function putBackSearch(){const search_input=searchState.input;if(!searchState.input){return}if(search_input.value!==""&&!searchState.isDisplayed()){searchState.showResults();if(browserSupportsHistoryApi()){history.replaceState(null,"",buildUrl(search_input.value,getFilterCrates()))}document.title=searchState.title}}function registerSearchEvents(){const params=searchState.getQueryStringParams();if(searchState.input.value===""){searchState.input.value=params.search||""}const searchAfter500ms=()=>{searchState.clearInputTimeout();if(searchState.input.value.length===0){searchState.hideResults()}else{searchState.timeout=setTimeout(search,500)}};searchState.input.onkeyup=searchAfter500ms;searchState.input.oninput=searchAfter500ms;document.getElementsByClassName("search-form")[0].onsubmit=onSearchSubmit;searchState.input.onchange=e=>{if(e.target!==document.activeElement){return}searchState.clearInputTimeout();setTimeout(search,0)};searchState.input.onpaste=searchState.input.onchange;searchState.outputElement().addEventListener("keydown",e=>{if(e.altKey||e.ctrlKey||e.shiftKey||e.metaKey){return}if(e.which===38){const previous=document.activeElement.previousElementSibling;if(previous){previous.focus()}else{searchState.focus()}e.preventDefault()}else if(e.which===40){const next=document.activeElement.nextElementSibling;if(next){next.focus()}const rect=document.activeElement.getBoundingClientRect();if(window.innerHeight-rect.bottom{if(e.which===40){focusSearchResult();e.preventDefault()}});searchState.input.addEventListener("focus",()=>{putBackSearch()});searchState.input.addEventListener("blur",()=>{searchState.input.placeholder=searchState.input.origPlaceholder});if(browserSupportsHistoryApi()){const previousTitle=document.title;window.addEventListener("popstate",e=>{const params=searchState.getQueryStringParams();document.title=previousTitle;currentResults=null;if(params.search&¶ms.search.length>0){searchState.input.value=params.search;e.preventDefault();search()}else{searchState.input.value="";searchState.hideResults()}})}window.onpageshow=()=>{const qSearch=searchState.getQueryStringParams().search;if(searchState.input.value===""&&qSearch){searchState.input.value=qSearch}search()}}function updateCrate(ev){if(ev.target.value==="all crates"){const query=searchState.input.value.trim();updateSearchHistory(buildUrl(query,null))}currentResults=null;search(true)}buildIndex(rawSearchIndex);if(typeof window!=="undefined"){registerSearchEvents();if(window.searchState.getQueryStringParams().search){search()}}if(typeof exports!=="undefined"){exports.initSearch=initSearch;exports.execQuery=execQuery;exports.parseQuery=parseQuery}}if(typeof window!=="undefined"){window.initSearch=initSearch;if(window.searchIndex!==undefined){initSearch(window.searchIndex)}}else{initSearch(new Map())}})() \ No newline at end of file diff --git a/static.files/wheel-7b819b6101059cd0.svg b/static.files/wheel-7b819b6101059cd0.svg deleted file mode 100644 index 83c07f63d..000000000 --- a/static.files/wheel-7b819b6101059cd0.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/trait.impl/core/convert/trait.From.js b/trait.impl/core/convert/trait.From.js index 77fdd7473..f88c2c030 100644 --- a/trait.impl/core/convert/trait.From.js +++ b/trait.impl/core/convert/trait.From.js @@ -2,7 +2,7 @@ "actix_identity":[["impl From<LostIdentityError> for GetIdentityError"],["impl From<MissingIdentityError> for GetIdentityError"],["impl From<SessionExpiryError> for GetIdentityError"],["impl From<SessionGetError> for GetIdentityError"],["impl From<SessionInsertError> for LoginError"]], "actix_limitation":[["impl From<ComponentRange> for Error"],["impl From<RedisError> for Error"]], "actix_protobuf":[["impl From<DecodeError> for ProtoBufPayloadError"],["impl From<PayloadError> for ProtoBufPayloadError"]], -"actix_session":[["impl From<BrowserSession> for SessionLifecycle"],["impl From<PersistentSession> for SessionLifecycle"],["impl From<SessionKey> for String"],["impl From<Error> for SessionGetError"],["impl From<Error> for SessionInsertError"]], +"actix_session":[["impl From<BrowserSession> for SessionLifecycle"],["impl From<PersistentSession> for SessionLifecycle"],["impl From<SessionKey> for String"],["impl From<Error> for SessionGetError"],["impl From<Error> for SessionInsertError"]], "actix_settings":[["impl From<Error> for Error"],["impl From<VarError> for Error"],["impl From<ParseIntError> for Error"],["impl From<ParseBoolError> for Error"],["impl From<Error> for Error"],["impl From<Error> for Error"]], "actix_web_httpauth":[["impl From<Basic> for BasicAuth"],["impl From<Utf8Error> for ParseError"],["impl From<ToStrError> for ParseError"],["impl From<DecodeError> for ParseError"],["impl<S: Scheme> From<S> for Authorization<S>"],["impl<T> From<T> for AuthenticationError<<T as AuthExtractorConfig>::Inner>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/marker/trait.Freeze.js b/trait.impl/core/marker/trait.Freeze.js index 82fa1c40f..a18c488ec 100644 --- a/trait.impl/core/marker/trait.Freeze.js +++ b/trait.impl/core/marker/trait.Freeze.js @@ -2,9 +2,9 @@ "actix_cors":[["impl Freeze for CorsError",1,["actix_cors::error::CorsError"]],["impl Freeze for Cors",1,["actix_cors::builder::Cors"]]], "actix_identity":[["impl Freeze for LogoutBehaviour",1,["actix_identity::config::LogoutBehaviour"]],["impl Freeze for GetIdentityError",1,["actix_identity::error::GetIdentityError"]],["impl Freeze for IdentityMiddlewareBuilder",1,["actix_identity::config::IdentityMiddlewareBuilder"]],["impl Freeze for LoginError",1,["actix_identity::error::LoginError"]],["impl Freeze for LostIdentityError",1,["actix_identity::error::LostIdentityError"]],["impl Freeze for MissingIdentityError",1,["actix_identity::error::MissingIdentityError"]],["impl Freeze for SessionExpiryError",1,["actix_identity::error::SessionExpiryError"]],["impl Freeze for Identity",1,["actix_identity::identity::Identity"]],["impl Freeze for IdentityMiddleware",1,["actix_identity::middleware::IdentityMiddleware"]]], "actix_limitation":[["impl Freeze for Error",1,["actix_limitation::errors::Error"]],["impl Freeze for Builder",1,["actix_limitation::builder::Builder"]],["impl Freeze for Limiter",1,["actix_limitation::Limiter"]],["impl Freeze for RateLimiter",1,["actix_limitation::middleware::RateLimiter"]],["impl Freeze for Status",1,["actix_limitation::status::Status"]]], -"actix_protobuf":[["impl Freeze for ProtoBufPayloadError",1,["actix_protobuf::ProtoBufPayloadError"]],["impl Freeze for ProtoBufConfig",1,["actix_protobuf::ProtoBufConfig"]],["impl<T> Freeze for ProtoBuf<T>
where\n T: Sync + Send + Debug + Freeze,
",1,["actix_protobuf::ProtoBuf"]],["impl<T> Freeze for ProtoBufMessage<T>
where\n T: Sync + Send + Debug,
",1,["actix_protobuf::ProtoBufMessage"]]], +"actix_protobuf":[["impl Freeze for ProtoBufPayloadError",1,["actix_protobuf::ProtoBufPayloadError"]],["impl Freeze for ProtoBufConfig",1,["actix_protobuf::ProtoBufConfig"]],["impl<T> Freeze for ProtoBuf<T>
where\n T: Freeze,
",1,["actix_protobuf::ProtoBuf"]],["impl<T> Freeze for ProtoBufMessage<T>",1,["actix_protobuf::ProtoBufMessage"]]], "actix_session":[["impl Freeze for CookieContentSecurity",1,["actix_session::config::CookieContentSecurity"]],["impl Freeze for SessionLifecycle",1,["actix_session::config::SessionLifecycle"]],["impl Freeze for TtlExtensionPolicy",1,["actix_session::config::TtlExtensionPolicy"]],["impl Freeze for SessionStatus",1,["actix_session::session::SessionStatus"]],["impl Freeze for LoadError",1,["actix_session::storage::interface::LoadError"]],["impl Freeze for SaveError",1,["actix_session::storage::interface::SaveError"]],["impl Freeze for UpdateError",1,["actix_session::storage::interface::UpdateError"]],["impl Freeze for BrowserSession",1,["actix_session::config::BrowserSession"]],["impl Freeze for PersistentSession",1,["actix_session::config::PersistentSession"]],["impl Freeze for CookieSessionStore",1,["actix_session::storage::cookie::CookieSessionStore"]],["impl Freeze for RedisSessionStore",1,["actix_session::storage::redis_rs::RedisSessionStore"]],["impl Freeze for RedisSessionStoreBuilder",1,["actix_session::storage::redis_rs::RedisSessionStoreBuilder"]],["impl Freeze for SessionKey",1,["actix_session::storage::session_key::SessionKey"]],["impl Freeze for Session",1,["actix_session::session::Session"]],["impl Freeze for SessionGetError",1,["actix_session::session::SessionGetError"]],["impl Freeze for SessionInsertError",1,["actix_session::session::SessionInsertError"]],["impl<Store> Freeze for SessionMiddlewareBuilder<Store>
where\n Store: Freeze,
",1,["actix_session::config::SessionMiddlewareBuilder"]],["impl<Store> Freeze for SessionMiddleware<Store>",1,["actix_session::middleware::SessionMiddleware"]]], "actix_settings":[["impl Freeze for Backlog",1,["actix_settings::settings::backlog::Backlog"]],["impl Freeze for Error",1,["actix_settings::error::Error"]],["impl Freeze for KeepAlive",1,["actix_settings::settings::keep_alive::KeepAlive"]],["impl Freeze for MaxConnectionRate",1,["actix_settings::settings::max_connection_rate::MaxConnectionRate"]],["impl Freeze for MaxConnections",1,["actix_settings::settings::max_connections::MaxConnections"]],["impl Freeze for Mode",1,["actix_settings::settings::mode::Mode"]],["impl Freeze for NumWorkers",1,["actix_settings::settings::num_workers::NumWorkers"]],["impl Freeze for Timeout",1,["actix_settings::settings::timeout::Timeout"]],["impl Freeze for ActixSettings",1,["actix_settings::settings::ActixSettings"]],["impl Freeze for Address",1,["actix_settings::settings::address::Address"]],["impl Freeze for NoSettings",1,["actix_settings::NoSettings"]],["impl Freeze for Tls",1,["actix_settings::settings::tls::Tls"]],["impl<A> Freeze for BasicSettings<A>
where\n A: Freeze,
",1,["actix_settings::BasicSettings"]]], -"actix_web_httpauth":[["impl Freeze for Error",1,["actix_web_httpauth::headers::www_authenticate::challenge::bearer::errors::Error"]],["impl Freeze for ParseError",1,["actix_web_httpauth::headers::authorization::errors::ParseError"]],["impl Freeze for BasicAuth",1,["actix_web_httpauth::extractors::basic::BasicAuth"]],["impl Freeze for Config",1,["actix_web_httpauth::extractors::basic::Config"]],["impl Freeze for BearerAuth",1,["actix_web_httpauth::extractors::bearer::BearerAuth"]],["impl Freeze for Config",1,["actix_web_httpauth::extractors::bearer::Config"]],["impl Freeze for Basic",1,["actix_web_httpauth::headers::authorization::scheme::basic::Basic"]],["impl Freeze for Bearer",1,["actix_web_httpauth::headers::authorization::scheme::bearer::Bearer"]],["impl Freeze for Basic",1,["actix_web_httpauth::headers::www_authenticate::challenge::basic::Basic"]],["impl Freeze for Bearer",1,["actix_web_httpauth::headers::www_authenticate::challenge::bearer::challenge::Bearer"]],["impl Freeze for BearerBuilder",1,["actix_web_httpauth::headers::www_authenticate::challenge::bearer::builder::BearerBuilder"]],["impl<C> Freeze for AuthenticationError<C>
where\n C: Sync + Send + Clone + Display + Debug + TryIntoHeaderValue + Freeze,
",1,["actix_web_httpauth::extractors::errors::AuthenticationError"]],["impl<C> Freeze for WwwAuthenticate<C>
where\n C: Sync + Send + Clone + Display + Debug + TryIntoHeaderValue + Freeze,
",1,["actix_web_httpauth::headers::www_authenticate::header::WwwAuthenticate"]],["impl<S> Freeze for Authorization<S>
where\n S: Sync + Send + Clone + Display + Debug + TryIntoHeaderValue + Freeze,
",1,["actix_web_httpauth::headers::authorization::header::Authorization"]],["impl<T, F> Freeze for HttpAuthentication<T, F>",1,["actix_web_httpauth::middleware::HttpAuthentication"]]], +"actix_web_httpauth":[["impl Freeze for Error",1,["actix_web_httpauth::headers::www_authenticate::challenge::bearer::errors::Error"]],["impl Freeze for ParseError",1,["actix_web_httpauth::headers::authorization::errors::ParseError"]],["impl Freeze for BasicAuth",1,["actix_web_httpauth::extractors::basic::BasicAuth"]],["impl Freeze for Config",1,["actix_web_httpauth::extractors::basic::Config"]],["impl Freeze for BearerAuth",1,["actix_web_httpauth::extractors::bearer::BearerAuth"]],["impl Freeze for Config",1,["actix_web_httpauth::extractors::bearer::Config"]],["impl Freeze for Basic",1,["actix_web_httpauth::headers::authorization::scheme::basic::Basic"]],["impl Freeze for Bearer",1,["actix_web_httpauth::headers::authorization::scheme::bearer::Bearer"]],["impl Freeze for Basic",1,["actix_web_httpauth::headers::www_authenticate::challenge::basic::Basic"]],["impl Freeze for Bearer",1,["actix_web_httpauth::headers::www_authenticate::challenge::bearer::challenge::Bearer"]],["impl Freeze for BearerBuilder",1,["actix_web_httpauth::headers::www_authenticate::challenge::bearer::builder::BearerBuilder"]],["impl<C> Freeze for AuthenticationError<C>
where\n C: Freeze,
",1,["actix_web_httpauth::extractors::errors::AuthenticationError"]],["impl<C> Freeze for WwwAuthenticate<C>
where\n C: Freeze,
",1,["actix_web_httpauth::headers::www_authenticate::header::WwwAuthenticate"]],["impl<S> Freeze for Authorization<S>
where\n S: Freeze,
",1,["actix_web_httpauth::headers::authorization::header::Authorization"]],["impl<T, F> Freeze for HttpAuthentication<T, F>",1,["actix_web_httpauth::middleware::HttpAuthentication"]]], "actix_ws":[["impl Freeze for Closed",1,["actix_ws::session::Closed"]],["impl Freeze for MessageStream",1,["actix_ws::fut::MessageStream"]],["impl Freeze for Session",1,["actix_ws::session::Session"]],["impl Freeze for StreamingBody",1,["actix_ws::fut::StreamingBody"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/marker/trait.Send.js b/trait.impl/core/marker/trait.Send.js index 498536180..7bd4966ae 100644 --- a/trait.impl/core/marker/trait.Send.js +++ b/trait.impl/core/marker/trait.Send.js @@ -2,9 +2,9 @@ "actix_cors":[["impl !Send for Cors",1,["actix_cors::builder::Cors"]],["impl Send for CorsError",1,["actix_cors::error::CorsError"]]], "actix_identity":[["impl !Send for Identity",1,["actix_identity::identity::Identity"]],["impl !Send for IdentityMiddleware",1,["actix_identity::middleware::IdentityMiddleware"]],["impl Send for LogoutBehaviour",1,["actix_identity::config::LogoutBehaviour"]],["impl Send for GetIdentityError",1,["actix_identity::error::GetIdentityError"]],["impl Send for IdentityMiddlewareBuilder",1,["actix_identity::config::IdentityMiddlewareBuilder"]],["impl Send for LoginError",1,["actix_identity::error::LoginError"]],["impl Send for LostIdentityError",1,["actix_identity::error::LostIdentityError"]],["impl Send for MissingIdentityError",1,["actix_identity::error::MissingIdentityError"]],["impl Send for SessionExpiryError",1,["actix_identity::error::SessionExpiryError"]]], "actix_limitation":[["impl Send for Error",1,["actix_limitation::errors::Error"]],["impl Send for Builder",1,["actix_limitation::builder::Builder"]],["impl Send for Limiter",1,["actix_limitation::Limiter"]],["impl Send for RateLimiter",1,["actix_limitation::middleware::RateLimiter"]],["impl Send for Status",1,["actix_limitation::status::Status"]]], -"actix_protobuf":[["impl Send for ProtoBufPayloadError",1,["actix_protobuf::ProtoBufPayloadError"]],["impl Send for ProtoBufConfig",1,["actix_protobuf::ProtoBufConfig"]],["impl<T> !Send for ProtoBufMessage<T>",1,["actix_protobuf::ProtoBufMessage"]],["impl<T> Send for ProtoBuf<T>
where\n T: Sync + Send + Debug,
",1,["actix_protobuf::ProtoBuf"]]], +"actix_protobuf":[["impl Send for ProtoBufPayloadError",1,["actix_protobuf::ProtoBufPayloadError"]],["impl Send for ProtoBufConfig",1,["actix_protobuf::ProtoBufConfig"]],["impl<T> !Send for ProtoBufMessage<T>",1,["actix_protobuf::ProtoBufMessage"]],["impl<T> Send for ProtoBuf<T>",1,["actix_protobuf::ProtoBuf"]]], "actix_session":[["impl !Send for Session",1,["actix_session::session::Session"]],["impl Send for CookieContentSecurity",1,["actix_session::config::CookieContentSecurity"]],["impl Send for SessionLifecycle",1,["actix_session::config::SessionLifecycle"]],["impl Send for TtlExtensionPolicy",1,["actix_session::config::TtlExtensionPolicy"]],["impl Send for SessionStatus",1,["actix_session::session::SessionStatus"]],["impl Send for LoadError",1,["actix_session::storage::interface::LoadError"]],["impl Send for SaveError",1,["actix_session::storage::interface::SaveError"]],["impl Send for UpdateError",1,["actix_session::storage::interface::UpdateError"]],["impl Send for BrowserSession",1,["actix_session::config::BrowserSession"]],["impl Send for PersistentSession",1,["actix_session::config::PersistentSession"]],["impl Send for CookieSessionStore",1,["actix_session::storage::cookie::CookieSessionStore"]],["impl Send for RedisSessionStore",1,["actix_session::storage::redis_rs::RedisSessionStore"]],["impl Send for RedisSessionStoreBuilder",1,["actix_session::storage::redis_rs::RedisSessionStoreBuilder"]],["impl Send for SessionKey",1,["actix_session::storage::session_key::SessionKey"]],["impl Send for SessionGetError",1,["actix_session::session::SessionGetError"]],["impl Send for SessionInsertError",1,["actix_session::session::SessionInsertError"]],["impl<Store> !Send for SessionMiddleware<Store>",1,["actix_session::middleware::SessionMiddleware"]],["impl<Store> Send for SessionMiddlewareBuilder<Store>
where\n Store: Send,
",1,["actix_session::config::SessionMiddlewareBuilder"]]], "actix_settings":[["impl Send for Backlog",1,["actix_settings::settings::backlog::Backlog"]],["impl Send for Error",1,["actix_settings::error::Error"]],["impl Send for KeepAlive",1,["actix_settings::settings::keep_alive::KeepAlive"]],["impl Send for MaxConnectionRate",1,["actix_settings::settings::max_connection_rate::MaxConnectionRate"]],["impl Send for MaxConnections",1,["actix_settings::settings::max_connections::MaxConnections"]],["impl Send for Mode",1,["actix_settings::settings::mode::Mode"]],["impl Send for NumWorkers",1,["actix_settings::settings::num_workers::NumWorkers"]],["impl Send for Timeout",1,["actix_settings::settings::timeout::Timeout"]],["impl Send for ActixSettings",1,["actix_settings::settings::ActixSettings"]],["impl Send for Address",1,["actix_settings::settings::address::Address"]],["impl Send for NoSettings",1,["actix_settings::NoSettings"]],["impl Send for Tls",1,["actix_settings::settings::tls::Tls"]],["impl<A> Send for BasicSettings<A>
where\n A: Send,
",1,["actix_settings::BasicSettings"]]], -"actix_web_httpauth":[["impl Send for Error",1,["actix_web_httpauth::headers::www_authenticate::challenge::bearer::errors::Error"]],["impl Send for ParseError",1,["actix_web_httpauth::headers::authorization::errors::ParseError"]],["impl Send for BasicAuth",1,["actix_web_httpauth::extractors::basic::BasicAuth"]],["impl Send for Config",1,["actix_web_httpauth::extractors::basic::Config"]],["impl Send for BearerAuth",1,["actix_web_httpauth::extractors::bearer::BearerAuth"]],["impl Send for Config",1,["actix_web_httpauth::extractors::bearer::Config"]],["impl Send for Basic",1,["actix_web_httpauth::headers::authorization::scheme::basic::Basic"]],["impl Send for Bearer",1,["actix_web_httpauth::headers::authorization::scheme::bearer::Bearer"]],["impl Send for Basic",1,["actix_web_httpauth::headers::www_authenticate::challenge::basic::Basic"]],["impl Send for Bearer",1,["actix_web_httpauth::headers::www_authenticate::challenge::bearer::challenge::Bearer"]],["impl Send for BearerBuilder",1,["actix_web_httpauth::headers::www_authenticate::challenge::bearer::builder::BearerBuilder"]],["impl<C> Send for AuthenticationError<C>
where\n C: Sync + Send + Clone + Display + Debug + TryIntoHeaderValue,
",1,["actix_web_httpauth::extractors::errors::AuthenticationError"]],["impl<C> Send for WwwAuthenticate<C>
where\n C: Sync + Send + Clone + Display + Debug + TryIntoHeaderValue,
",1,["actix_web_httpauth::headers::www_authenticate::header::WwwAuthenticate"]],["impl<S> Send for Authorization<S>
where\n S: Sync + Send + Clone + Display + Debug + TryIntoHeaderValue,
",1,["actix_web_httpauth::headers::authorization::header::Authorization"]],["impl<T, F> Send for HttpAuthentication<T, F>
where\n F: Sync + Send,\n T: Send,
",1,["actix_web_httpauth::middleware::HttpAuthentication"]]], +"actix_web_httpauth":[["impl Send for Error",1,["actix_web_httpauth::headers::www_authenticate::challenge::bearer::errors::Error"]],["impl Send for ParseError",1,["actix_web_httpauth::headers::authorization::errors::ParseError"]],["impl Send for BasicAuth",1,["actix_web_httpauth::extractors::basic::BasicAuth"]],["impl Send for Config",1,["actix_web_httpauth::extractors::basic::Config"]],["impl Send for BearerAuth",1,["actix_web_httpauth::extractors::bearer::BearerAuth"]],["impl Send for Config",1,["actix_web_httpauth::extractors::bearer::Config"]],["impl Send for Basic",1,["actix_web_httpauth::headers::authorization::scheme::basic::Basic"]],["impl Send for Bearer",1,["actix_web_httpauth::headers::authorization::scheme::bearer::Bearer"]],["impl Send for Basic",1,["actix_web_httpauth::headers::www_authenticate::challenge::basic::Basic"]],["impl Send for Bearer",1,["actix_web_httpauth::headers::www_authenticate::challenge::bearer::challenge::Bearer"]],["impl Send for BearerBuilder",1,["actix_web_httpauth::headers::www_authenticate::challenge::bearer::builder::BearerBuilder"]],["impl<C> Send for AuthenticationError<C>",1,["actix_web_httpauth::extractors::errors::AuthenticationError"]],["impl<C> Send for WwwAuthenticate<C>",1,["actix_web_httpauth::headers::www_authenticate::header::WwwAuthenticate"]],["impl<S> Send for Authorization<S>",1,["actix_web_httpauth::headers::authorization::header::Authorization"]],["impl<T, F> Send for HttpAuthentication<T, F>
where\n F: Sync + Send,\n T: Send,
",1,["actix_web_httpauth::middleware::HttpAuthentication"]]], "actix_ws":[["impl !Send for MessageStream",1,["actix_ws::fut::MessageStream"]],["impl Send for Closed",1,["actix_ws::session::Closed"]],["impl Send for Session",1,["actix_ws::session::Session"]],["impl Send for StreamingBody",1,["actix_ws::fut::StreamingBody"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/marker/trait.Sync.js b/trait.impl/core/marker/trait.Sync.js index aa7bb8aed..7c97bfff3 100644 --- a/trait.impl/core/marker/trait.Sync.js +++ b/trait.impl/core/marker/trait.Sync.js @@ -2,9 +2,9 @@ "actix_cors":[["impl !Sync for Cors",1,["actix_cors::builder::Cors"]],["impl Sync for CorsError",1,["actix_cors::error::CorsError"]]], "actix_identity":[["impl !Sync for Identity",1,["actix_identity::identity::Identity"]],["impl !Sync for IdentityMiddleware",1,["actix_identity::middleware::IdentityMiddleware"]],["impl Sync for LogoutBehaviour",1,["actix_identity::config::LogoutBehaviour"]],["impl Sync for GetIdentityError",1,["actix_identity::error::GetIdentityError"]],["impl Sync for IdentityMiddlewareBuilder",1,["actix_identity::config::IdentityMiddlewareBuilder"]],["impl Sync for LoginError",1,["actix_identity::error::LoginError"]],["impl Sync for LostIdentityError",1,["actix_identity::error::LostIdentityError"]],["impl Sync for MissingIdentityError",1,["actix_identity::error::MissingIdentityError"]],["impl Sync for SessionExpiryError",1,["actix_identity::error::SessionExpiryError"]]], "actix_limitation":[["impl Sync for Error",1,["actix_limitation::errors::Error"]],["impl Sync for Builder",1,["actix_limitation::builder::Builder"]],["impl Sync for Limiter",1,["actix_limitation::Limiter"]],["impl Sync for RateLimiter",1,["actix_limitation::middleware::RateLimiter"]],["impl Sync for Status",1,["actix_limitation::status::Status"]]], -"actix_protobuf":[["impl Sync for ProtoBufPayloadError",1,["actix_protobuf::ProtoBufPayloadError"]],["impl Sync for ProtoBufConfig",1,["actix_protobuf::ProtoBufConfig"]],["impl<T> !Sync for ProtoBufMessage<T>",1,["actix_protobuf::ProtoBufMessage"]],["impl<T> Sync for ProtoBuf<T>
where\n T: Sync + Send + Debug,
",1,["actix_protobuf::ProtoBuf"]]], +"actix_protobuf":[["impl Sync for ProtoBufPayloadError",1,["actix_protobuf::ProtoBufPayloadError"]],["impl Sync for ProtoBufConfig",1,["actix_protobuf::ProtoBufConfig"]],["impl<T> !Sync for ProtoBufMessage<T>",1,["actix_protobuf::ProtoBufMessage"]],["impl<T> Sync for ProtoBuf<T>",1,["actix_protobuf::ProtoBuf"]]], "actix_session":[["impl !Sync for Session",1,["actix_session::session::Session"]],["impl Sync for CookieContentSecurity",1,["actix_session::config::CookieContentSecurity"]],["impl Sync for SessionLifecycle",1,["actix_session::config::SessionLifecycle"]],["impl Sync for TtlExtensionPolicy",1,["actix_session::config::TtlExtensionPolicy"]],["impl Sync for SessionStatus",1,["actix_session::session::SessionStatus"]],["impl Sync for LoadError",1,["actix_session::storage::interface::LoadError"]],["impl Sync for SaveError",1,["actix_session::storage::interface::SaveError"]],["impl Sync for UpdateError",1,["actix_session::storage::interface::UpdateError"]],["impl Sync for BrowserSession",1,["actix_session::config::BrowserSession"]],["impl Sync for PersistentSession",1,["actix_session::config::PersistentSession"]],["impl Sync for CookieSessionStore",1,["actix_session::storage::cookie::CookieSessionStore"]],["impl Sync for RedisSessionStore",1,["actix_session::storage::redis_rs::RedisSessionStore"]],["impl Sync for RedisSessionStoreBuilder",1,["actix_session::storage::redis_rs::RedisSessionStoreBuilder"]],["impl Sync for SessionKey",1,["actix_session::storage::session_key::SessionKey"]],["impl Sync for SessionGetError",1,["actix_session::session::SessionGetError"]],["impl Sync for SessionInsertError",1,["actix_session::session::SessionInsertError"]],["impl<Store> !Sync for SessionMiddleware<Store>",1,["actix_session::middleware::SessionMiddleware"]],["impl<Store> Sync for SessionMiddlewareBuilder<Store>
where\n Store: Sync,
",1,["actix_session::config::SessionMiddlewareBuilder"]]], "actix_settings":[["impl Sync for Backlog",1,["actix_settings::settings::backlog::Backlog"]],["impl Sync for Error",1,["actix_settings::error::Error"]],["impl Sync for KeepAlive",1,["actix_settings::settings::keep_alive::KeepAlive"]],["impl Sync for MaxConnectionRate",1,["actix_settings::settings::max_connection_rate::MaxConnectionRate"]],["impl Sync for MaxConnections",1,["actix_settings::settings::max_connections::MaxConnections"]],["impl Sync for Mode",1,["actix_settings::settings::mode::Mode"]],["impl Sync for NumWorkers",1,["actix_settings::settings::num_workers::NumWorkers"]],["impl Sync for Timeout",1,["actix_settings::settings::timeout::Timeout"]],["impl Sync for ActixSettings",1,["actix_settings::settings::ActixSettings"]],["impl Sync for Address",1,["actix_settings::settings::address::Address"]],["impl Sync for NoSettings",1,["actix_settings::NoSettings"]],["impl Sync for Tls",1,["actix_settings::settings::tls::Tls"]],["impl<A> Sync for BasicSettings<A>
where\n A: Sync,
",1,["actix_settings::BasicSettings"]]], -"actix_web_httpauth":[["impl Sync for Error",1,["actix_web_httpauth::headers::www_authenticate::challenge::bearer::errors::Error"]],["impl Sync for ParseError",1,["actix_web_httpauth::headers::authorization::errors::ParseError"]],["impl Sync for BasicAuth",1,["actix_web_httpauth::extractors::basic::BasicAuth"]],["impl Sync for Config",1,["actix_web_httpauth::extractors::basic::Config"]],["impl Sync for BearerAuth",1,["actix_web_httpauth::extractors::bearer::BearerAuth"]],["impl Sync for Config",1,["actix_web_httpauth::extractors::bearer::Config"]],["impl Sync for Basic",1,["actix_web_httpauth::headers::authorization::scheme::basic::Basic"]],["impl Sync for Bearer",1,["actix_web_httpauth::headers::authorization::scheme::bearer::Bearer"]],["impl Sync for Basic",1,["actix_web_httpauth::headers::www_authenticate::challenge::basic::Basic"]],["impl Sync for Bearer",1,["actix_web_httpauth::headers::www_authenticate::challenge::bearer::challenge::Bearer"]],["impl Sync for BearerBuilder",1,["actix_web_httpauth::headers::www_authenticate::challenge::bearer::builder::BearerBuilder"]],["impl<C> Sync for AuthenticationError<C>
where\n C: Sync + Send + Clone + Display + Debug + TryIntoHeaderValue,
",1,["actix_web_httpauth::extractors::errors::AuthenticationError"]],["impl<C> Sync for WwwAuthenticate<C>
where\n C: Sync + Send + Clone + Display + Debug + TryIntoHeaderValue,
",1,["actix_web_httpauth::headers::www_authenticate::header::WwwAuthenticate"]],["impl<S> Sync for Authorization<S>
where\n S: Sync + Send + Clone + Display + Debug + TryIntoHeaderValue,
",1,["actix_web_httpauth::headers::authorization::header::Authorization"]],["impl<T, F> Sync for HttpAuthentication<T, F>
where\n F: Sync + Send,\n T: Sync,
",1,["actix_web_httpauth::middleware::HttpAuthentication"]]], +"actix_web_httpauth":[["impl Sync for Error",1,["actix_web_httpauth::headers::www_authenticate::challenge::bearer::errors::Error"]],["impl Sync for ParseError",1,["actix_web_httpauth::headers::authorization::errors::ParseError"]],["impl Sync for BasicAuth",1,["actix_web_httpauth::extractors::basic::BasicAuth"]],["impl Sync for Config",1,["actix_web_httpauth::extractors::basic::Config"]],["impl Sync for BearerAuth",1,["actix_web_httpauth::extractors::bearer::BearerAuth"]],["impl Sync for Config",1,["actix_web_httpauth::extractors::bearer::Config"]],["impl Sync for Basic",1,["actix_web_httpauth::headers::authorization::scheme::basic::Basic"]],["impl Sync for Bearer",1,["actix_web_httpauth::headers::authorization::scheme::bearer::Bearer"]],["impl Sync for Basic",1,["actix_web_httpauth::headers::www_authenticate::challenge::basic::Basic"]],["impl Sync for Bearer",1,["actix_web_httpauth::headers::www_authenticate::challenge::bearer::challenge::Bearer"]],["impl Sync for BearerBuilder",1,["actix_web_httpauth::headers::www_authenticate::challenge::bearer::builder::BearerBuilder"]],["impl<C> Sync for AuthenticationError<C>",1,["actix_web_httpauth::extractors::errors::AuthenticationError"]],["impl<C> Sync for WwwAuthenticate<C>",1,["actix_web_httpauth::headers::www_authenticate::header::WwwAuthenticate"]],["impl<S> Sync for Authorization<S>",1,["actix_web_httpauth::headers::authorization::header::Authorization"]],["impl<T, F> Sync for HttpAuthentication<T, F>
where\n F: Sync + Send,\n T: Sync,
",1,["actix_web_httpauth::middleware::HttpAuthentication"]]], "actix_ws":[["impl !Sync for MessageStream",1,["actix_ws::fut::MessageStream"]],["impl Sync for Closed",1,["actix_ws::session::Closed"]],["impl Sync for Session",1,["actix_ws::session::Session"]],["impl Sync for StreamingBody",1,["actix_ws::fut::StreamingBody"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/marker/trait.Unpin.js b/trait.impl/core/marker/trait.Unpin.js index fb92dea00..15ceea9cb 100644 --- a/trait.impl/core/marker/trait.Unpin.js +++ b/trait.impl/core/marker/trait.Unpin.js @@ -2,9 +2,9 @@ "actix_cors":[["impl Unpin for CorsError",1,["actix_cors::error::CorsError"]],["impl Unpin for Cors",1,["actix_cors::builder::Cors"]]], "actix_identity":[["impl Unpin for LogoutBehaviour",1,["actix_identity::config::LogoutBehaviour"]],["impl Unpin for GetIdentityError",1,["actix_identity::error::GetIdentityError"]],["impl Unpin for IdentityMiddlewareBuilder",1,["actix_identity::config::IdentityMiddlewareBuilder"]],["impl Unpin for LoginError",1,["actix_identity::error::LoginError"]],["impl Unpin for LostIdentityError",1,["actix_identity::error::LostIdentityError"]],["impl Unpin for MissingIdentityError",1,["actix_identity::error::MissingIdentityError"]],["impl Unpin for SessionExpiryError",1,["actix_identity::error::SessionExpiryError"]],["impl Unpin for Identity",1,["actix_identity::identity::Identity"]],["impl Unpin for IdentityMiddleware",1,["actix_identity::middleware::IdentityMiddleware"]]], "actix_limitation":[["impl Unpin for Error",1,["actix_limitation::errors::Error"]],["impl Unpin for Builder",1,["actix_limitation::builder::Builder"]],["impl Unpin for Limiter",1,["actix_limitation::Limiter"]],["impl Unpin for RateLimiter",1,["actix_limitation::middleware::RateLimiter"]],["impl Unpin for Status",1,["actix_limitation::status::Status"]]], -"actix_protobuf":[["impl Unpin for ProtoBufPayloadError",1,["actix_protobuf::ProtoBufPayloadError"]],["impl Unpin for ProtoBufConfig",1,["actix_protobuf::ProtoBufConfig"]],["impl<T> Unpin for ProtoBuf<T>
where\n T: Sync + Send + Debug + Unpin,
",1,["actix_protobuf::ProtoBuf"]],["impl<T> Unpin for ProtoBufMessage<T>
where\n T: Sync + Send + Debug,
",1,["actix_protobuf::ProtoBufMessage"]]], +"actix_protobuf":[["impl Unpin for ProtoBufPayloadError",1,["actix_protobuf::ProtoBufPayloadError"]],["impl Unpin for ProtoBufConfig",1,["actix_protobuf::ProtoBufConfig"]],["impl<T> Unpin for ProtoBuf<T>
where\n T: Unpin,
",1,["actix_protobuf::ProtoBuf"]],["impl<T> Unpin for ProtoBufMessage<T>",1,["actix_protobuf::ProtoBufMessage"]]], "actix_session":[["impl Unpin for CookieContentSecurity",1,["actix_session::config::CookieContentSecurity"]],["impl Unpin for SessionLifecycle",1,["actix_session::config::SessionLifecycle"]],["impl Unpin for TtlExtensionPolicy",1,["actix_session::config::TtlExtensionPolicy"]],["impl Unpin for SessionStatus",1,["actix_session::session::SessionStatus"]],["impl Unpin for LoadError",1,["actix_session::storage::interface::LoadError"]],["impl Unpin for SaveError",1,["actix_session::storage::interface::SaveError"]],["impl Unpin for UpdateError",1,["actix_session::storage::interface::UpdateError"]],["impl Unpin for BrowserSession",1,["actix_session::config::BrowserSession"]],["impl Unpin for PersistentSession",1,["actix_session::config::PersistentSession"]],["impl Unpin for CookieSessionStore",1,["actix_session::storage::cookie::CookieSessionStore"]],["impl Unpin for RedisSessionStore",1,["actix_session::storage::redis_rs::RedisSessionStore"]],["impl Unpin for RedisSessionStoreBuilder",1,["actix_session::storage::redis_rs::RedisSessionStoreBuilder"]],["impl Unpin for SessionKey",1,["actix_session::storage::session_key::SessionKey"]],["impl Unpin for Session",1,["actix_session::session::Session"]],["impl Unpin for SessionGetError",1,["actix_session::session::SessionGetError"]],["impl Unpin for SessionInsertError",1,["actix_session::session::SessionInsertError"]],["impl<Store> Unpin for SessionMiddlewareBuilder<Store>
where\n Store: Unpin,
",1,["actix_session::config::SessionMiddlewareBuilder"]],["impl<Store> Unpin for SessionMiddleware<Store>",1,["actix_session::middleware::SessionMiddleware"]]], "actix_settings":[["impl Unpin for Backlog",1,["actix_settings::settings::backlog::Backlog"]],["impl Unpin for Error",1,["actix_settings::error::Error"]],["impl Unpin for KeepAlive",1,["actix_settings::settings::keep_alive::KeepAlive"]],["impl Unpin for MaxConnectionRate",1,["actix_settings::settings::max_connection_rate::MaxConnectionRate"]],["impl Unpin for MaxConnections",1,["actix_settings::settings::max_connections::MaxConnections"]],["impl Unpin for Mode",1,["actix_settings::settings::mode::Mode"]],["impl Unpin for NumWorkers",1,["actix_settings::settings::num_workers::NumWorkers"]],["impl Unpin for Timeout",1,["actix_settings::settings::timeout::Timeout"]],["impl Unpin for ActixSettings",1,["actix_settings::settings::ActixSettings"]],["impl Unpin for Address",1,["actix_settings::settings::address::Address"]],["impl Unpin for NoSettings",1,["actix_settings::NoSettings"]],["impl Unpin for Tls",1,["actix_settings::settings::tls::Tls"]],["impl<A> Unpin for BasicSettings<A>
where\n A: Unpin,
",1,["actix_settings::BasicSettings"]]], -"actix_web_httpauth":[["impl Unpin for Error",1,["actix_web_httpauth::headers::www_authenticate::challenge::bearer::errors::Error"]],["impl Unpin for ParseError",1,["actix_web_httpauth::headers::authorization::errors::ParseError"]],["impl Unpin for BasicAuth",1,["actix_web_httpauth::extractors::basic::BasicAuth"]],["impl Unpin for Config",1,["actix_web_httpauth::extractors::basic::Config"]],["impl Unpin for BearerAuth",1,["actix_web_httpauth::extractors::bearer::BearerAuth"]],["impl Unpin for Config",1,["actix_web_httpauth::extractors::bearer::Config"]],["impl Unpin for Basic",1,["actix_web_httpauth::headers::authorization::scheme::basic::Basic"]],["impl Unpin for Bearer",1,["actix_web_httpauth::headers::authorization::scheme::bearer::Bearer"]],["impl Unpin for Basic",1,["actix_web_httpauth::headers::www_authenticate::challenge::basic::Basic"]],["impl Unpin for Bearer",1,["actix_web_httpauth::headers::www_authenticate::challenge::bearer::challenge::Bearer"]],["impl Unpin for BearerBuilder",1,["actix_web_httpauth::headers::www_authenticate::challenge::bearer::builder::BearerBuilder"]],["impl<C> Unpin for AuthenticationError<C>
where\n C: Sync + Send + Clone + Display + Debug + TryIntoHeaderValue + Unpin,
",1,["actix_web_httpauth::extractors::errors::AuthenticationError"]],["impl<C> Unpin for WwwAuthenticate<C>
where\n C: Sync + Send + Clone + Display + Debug + TryIntoHeaderValue + Unpin,
",1,["actix_web_httpauth::headers::www_authenticate::header::WwwAuthenticate"]],["impl<S> Unpin for Authorization<S>
where\n S: Sync + Send + Clone + Display + Debug + TryIntoHeaderValue + Unpin,
",1,["actix_web_httpauth::headers::authorization::header::Authorization"]],["impl<T, F> Unpin for HttpAuthentication<T, F>
where\n T: Unpin,
",1,["actix_web_httpauth::middleware::HttpAuthentication"]]], +"actix_web_httpauth":[["impl Unpin for Error",1,["actix_web_httpauth::headers::www_authenticate::challenge::bearer::errors::Error"]],["impl Unpin for ParseError",1,["actix_web_httpauth::headers::authorization::errors::ParseError"]],["impl Unpin for BasicAuth",1,["actix_web_httpauth::extractors::basic::BasicAuth"]],["impl Unpin for Config",1,["actix_web_httpauth::extractors::basic::Config"]],["impl Unpin for BearerAuth",1,["actix_web_httpauth::extractors::bearer::BearerAuth"]],["impl Unpin for Config",1,["actix_web_httpauth::extractors::bearer::Config"]],["impl Unpin for Basic",1,["actix_web_httpauth::headers::authorization::scheme::basic::Basic"]],["impl Unpin for Bearer",1,["actix_web_httpauth::headers::authorization::scheme::bearer::Bearer"]],["impl Unpin for Basic",1,["actix_web_httpauth::headers::www_authenticate::challenge::basic::Basic"]],["impl Unpin for Bearer",1,["actix_web_httpauth::headers::www_authenticate::challenge::bearer::challenge::Bearer"]],["impl Unpin for BearerBuilder",1,["actix_web_httpauth::headers::www_authenticate::challenge::bearer::builder::BearerBuilder"]],["impl<C> Unpin for AuthenticationError<C>
where\n C: Unpin,
",1,["actix_web_httpauth::extractors::errors::AuthenticationError"]],["impl<C> Unpin for WwwAuthenticate<C>
where\n C: Unpin,
",1,["actix_web_httpauth::headers::www_authenticate::header::WwwAuthenticate"]],["impl<S> Unpin for Authorization<S>
where\n S: Unpin,
",1,["actix_web_httpauth::headers::authorization::header::Authorization"]],["impl<T, F> Unpin for HttpAuthentication<T, F>
where\n T: Unpin,
",1,["actix_web_httpauth::middleware::HttpAuthentication"]]], "actix_ws":[["impl Unpin for Closed",1,["actix_ws::session::Closed"]],["impl Unpin for MessageStream",1,["actix_ws::fut::MessageStream"]],["impl Unpin for Session",1,["actix_ws::session::Session"]],["impl Unpin for StreamingBody",1,["actix_ws::fut::StreamingBody"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js b/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js index 9b38a974b..e3c7e5bc2 100644 --- a/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js +++ b/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js @@ -2,9 +2,9 @@ "actix_cors":[["impl !RefUnwindSafe for Cors",1,["actix_cors::builder::Cors"]],["impl RefUnwindSafe for CorsError",1,["actix_cors::error::CorsError"]]], "actix_identity":[["impl !RefUnwindSafe for Identity",1,["actix_identity::identity::Identity"]],["impl RefUnwindSafe for LogoutBehaviour",1,["actix_identity::config::LogoutBehaviour"]],["impl RefUnwindSafe for GetIdentityError",1,["actix_identity::error::GetIdentityError"]],["impl RefUnwindSafe for IdentityMiddlewareBuilder",1,["actix_identity::config::IdentityMiddlewareBuilder"]],["impl RefUnwindSafe for LoginError",1,["actix_identity::error::LoginError"]],["impl RefUnwindSafe for LostIdentityError",1,["actix_identity::error::LostIdentityError"]],["impl RefUnwindSafe for MissingIdentityError",1,["actix_identity::error::MissingIdentityError"]],["impl RefUnwindSafe for SessionExpiryError",1,["actix_identity::error::SessionExpiryError"]],["impl RefUnwindSafe for IdentityMiddleware",1,["actix_identity::middleware::IdentityMiddleware"]]], "actix_limitation":[["impl !RefUnwindSafe for Error",1,["actix_limitation::errors::Error"]],["impl !RefUnwindSafe for Builder",1,["actix_limitation::builder::Builder"]],["impl !RefUnwindSafe for Limiter",1,["actix_limitation::Limiter"]],["impl RefUnwindSafe for RateLimiter",1,["actix_limitation::middleware::RateLimiter"]],["impl RefUnwindSafe for Status",1,["actix_limitation::status::Status"]]], -"actix_protobuf":[["impl !RefUnwindSafe for ProtoBufPayloadError",1,["actix_protobuf::ProtoBufPayloadError"]],["impl RefUnwindSafe for ProtoBufConfig",1,["actix_protobuf::ProtoBufConfig"]],["impl<T> !RefUnwindSafe for ProtoBufMessage<T>",1,["actix_protobuf::ProtoBufMessage"]],["impl<T> RefUnwindSafe for ProtoBuf<T>
where\n T: Sync + Send + Debug + RefUnwindSafe,
",1,["actix_protobuf::ProtoBuf"]]], +"actix_protobuf":[["impl !RefUnwindSafe for ProtoBufPayloadError",1,["actix_protobuf::ProtoBufPayloadError"]],["impl RefUnwindSafe for ProtoBufConfig",1,["actix_protobuf::ProtoBufConfig"]],["impl<T> !RefUnwindSafe for ProtoBufMessage<T>",1,["actix_protobuf::ProtoBufMessage"]],["impl<T> RefUnwindSafe for ProtoBuf<T>
where\n T: RefUnwindSafe,
",1,["actix_protobuf::ProtoBuf"]]], "actix_session":[["impl !RefUnwindSafe for RedisSessionStore",1,["actix_session::storage::redis_rs::RedisSessionStore"]],["impl !RefUnwindSafe for RedisSessionStoreBuilder",1,["actix_session::storage::redis_rs::RedisSessionStoreBuilder"]],["impl !RefUnwindSafe for Session",1,["actix_session::session::Session"]],["impl RefUnwindSafe for CookieContentSecurity",1,["actix_session::config::CookieContentSecurity"]],["impl RefUnwindSafe for SessionLifecycle",1,["actix_session::config::SessionLifecycle"]],["impl RefUnwindSafe for TtlExtensionPolicy",1,["actix_session::config::TtlExtensionPolicy"]],["impl RefUnwindSafe for SessionStatus",1,["actix_session::session::SessionStatus"]],["impl RefUnwindSafe for LoadError",1,["actix_session::storage::interface::LoadError"]],["impl RefUnwindSafe for SaveError",1,["actix_session::storage::interface::SaveError"]],["impl RefUnwindSafe for UpdateError",1,["actix_session::storage::interface::UpdateError"]],["impl RefUnwindSafe for BrowserSession",1,["actix_session::config::BrowserSession"]],["impl RefUnwindSafe for PersistentSession",1,["actix_session::config::PersistentSession"]],["impl RefUnwindSafe for CookieSessionStore",1,["actix_session::storage::cookie::CookieSessionStore"]],["impl RefUnwindSafe for SessionKey",1,["actix_session::storage::session_key::SessionKey"]],["impl RefUnwindSafe for SessionGetError",1,["actix_session::session::SessionGetError"]],["impl RefUnwindSafe for SessionInsertError",1,["actix_session::session::SessionInsertError"]],["impl<Store> RefUnwindSafe for SessionMiddlewareBuilder<Store>
where\n Store: RefUnwindSafe,
",1,["actix_session::config::SessionMiddlewareBuilder"]],["impl<Store> RefUnwindSafe for SessionMiddleware<Store>
where\n Store: RefUnwindSafe,
",1,["actix_session::middleware::SessionMiddleware"]]], "actix_settings":[["impl !RefUnwindSafe for Error",1,["actix_settings::error::Error"]],["impl RefUnwindSafe for Backlog",1,["actix_settings::settings::backlog::Backlog"]],["impl RefUnwindSafe for KeepAlive",1,["actix_settings::settings::keep_alive::KeepAlive"]],["impl RefUnwindSafe for MaxConnectionRate",1,["actix_settings::settings::max_connection_rate::MaxConnectionRate"]],["impl RefUnwindSafe for MaxConnections",1,["actix_settings::settings::max_connections::MaxConnections"]],["impl RefUnwindSafe for Mode",1,["actix_settings::settings::mode::Mode"]],["impl RefUnwindSafe for NumWorkers",1,["actix_settings::settings::num_workers::NumWorkers"]],["impl RefUnwindSafe for Timeout",1,["actix_settings::settings::timeout::Timeout"]],["impl RefUnwindSafe for ActixSettings",1,["actix_settings::settings::ActixSettings"]],["impl RefUnwindSafe for Address",1,["actix_settings::settings::address::Address"]],["impl RefUnwindSafe for NoSettings",1,["actix_settings::NoSettings"]],["impl RefUnwindSafe for Tls",1,["actix_settings::settings::tls::Tls"]],["impl<A> RefUnwindSafe for BasicSettings<A>
where\n A: RefUnwindSafe,
",1,["actix_settings::BasicSettings"]]], -"actix_web_httpauth":[["impl RefUnwindSafe for Error",1,["actix_web_httpauth::headers::www_authenticate::challenge::bearer::errors::Error"]],["impl RefUnwindSafe for ParseError",1,["actix_web_httpauth::headers::authorization::errors::ParseError"]],["impl RefUnwindSafe for BasicAuth",1,["actix_web_httpauth::extractors::basic::BasicAuth"]],["impl RefUnwindSafe for Config",1,["actix_web_httpauth::extractors::basic::Config"]],["impl RefUnwindSafe for BearerAuth",1,["actix_web_httpauth::extractors::bearer::BearerAuth"]],["impl RefUnwindSafe for Config",1,["actix_web_httpauth::extractors::bearer::Config"]],["impl RefUnwindSafe for Basic",1,["actix_web_httpauth::headers::authorization::scheme::basic::Basic"]],["impl RefUnwindSafe for Bearer",1,["actix_web_httpauth::headers::authorization::scheme::bearer::Bearer"]],["impl RefUnwindSafe for Basic",1,["actix_web_httpauth::headers::www_authenticate::challenge::basic::Basic"]],["impl RefUnwindSafe for Bearer",1,["actix_web_httpauth::headers::www_authenticate::challenge::bearer::challenge::Bearer"]],["impl RefUnwindSafe for BearerBuilder",1,["actix_web_httpauth::headers::www_authenticate::challenge::bearer::builder::BearerBuilder"]],["impl<C> RefUnwindSafe for AuthenticationError<C>
where\n C: Sync + Send + Clone + Display + Debug + TryIntoHeaderValue + RefUnwindSafe,
",1,["actix_web_httpauth::extractors::errors::AuthenticationError"]],["impl<C> RefUnwindSafe for WwwAuthenticate<C>
where\n C: Sync + Send + Clone + Display + Debug + TryIntoHeaderValue + RefUnwindSafe,
",1,["actix_web_httpauth::headers::www_authenticate::header::WwwAuthenticate"]],["impl<S> RefUnwindSafe for Authorization<S>
where\n S: Sync + Send + Clone + Display + Debug + TryIntoHeaderValue + RefUnwindSafe,
",1,["actix_web_httpauth::headers::authorization::header::Authorization"]],["impl<T, F> RefUnwindSafe for HttpAuthentication<T, F>
where\n T: RefUnwindSafe,\n F: RefUnwindSafe,
",1,["actix_web_httpauth::middleware::HttpAuthentication"]]], +"actix_web_httpauth":[["impl RefUnwindSafe for Error",1,["actix_web_httpauth::headers::www_authenticate::challenge::bearer::errors::Error"]],["impl RefUnwindSafe for ParseError",1,["actix_web_httpauth::headers::authorization::errors::ParseError"]],["impl RefUnwindSafe for BasicAuth",1,["actix_web_httpauth::extractors::basic::BasicAuth"]],["impl RefUnwindSafe for Config",1,["actix_web_httpauth::extractors::basic::Config"]],["impl RefUnwindSafe for BearerAuth",1,["actix_web_httpauth::extractors::bearer::BearerAuth"]],["impl RefUnwindSafe for Config",1,["actix_web_httpauth::extractors::bearer::Config"]],["impl RefUnwindSafe for Basic",1,["actix_web_httpauth::headers::authorization::scheme::basic::Basic"]],["impl RefUnwindSafe for Bearer",1,["actix_web_httpauth::headers::authorization::scheme::bearer::Bearer"]],["impl RefUnwindSafe for Basic",1,["actix_web_httpauth::headers::www_authenticate::challenge::basic::Basic"]],["impl RefUnwindSafe for Bearer",1,["actix_web_httpauth::headers::www_authenticate::challenge::bearer::challenge::Bearer"]],["impl RefUnwindSafe for BearerBuilder",1,["actix_web_httpauth::headers::www_authenticate::challenge::bearer::builder::BearerBuilder"]],["impl<C> RefUnwindSafe for AuthenticationError<C>
where\n C: RefUnwindSafe,
",1,["actix_web_httpauth::extractors::errors::AuthenticationError"]],["impl<C> RefUnwindSafe for WwwAuthenticate<C>
where\n C: RefUnwindSafe,
",1,["actix_web_httpauth::headers::www_authenticate::header::WwwAuthenticate"]],["impl<S> RefUnwindSafe for Authorization<S>
where\n S: RefUnwindSafe,
",1,["actix_web_httpauth::headers::authorization::header::Authorization"]],["impl<T, F> RefUnwindSafe for HttpAuthentication<T, F>
where\n T: RefUnwindSafe,\n F: RefUnwindSafe,
",1,["actix_web_httpauth::middleware::HttpAuthentication"]]], "actix_ws":[["impl !RefUnwindSafe for MessageStream",1,["actix_ws::fut::MessageStream"]],["impl !RefUnwindSafe for Session",1,["actix_ws::session::Session"]],["impl !RefUnwindSafe for StreamingBody",1,["actix_ws::fut::StreamingBody"]],["impl RefUnwindSafe for Closed",1,["actix_ws::session::Closed"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js b/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js index d1ae10f6c..b5e292ccc 100644 --- a/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js +++ b/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js @@ -2,9 +2,9 @@ "actix_cors":[["impl !UnwindSafe for Cors",1,["actix_cors::builder::Cors"]],["impl UnwindSafe for CorsError",1,["actix_cors::error::CorsError"]]], "actix_identity":[["impl !UnwindSafe for Identity",1,["actix_identity::identity::Identity"]],["impl UnwindSafe for LogoutBehaviour",1,["actix_identity::config::LogoutBehaviour"]],["impl UnwindSafe for GetIdentityError",1,["actix_identity::error::GetIdentityError"]],["impl UnwindSafe for IdentityMiddlewareBuilder",1,["actix_identity::config::IdentityMiddlewareBuilder"]],["impl UnwindSafe for LoginError",1,["actix_identity::error::LoginError"]],["impl UnwindSafe for LostIdentityError",1,["actix_identity::error::LostIdentityError"]],["impl UnwindSafe for MissingIdentityError",1,["actix_identity::error::MissingIdentityError"]],["impl UnwindSafe for SessionExpiryError",1,["actix_identity::error::SessionExpiryError"]],["impl UnwindSafe for IdentityMiddleware",1,["actix_identity::middleware::IdentityMiddleware"]]], "actix_limitation":[["impl !UnwindSafe for Error",1,["actix_limitation::errors::Error"]],["impl !UnwindSafe for Builder",1,["actix_limitation::builder::Builder"]],["impl !UnwindSafe for Limiter",1,["actix_limitation::Limiter"]],["impl UnwindSafe for RateLimiter",1,["actix_limitation::middleware::RateLimiter"]],["impl UnwindSafe for Status",1,["actix_limitation::status::Status"]]], -"actix_protobuf":[["impl !UnwindSafe for ProtoBufPayloadError",1,["actix_protobuf::ProtoBufPayloadError"]],["impl UnwindSafe for ProtoBufConfig",1,["actix_protobuf::ProtoBufConfig"]],["impl<T> !UnwindSafe for ProtoBufMessage<T>",1,["actix_protobuf::ProtoBufMessage"]],["impl<T> UnwindSafe for ProtoBuf<T>
where\n T: Sync + Send + Debug + UnwindSafe,
",1,["actix_protobuf::ProtoBuf"]]], +"actix_protobuf":[["impl !UnwindSafe for ProtoBufPayloadError",1,["actix_protobuf::ProtoBufPayloadError"]],["impl UnwindSafe for ProtoBufConfig",1,["actix_protobuf::ProtoBufConfig"]],["impl<T> !UnwindSafe for ProtoBufMessage<T>",1,["actix_protobuf::ProtoBufMessage"]],["impl<T> UnwindSafe for ProtoBuf<T>
where\n T: UnwindSafe,
",1,["actix_protobuf::ProtoBuf"]]], "actix_session":[["impl !UnwindSafe for RedisSessionStore",1,["actix_session::storage::redis_rs::RedisSessionStore"]],["impl !UnwindSafe for RedisSessionStoreBuilder",1,["actix_session::storage::redis_rs::RedisSessionStoreBuilder"]],["impl !UnwindSafe for Session",1,["actix_session::session::Session"]],["impl UnwindSafe for CookieContentSecurity",1,["actix_session::config::CookieContentSecurity"]],["impl UnwindSafe for SessionLifecycle",1,["actix_session::config::SessionLifecycle"]],["impl UnwindSafe for TtlExtensionPolicy",1,["actix_session::config::TtlExtensionPolicy"]],["impl UnwindSafe for SessionStatus",1,["actix_session::session::SessionStatus"]],["impl UnwindSafe for LoadError",1,["actix_session::storage::interface::LoadError"]],["impl UnwindSafe for SaveError",1,["actix_session::storage::interface::SaveError"]],["impl UnwindSafe for UpdateError",1,["actix_session::storage::interface::UpdateError"]],["impl UnwindSafe for BrowserSession",1,["actix_session::config::BrowserSession"]],["impl UnwindSafe for PersistentSession",1,["actix_session::config::PersistentSession"]],["impl UnwindSafe for CookieSessionStore",1,["actix_session::storage::cookie::CookieSessionStore"]],["impl UnwindSafe for SessionKey",1,["actix_session::storage::session_key::SessionKey"]],["impl UnwindSafe for SessionGetError",1,["actix_session::session::SessionGetError"]],["impl UnwindSafe for SessionInsertError",1,["actix_session::session::SessionInsertError"]],["impl<Store> UnwindSafe for SessionMiddlewareBuilder<Store>
where\n Store: UnwindSafe,
",1,["actix_session::config::SessionMiddlewareBuilder"]],["impl<Store> UnwindSafe for SessionMiddleware<Store>
where\n Store: RefUnwindSafe,
",1,["actix_session::middleware::SessionMiddleware"]]], "actix_settings":[["impl !UnwindSafe for Error",1,["actix_settings::error::Error"]],["impl UnwindSafe for Backlog",1,["actix_settings::settings::backlog::Backlog"]],["impl UnwindSafe for KeepAlive",1,["actix_settings::settings::keep_alive::KeepAlive"]],["impl UnwindSafe for MaxConnectionRate",1,["actix_settings::settings::max_connection_rate::MaxConnectionRate"]],["impl UnwindSafe for MaxConnections",1,["actix_settings::settings::max_connections::MaxConnections"]],["impl UnwindSafe for Mode",1,["actix_settings::settings::mode::Mode"]],["impl UnwindSafe for NumWorkers",1,["actix_settings::settings::num_workers::NumWorkers"]],["impl UnwindSafe for Timeout",1,["actix_settings::settings::timeout::Timeout"]],["impl UnwindSafe for ActixSettings",1,["actix_settings::settings::ActixSettings"]],["impl UnwindSafe for Address",1,["actix_settings::settings::address::Address"]],["impl UnwindSafe for NoSettings",1,["actix_settings::NoSettings"]],["impl UnwindSafe for Tls",1,["actix_settings::settings::tls::Tls"]],["impl<A> UnwindSafe for BasicSettings<A>
where\n A: UnwindSafe,
",1,["actix_settings::BasicSettings"]]], -"actix_web_httpauth":[["impl UnwindSafe for Error",1,["actix_web_httpauth::headers::www_authenticate::challenge::bearer::errors::Error"]],["impl UnwindSafe for ParseError",1,["actix_web_httpauth::headers::authorization::errors::ParseError"]],["impl UnwindSafe for BasicAuth",1,["actix_web_httpauth::extractors::basic::BasicAuth"]],["impl UnwindSafe for Config",1,["actix_web_httpauth::extractors::basic::Config"]],["impl UnwindSafe for BearerAuth",1,["actix_web_httpauth::extractors::bearer::BearerAuth"]],["impl UnwindSafe for Config",1,["actix_web_httpauth::extractors::bearer::Config"]],["impl UnwindSafe for Basic",1,["actix_web_httpauth::headers::authorization::scheme::basic::Basic"]],["impl UnwindSafe for Bearer",1,["actix_web_httpauth::headers::authorization::scheme::bearer::Bearer"]],["impl UnwindSafe for Basic",1,["actix_web_httpauth::headers::www_authenticate::challenge::basic::Basic"]],["impl UnwindSafe for Bearer",1,["actix_web_httpauth::headers::www_authenticate::challenge::bearer::challenge::Bearer"]],["impl UnwindSafe for BearerBuilder",1,["actix_web_httpauth::headers::www_authenticate::challenge::bearer::builder::BearerBuilder"]],["impl<C> UnwindSafe for AuthenticationError<C>
where\n C: Sync + Send + Clone + Display + Debug + TryIntoHeaderValue + UnwindSafe,
",1,["actix_web_httpauth::extractors::errors::AuthenticationError"]],["impl<C> UnwindSafe for WwwAuthenticate<C>
where\n C: Sync + Send + Clone + Display + Debug + TryIntoHeaderValue + UnwindSafe,
",1,["actix_web_httpauth::headers::www_authenticate::header::WwwAuthenticate"]],["impl<S> UnwindSafe for Authorization<S>
where\n S: Sync + Send + Clone + Display + Debug + TryIntoHeaderValue + UnwindSafe,
",1,["actix_web_httpauth::headers::authorization::header::Authorization"]],["impl<T, F> UnwindSafe for HttpAuthentication<T, F>
where\n F: RefUnwindSafe,\n T: UnwindSafe,
",1,["actix_web_httpauth::middleware::HttpAuthentication"]]], +"actix_web_httpauth":[["impl UnwindSafe for Error",1,["actix_web_httpauth::headers::www_authenticate::challenge::bearer::errors::Error"]],["impl UnwindSafe for ParseError",1,["actix_web_httpauth::headers::authorization::errors::ParseError"]],["impl UnwindSafe for BasicAuth",1,["actix_web_httpauth::extractors::basic::BasicAuth"]],["impl UnwindSafe for Config",1,["actix_web_httpauth::extractors::basic::Config"]],["impl UnwindSafe for BearerAuth",1,["actix_web_httpauth::extractors::bearer::BearerAuth"]],["impl UnwindSafe for Config",1,["actix_web_httpauth::extractors::bearer::Config"]],["impl UnwindSafe for Basic",1,["actix_web_httpauth::headers::authorization::scheme::basic::Basic"]],["impl UnwindSafe for Bearer",1,["actix_web_httpauth::headers::authorization::scheme::bearer::Bearer"]],["impl UnwindSafe for Basic",1,["actix_web_httpauth::headers::www_authenticate::challenge::basic::Basic"]],["impl UnwindSafe for Bearer",1,["actix_web_httpauth::headers::www_authenticate::challenge::bearer::challenge::Bearer"]],["impl UnwindSafe for BearerBuilder",1,["actix_web_httpauth::headers::www_authenticate::challenge::bearer::builder::BearerBuilder"]],["impl<C> UnwindSafe for AuthenticationError<C>
where\n C: UnwindSafe,
",1,["actix_web_httpauth::extractors::errors::AuthenticationError"]],["impl<C> UnwindSafe for WwwAuthenticate<C>
where\n C: UnwindSafe,
",1,["actix_web_httpauth::headers::www_authenticate::header::WwwAuthenticate"]],["impl<S> UnwindSafe for Authorization<S>
where\n S: UnwindSafe,
",1,["actix_web_httpauth::headers::authorization::header::Authorization"]],["impl<T, F> UnwindSafe for HttpAuthentication<T, F>
where\n F: RefUnwindSafe,\n T: UnwindSafe,
",1,["actix_web_httpauth::middleware::HttpAuthentication"]]], "actix_ws":[["impl !UnwindSafe for MessageStream",1,["actix_ws::fut::MessageStream"]],["impl !UnwindSafe for Session",1,["actix_ws::session::Session"]],["impl !UnwindSafe for StreamingBody",1,["actix_ws::fut::StreamingBody"]],["impl UnwindSafe for Closed",1,["actix_ws::session::Closed"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/trait.impl/serde/de/trait.Deserialize.js b/trait.impl/serde/de/trait.Deserialize.js index ae9a0e642..ca6d405df 100644 --- a/trait.impl/serde/de/trait.Deserialize.js +++ b/trait.impl/serde/de/trait.Deserialize.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"actix_settings":[["impl<'de> Deserialize<'de> for Backlog"],["impl<'de> Deserialize<'de> for KeepAlive"],["impl<'de> Deserialize<'de> for MaxConnectionRate"],["impl<'de> Deserialize<'de> for MaxConnections"],["impl<'de> Deserialize<'de> for Mode"],["impl<'de> Deserialize<'de> for NumWorkers"],["impl<'de> Deserialize<'de> for Timeout"],["impl<'de> Deserialize<'de> for ActixSettings"],["impl<'de> Deserialize<'de> for Address"],["impl<'de> Deserialize<'de> for NoSettings"],["impl<'de> Deserialize<'de> for Tls"],["impl<'de, A> Deserialize<'de> for BasicSettings<A>
where\n A: Deserialize<'de>,
"]] +"actix_settings":[["impl<'de> Deserialize<'de> for Backlog"],["impl<'de> Deserialize<'de> for KeepAlive"],["impl<'de> Deserialize<'de> for MaxConnectionRate"],["impl<'de> Deserialize<'de> for MaxConnections"],["impl<'de> Deserialize<'de> for Mode"],["impl<'de> Deserialize<'de> for NumWorkers"],["impl<'de> Deserialize<'de> for Timeout"],["impl<'de> Deserialize<'de> for ActixSettings"],["impl<'de> Deserialize<'de> for Address"],["impl<'de> Deserialize<'de> for NoSettings"],["impl<'de> Deserialize<'de> for Tls"],["impl<'de, A> Deserialize<'de> for BasicSettings<A>
where\n A: Deserialize<'de>,
"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/type.impl/actix_settings/struct.BasicSettings.js b/type.impl/actix_settings/struct.BasicSettings.js index 6fc73e793..315575b3a 100644 --- a/type.impl/actix_settings/struct.BasicSettings.js +++ b/type.impl/actix_settings/struct.BasicSettings.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"actix_settings":[["
source§

impl<A> BasicSettings<A>
where\n A: DeserializeOwned,

source

pub fn parse_toml<P>(filepath: P) -> Result<Self, Error>
where\n P: AsRef<Path>,

Parse an instance of Self from a TOML file located at filepath.

\n

If the file doesn’t exist, it is generated from the default TOML template, after which the\nnewly generated file is read in and parsed.

\n
source

pub fn from_default_template() -> Self

Parse an instance of Self straight from the default TOML template.

\n
source

pub fn from_template(template: &str) -> Result<Self, Error>

Parse an instance of Self straight from the default TOML template.

\n
source

pub fn write_toml_file<P>(filepath: P) -> Result<(), Error>
where\n P: AsRef<Path>,

Writes the default TOML template to a new file, located at filepath.

\n
§Errors
\n

Returns a FileExists error if a file already exists at that\nlocation.

\n
source

pub fn override_field<F, V>(field: &mut F, value: V) -> Result<(), Error>
where\n F: Parse,\n V: AsRef<str>,

Attempts to parse value and override the referenced field.

\n
§Examples
\n
use actix_settings::{Settings, Mode};\n\nlet mut settings = Settings::from_default_template();\nassert_eq!(settings.actix.mode, Mode::Development);\n\nSettings::override_field(&mut settings.actix.mode, \"production\")?;\nassert_eq!(settings.actix.mode, Mode::Production);
\n
source

pub fn override_field_with_env_var<F, N>(\n field: &mut F,\n var_name: N\n) -> Result<(), Error>
where\n F: Parse,\n N: AsRef<str>,

Attempts to read an environment variable, parse it, and override the referenced field.

\n
§Examples
\n
use actix_settings::{Settings, Mode};\n\nstd::env::set_var(\"OVERRIDE__MODE\", \"production\");\n\nlet mut settings = Settings::from_default_template();\nassert_eq!(settings.actix.mode, Mode::Development);\n\nSettings::override_field_with_env_var(&mut settings.actix.mode, \"OVERRIDE__MODE\")?;\nassert_eq!(settings.actix.mode, Mode::Production);
\n
",0,"actix_settings::Settings"],["
source§

impl<A: Clone> Clone for BasicSettings<A>

source§

fn clone(&self) -> BasicSettings<A>

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
","Clone","actix_settings::Settings"],["
source§

impl<A: Debug> Debug for BasicSettings<A>

source§

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

Formats the value using the given formatter. Read more
","Debug","actix_settings::Settings"],["
source§

impl<'de, A> Deserialize<'de> for BasicSettings<A>
where\n A: Deserialize<'de>,

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where\n __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
","Deserialize<'de>","actix_settings::Settings"],["
source§

impl<A: Hash> Hash for BasicSettings<A>

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where\n H: Hasher,\n Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
","Hash","actix_settings::Settings"],["
source§

impl<A: PartialEq> PartialEq for BasicSettings<A>

source§

fn eq(&self, other: &BasicSettings<A>) -> bool

This method tests for self and other values to be equal, and is used\nby ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
","PartialEq","actix_settings::Settings"],["
source§

impl<A: Eq> Eq for BasicSettings<A>

","Eq","actix_settings::Settings"],["
source§

impl<A> StructuralPartialEq for BasicSettings<A>

","StructuralPartialEq","actix_settings::Settings"]] +"actix_settings":[["
source§

impl<A> BasicSettings<A>
where\n A: DeserializeOwned,

source

pub fn parse_toml<P>(filepath: P) -> Result<Self, Error>
where\n P: AsRef<Path>,

Parse an instance of Self from a TOML file located at filepath.

\n

If the file doesn’t exist, it is generated from the default TOML template, after which the\nnewly generated file is read in and parsed.

\n
source

pub fn from_default_template() -> Self

Parse an instance of Self straight from the default TOML template.

\n
source

pub fn from_template(template: &str) -> Result<Self, Error>

Parse an instance of Self straight from the default TOML template.

\n
source

pub fn write_toml_file<P>(filepath: P) -> Result<(), Error>
where\n P: AsRef<Path>,

Writes the default TOML template to a new file, located at filepath.

\n
§Errors
\n

Returns a FileExists error if a file already exists at that\nlocation.

\n
source

pub fn override_field<F, V>(field: &mut F, value: V) -> Result<(), Error>
where\n F: Parse,\n V: AsRef<str>,

Attempts to parse value and override the referenced field.

\n
§Examples
\n
use actix_settings::{Settings, Mode};\n\nlet mut settings = Settings::from_default_template();\nassert_eq!(settings.actix.mode, Mode::Development);\n\nSettings::override_field(&mut settings.actix.mode, \"production\")?;\nassert_eq!(settings.actix.mode, Mode::Production);
\n
source

pub fn override_field_with_env_var<F, N>(\n field: &mut F,\n var_name: N\n) -> Result<(), Error>
where\n F: Parse,\n N: AsRef<str>,

Attempts to read an environment variable, parse it, and override the referenced field.

\n
§Examples
\n
use actix_settings::{Settings, Mode};\n\nstd::env::set_var(\"OVERRIDE__MODE\", \"production\");\n\nlet mut settings = Settings::from_default_template();\nassert_eq!(settings.actix.mode, Mode::Development);\n\nSettings::override_field_with_env_var(&mut settings.actix.mode, \"OVERRIDE__MODE\")?;\nassert_eq!(settings.actix.mode, Mode::Production);
\n
",0,"actix_settings::Settings"],["
source§

impl<A: Clone> Clone for BasicSettings<A>

source§

fn clone(&self) -> BasicSettings<A>

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
","Clone","actix_settings::Settings"],["
source§

impl<A: Debug> Debug for BasicSettings<A>

source§

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

Formats the value using the given formatter. Read more
","Debug","actix_settings::Settings"],["
source§

impl<'de, A> Deserialize<'de> for BasicSettings<A>
where\n A: Deserialize<'de>,

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where\n __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
","Deserialize<'de>","actix_settings::Settings"],["
source§

impl<A: Hash> Hash for BasicSettings<A>

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where\n H: Hasher,\n Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
","Hash","actix_settings::Settings"],["
source§

impl<A: PartialEq> PartialEq for BasicSettings<A>

source§

fn eq(&self, other: &BasicSettings<A>) -> bool

This method tests for self and other values to be equal, and is used\nby ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
","PartialEq","actix_settings::Settings"],["
source§

impl<A: Eq> Eq for BasicSettings<A>

","Eq","actix_settings::Settings"],["
source§

impl<A> StructuralPartialEq for BasicSettings<A>

","StructuralPartialEq","actix_settings::Settings"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file