diff --git a/COPYRIGHT.txt b/COPYRIGHT.txt index 16d79032f..c2629a83f 100644 --- a/COPYRIGHT.txt +++ b/COPYRIGHT.txt @@ -2,7 +2,8 @@ These documentation pages include resources by third parties. This copyright file applies only to those resources. The following third party resources are included, and carry their own copyright notices and license terms: -* Fira Sans (FiraSans-Regular.woff, FiraSans-Medium.woff): +* Fira Sans (FiraSans-Regular.woff2, FiraSans-Medium.woff2, + FiraSans-Regular.woff, FiraSans-Medium.woff): Copyright (c) 2014, Mozilla Foundation https://mozilla.org/ with Reserved Font Name Fira Sans. @@ -23,8 +24,10 @@ included, and carry their own copyright notices and license terms: Copyright (c) Nicolas Gallagher and Jonathan Neal. Licensed under the MIT license (see LICENSE-MIT.txt). -* Source Code Pro (SourceCodePro-Regular.ttf.woff, - SourceCodePro-Semibold.ttf.woff, SourceCodePro-It.ttf.woff): +* Source Code Pro (SourceCodePro-Regular.ttf.woff2, + SourceCodePro-Semibold.ttf.woff2, SourceCodePro-It.ttf.woff2, + SourceCodePro-Regular.ttf.woff, SourceCodePro-Semibold.ttf.woff, + SourceCodePro-It.ttf.woff): Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark @@ -33,8 +36,9 @@ included, and carry their own copyright notices and license terms: Licensed under the SIL Open Font License, Version 1.1. See SourceCodePro-LICENSE.txt. -* Source Serif 4 (SourceSerif4-Regular.ttf.woff, SourceSerif4-Bold.ttf.woff, - SourceSerif4-It.ttf.woff): +* Source Serif 4 (SourceSerif4-Regular.ttf.woff2, SourceSerif4-Bold.ttf.woff2, + SourceSerif4-It.ttf.woff2, SourceSerif4-Regular.ttf.woff, + SourceSerif4-Bold.ttf.woff, SourceSerif4-It.ttf.woff): Copyright 2014-2021 Adobe (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe in the United diff --git a/FiraSans-LICENSE.txt b/FiraSans-LICENSE.txt index d444ea92b..ff9afab06 100644 --- a/FiraSans-LICENSE.txt +++ b/FiraSans-LICENSE.txt @@ -1,5 +1,5 @@ Digitized data copyright (c) 2012-2015, The Mozilla Foundation and Telefonica S.A. -with Reserved Font Name < Fira >, +with Reserved Font Name < Fira >, This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is copied below, and is also available with a FAQ at: @@ -19,7 +19,7 @@ with others. The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The -fonts, including any derivative works, can be bundled, embedded, +fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The diff --git a/SourceCodePro-It.ttf.woff2 b/SourceCodePro-It.ttf.woff2 new file mode 100644 index 000000000..462c34efc Binary files /dev/null and b/SourceCodePro-It.ttf.woff2 differ diff --git a/SourceCodePro-Regular.ttf.woff2 b/SourceCodePro-Regular.ttf.woff2 new file mode 100644 index 000000000..10b558e0b Binary files /dev/null and b/SourceCodePro-Regular.ttf.woff2 differ diff --git a/SourceCodePro-Semibold.ttf.woff2 b/SourceCodePro-Semibold.ttf.woff2 new file mode 100644 index 000000000..5ec64eef0 Binary files /dev/null and b/SourceCodePro-Semibold.ttf.woff2 differ diff --git a/SourceSerif4-Bold.ttf.woff2 b/SourceSerif4-Bold.ttf.woff2 new file mode 100644 index 000000000..db57d2145 Binary files /dev/null and b/SourceSerif4-Bold.ttf.woff2 differ diff --git a/SourceSerif4-It.ttf.woff2 b/SourceSerif4-It.ttf.woff2 new file mode 100644 index 000000000..1cbc021a3 Binary files /dev/null and b/SourceSerif4-It.ttf.woff2 differ diff --git a/SourceSerif4-Regular.ttf.woff2 b/SourceSerif4-Regular.ttf.woff2 new file mode 100644 index 000000000..2db73fe2b Binary files /dev/null and b/SourceSerif4-Regular.ttf.woff2 differ diff --git a/actix_cors/all.html b/actix_cors/all.html index e42d95868..20f77a607 100644 --- a/actix_cors/all.html +++ b/actix_cors/all.html @@ -1,5 +1,5 @@ -List of all items in this crate

List of all items[] +List of all items in this crate

List of all items[] -

Structs

Enums

- \ No newline at end of file +

Structs

Enums

+ + \ No newline at end of file diff --git a/actix_cors/builder/struct.Cors.html b/actix_cors/builder/struct.Cors.html index 68e229708..dbaa79550 100644 --- a/actix_cors/builder/struct.Cors.html +++ b/actix_cors/builder/struct.Cors.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../actix_cors/struct.Cors.html...

diff --git a/actix_cors/enum.CorsError.html b/actix_cors/enum.CorsError.html index 55255d835..1295737b2 100644 --- a/actix_cors/enum.CorsError.html +++ b/actix_cors/enum.CorsError.html @@ -1,5 +1,5 @@ -actix_cors::CorsError - Rust

Enum actix_cors::CorsError[][src]

#[non_exhaustive]pub enum CorsError {
+CorsError in actix_cors - Rust

Enum actix_cors::CorsError[][src]

#[non_exhaustive]
+pub enum CorsError {
     WildcardOrigin,
     MissingOrigin,
     MissingRequestMethod,
@@ -8,10 +8,8 @@
     OriginNotAllowed,
     MethodNotAllowed,
     HeadersNotAllowed,
-}

Errors that can occur when processing CORS guarded requests.

-

- Variants (Non-exhaustive)

-
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
WildcardOrigin

Allowed origin argument must not be wildcard (*).

+}
Expand description

Errors that can occur when processing CORS guarded requests.

+

Variants (Non-exhaustive)

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
WildcardOrigin

Allowed origin argument must not be wildcard (*).

MissingOrigin

Request header Origin is required but was not provided.

MissingRequestMethod

Request header Access-Control-Request-Method is required but is missing.

BadRequestMethod

Request header Access-Control-Request-Method has an invalid value.

@@ -19,34 +17,35 @@
OriginNotAllowed

Origin is not allowed to make this request.

MethodNotAllowed

Request method is not allowed.

HeadersNotAllowed

One or more request headers are not allowed.

-

Trait Implementations

impl Clone for CorsError[src]

impl Debug for CorsError[src]

impl Display for CorsError[src]

impl Error for CorsError[src]

impl ResponseError for CorsError[src]

Auto Trait Implementations

impl RefUnwindSafe for CorsError

impl Send for CorsError

impl Sync for CorsError

impl Unpin for CorsError

impl UnwindSafe for CorsError

Blanket Implementations

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

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

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

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

impl<T> Instrument for T[src]

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

impl<T> Same<T> for T

type Output = T

Should always be Self

-

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

type Owned = T

The resulting type after obtaining ownership.

-

impl<T> ToString for T where
    T: Display + ?Sized
[src]

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

type Error = Infallible

The type returned in the event of a conversion error.

-

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

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

The type returned in the event of a conversion error.

-

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

- \ No newline at end of file +

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

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

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Returns appropriate status code for error. Read more

+

Creates full response for error. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

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

+

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

+

Performs the conversion.

+

Should always be Self

+

The resulting type after obtaining ownership.

+

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

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

+

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

+

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_cors/error/enum.CorsError.html b/actix_cors/error/enum.CorsError.html index 17229c03c..c57541cc9 100644 --- a/actix_cors/error/enum.CorsError.html +++ b/actix_cors/error/enum.CorsError.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../actix_cors/enum.CorsError.html...

diff --git a/actix_cors/index.html b/actix_cors/index.html index 446ae1685..b0a416f52 100644 --- a/actix_cors/index.html +++ b/actix_cors/index.html @@ -1,7 +1,6 @@ -actix_cors - Rust

Crate actix_cors[][src]

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

+actix_cors - Rust

Crate actix_cors[][src]

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(), +Cors builder can be used as an argument for Actix Web’s App::wrap(), Scope::wrap(), or Resource::wrap() methods.

This CORS middleware automatically handles OPTIONS preflight requests.

Example

@@ -37,9 +36,10 @@ Ok(()) }
-

Structs

-
Cors

Builder for CORS middleware.

-

Enums

-
CorsError

Errors that can occur when processing CORS guarded requests.

-
- \ No newline at end of file +

Structs

+
Cors

Builder for CORS middleware.

+

Enums

+
CorsError

Errors that can occur when processing CORS guarded requests.

+
+ + \ No newline at end of file diff --git a/actix_cors/struct.Cors.html b/actix_cors/struct.Cors.html index 24e0ef89c..8cf140ac7 100644 --- a/actix_cors/struct.Cors.html +++ b/actix_cors/struct.Cors.html @@ -1,8 +1,7 @@ -actix_cors::Cors - Rust

Struct actix_cors::Cors[][src]

pub struct Cors { /* fields omitted */ }

Builder for CORS middleware.

-

To construct a CORS middleware, call Cors::default() to create a blank, restrictive builder. +Cors in actix_cors - Rust

Struct actix_cors::Cors[][src]

pub struct Cors { /* fields omitted */ }
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 +

The alternative Cors::permissive() constructor is available for local development, allowing all origins and headers, etc. The permissive constructor should not be used in production.

Errors

Errors surface in the middleware initialization phase. This means that, if you have logs enabled @@ -22,12 +21,12 @@ server will fail to start up or serve requests.

.max_age(3600); // `cors` can now be used in `App::wrap`.
-

Implementations

impl Cors[src]

pub fn permissive() -> Self[src]

A very permissive set of default for quick development. Not recommended for production use.

+

Implementations

A very permissive set of default for quick development. Not recommended for production use.

All origins, methods, request headers and exposed headers allowed. Credentials supported. Max age 1 hour. Does not send wildcard.

-

pub fn allow_any_origin(self) -> Cors[src]

Resets allowed origin list to a state where any origin is accepted.

-

See Cors::allowed_origin for more info on allowed origins.

-

pub fn allowed_origin(self, origin: &str) -> Cors[src]

Add an origin that is allowed to make requests.

+

Resets allowed origin list to a state where any origin is accepted.

+

See Cors::allowed_origin for more info on allowed origins.

+

Add an origin that is allowed to make requests.

By default, requests from all origins are accepted by CORS logic. This method allows to specify a finite set of origins to verify the value of the Origin request header.

These are origin-or-null types in the Fetch Standard.

@@ -43,41 +42,41 @@ allowed origins.

Initialization Errors

  • If supplied origin is not valid uri
  • -
  • If supplied origin is a wildcard (*). Cors::send_wildcard should be used instead.
  • +
  • If supplied origin is a wildcard (*). Cors::send_wildcard should be used instead.
-

pub fn allowed_origin_fn<F>(self, f: F) -> Cors where
    F: Fn(&HeaderValue, &RequestHead) -> bool + 'static, 
[src]

Determinate allowed origins by processing requests which didn’t match any origins specified +

Determinate allowed origins by processing requests which didn’t match any origins specified in the allowed_origin.

The function will receive two parameters, the Origin header value, and the RequestHead of each request, which can be used to determine whether to allow the request or not.

If the function returns true, the client’s Origin request header will be echoed back into the Access-Control-Allow-Origin response header.

-

pub fn allow_any_method(self) -> Cors[src]

Resets allowed methods list to all methods.

-

See Cors::allowed_methods for more info on allowed methods.

-

pub fn allowed_methods<U, M>(self, methods: U) -> Cors where
    U: IntoIterator<Item = M>,
    M: TryInto<Method>,
    <M as TryInto<Method>>::Error: Into<HttpError>, 
[src]

Set a list of methods which allowed origins can perform.

+

Resets allowed methods list to all methods.

+

See Cors::allowed_methods for more info on allowed methods.

+

Set a list of methods which allowed origins can perform.

These will be sent in the Access-Control-Allow-Methods response header as specified in the Fetch Standard CORS protocol.

Defaults to [GET, HEAD, POST, OPTIONS, PUT, PATCH, DELETE]

-

pub fn allow_any_header(self) -> Cors[src]

Resets allowed request header list to a state where any header is accepted.

-

See Cors::allowed_headers for more info on allowed request headers.

-

pub fn allowed_header<H>(self, header: H) -> Cors where
    H: TryInto<HeaderName>,
    <H as TryInto<HeaderName>>::Error: Into<HttpError>, 
[src]

Add an allowed request header.

-

See Cors::allowed_headers for more info on allowed request headers.

-

pub fn allowed_headers<U, H>(self, headers: U) -> Cors where
    U: IntoIterator<Item = H>,
    H: TryInto<HeaderName>,
    <H as TryInto<HeaderName>>::Error: Into<HttpError>, 
[src]

Set a list of request header field names which can be used when this resource is accessed by +

Resets allowed request header list to a state where any header is accepted.

+

See Cors::allowed_headers for more info on allowed request headers.

+

Add an allowed request header.

+

See Cors::allowed_headers for more info on allowed request headers.

+

Set a list of request header field names which can be used when this resource is accessed by allowed origins.

If All is set, whatever is requested by the client in Access-Control-Request-Headers will be echoed back in the Access-Control-Allow-Headers header as specified in the Fetch Standard CORS protocol.

Defaults to All.

-

pub fn expose_any_header(self) -> Cors[src]

Resets exposed response header list to a state where any header is accepted.

-

See Cors::expose_headers for more info on exposed response headers.

-

pub fn expose_headers<U, H>(self, headers: U) -> Cors where
    U: IntoIterator<Item = H>,
    H: TryInto<HeaderName>,
    <H as TryInto<HeaderName>>::Error: Into<HttpError>, 
[src]

Set a list of headers which are safe to expose to the API of a CORS API specification. +

Resets exposed response header list to a state where any header is accepted.

+

See Cors::expose_headers for more info on exposed response headers.

+

Set a list of headers which are safe to expose to the API of a CORS API specification. This corresponds to the Access-Control-Expose-Headers response header as specified in the Fetch Standard CORS protocol.

This defaults to an empty set.

-

pub fn max_age(self, max_age: impl Into<Option<usize>>) -> Cors[src]

Set a maximum time (in seconds) for which this CORS request maybe cached. +

Set a maximum time (in seconds) for which this CORS request maybe cached. This value is set as the Access-Control-Max-Age header as specified in the Fetch Standard CORS protocol.

Pass a number (of seconds) or use None to disable sending max age header.

-

pub fn send_wildcard(self) -> Cors[src]

Set to use wildcard origins.

+

Set to use wildcard origins.

If send wildcard is set and the allowed_origins parameter is All, a wildcard Access-Control-Allow-Origin response header is sent, rather than the request’s Origin header.

@@ -85,7 +84,7 @@ the Fetch Standard C allow_credentials set to true. Depending on the mode of usage, this will either result in an CorsError::CredentialsWithWildcardOrigin error during actix launch or runtime.

Defaults to false.

-

pub fn supports_credentials(self) -> Cors[src]

Allows users to make authenticated requests

+

Allows users to make authenticated requests

If true, injects the Access-Control-Allow-Credentials header in responses. This allows cookies and credentials to be submitted across domains as specified in the Fetch Standard CORS protocol.

@@ -94,40 +93,41 @@ the Fetch Standard C

Defaults to false.

A server initialization error will occur if credentials are allowed, but the Origin is set to send wildcards (*); this is not allowed by the CORS protocol.

-

pub fn disable_vary_header(self) -> Cors[src]

Disable Vary header support.

+

Disable Vary header support.

When enabled the header Vary: Origin will be returned as per the Fetch Standard implementation guidelines.

Setting this header when the Access-Control-Allow-Origin is dynamically generated (eg. when there is more than one allowed origin, and an Origin other than ‘*’ is returned) informs CDNs and other caches that the CORS headers are dynamic, and cannot be cached.

By default, Vary header support is enabled.

-

pub fn disable_preflight(self) -> Cors[src]

Disable support for preflight requests.

+

Disable support for preflight requests.

When enabled CORS middleware automatically handles OPTIONS requests. This is useful for application level middleware.

By default preflight support is enabled.

-

Trait Implementations

impl Debug for Cors[src]

impl Default for Cors[src]

fn default() -> Cors[src]

A restrictive (security paranoid) set of defaults.

+

Trait Implementations

Formats the value using the given formatter. Read more

+

A restrictive (security paranoid) set of defaults.

No allowed origins, methods, request headers or exposed headers. Credentials not supported. No max age (will use browser’s default).

-

impl<S, B> Transform<S, ServiceRequest> for Cors where
    S: Service<ServiceRequest, Response = ServiceResponse<B>, Error = Error>,
    S::Future: 'static,
    B: 'static, 
[src]

type Response = ServiceResponse<B>

Responses produced by the service.

-

type Error = Error

Errors produced by the service.

-

type InitError = ()

Errors produced while building a transform service.

-

type Transform = CorsMiddleware<S>

The TransformService value created by this factory

-

type Future = Ready<Result<Self::Transform, Self::InitError>>

The future response value.

-

Auto Trait Implementations

impl !RefUnwindSafe for Cors

impl !Send for Cors

impl !Sync for Cors

impl Unpin for Cors

impl !UnwindSafe for Cors

Blanket Implementations

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

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

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

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

impl<T> Instrument for T[src]

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

impl<T> Same<T> for T

type Output = T

Should always be Self

-

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

type Error = Infallible

The type returned in the event of a conversion error.

-

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

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

The type returned in the event of a conversion error.

-

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

- \ No newline at end of file +

Responses produced by the service.

+

Errors produced by the service.

+

Errors produced while building a transform service.

+

The TransformService value created by this factory

+

The future response value.

+

Creates and returns a new Transform component, asynchronously

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

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

+

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

+

Performs the conversion.

+

Should always be Self

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_identity/all.html b/actix_identity/all.html index 666bca01e..440def58e 100644 --- a/actix_identity/all.html +++ b/actix_identity/all.html @@ -1,7 +1,5 @@ -List of all items in this crate - -

List of all items[] +List of all items in this crate

List of all items[] -

Structs

Traits

- \ No newline at end of file +

Structs

Traits

+ + \ No newline at end of file diff --git a/actix_identity/cookie/struct.CookieIdentityPolicy.html b/actix_identity/cookie/struct.CookieIdentityPolicy.html index df8335c67..2daa86539 100644 --- a/actix_identity/cookie/struct.CookieIdentityPolicy.html +++ b/actix_identity/cookie/struct.CookieIdentityPolicy.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../actix_identity/struct.CookieIdentityPolicy.html...

diff --git a/actix_identity/identity/struct.Identity.html b/actix_identity/identity/struct.Identity.html index e1023e2db..f2b554050 100644 --- a/actix_identity/identity/struct.Identity.html +++ b/actix_identity/identity/struct.Identity.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../actix_identity/struct.Identity.html...

diff --git a/actix_identity/index.html b/actix_identity/index.html index 477f49eeb..cb300a073 100644 --- a/actix_identity/index.html +++ b/actix_identity/index.html @@ -1,11 +1,8 @@ -actix_identity - Rust - -

Crate actix_identity[][src]

Opinionated request identity service for Actix Web apps.

-

IdentityService middleware can be used with different policies types to store +actix_identity - Rust

Crate actix_identity[][src]

Expand description

Opinionated request identity service for Actix Web apps.

+

IdentityService middleware can be used with different policies types to store identity information.

-

A cookie based policy is provided. CookieIdentityPolicy uses cookies as identity storage.

-

To access current request identity, use the Identity extractor.

+

A cookie based policy is provided. CookieIdentityPolicy uses cookies as identity storage.

+

To access current request identity, use the Identity extractor.

 use actix_web::*;
@@ -42,12 +39,13 @@ identity information.

// wrap policy into middleware identity middleware .wrap(IdentityService::new(policy)) .service(services![index, login, logout]);
-

Structs

-
CookieIdentityPolicy

Use cookies for request identity storage.

-
Identity

The extractor type to obtain your identity from a request.

-
IdentityService

Request identity middleware

-

Traits

-
IdentityPolicy

Identity policy.

-
RequestIdentity

Helper trait that allows to get Identity.

-
- \ No newline at end of file +

Structs

+

Use cookies for request identity storage.

+

The extractor type to obtain your identity from a request.

+

Request identity middleware

+

Traits

+

Identity policy.

+

Helper trait that allows to get Identity.

+
+ + \ No newline at end of file diff --git a/actix_identity/middleware/struct.IdentityService.html b/actix_identity/middleware/struct.IdentityService.html index 6c856cc63..3e4ce7226 100644 --- a/actix_identity/middleware/struct.IdentityService.html +++ b/actix_identity/middleware/struct.IdentityService.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../actix_identity/struct.IdentityService.html...

diff --git a/actix_identity/struct.CookieIdentityPolicy.html b/actix_identity/struct.CookieIdentityPolicy.html index 7739bad5a..be36edeab 100644 --- a/actix_identity/struct.CookieIdentityPolicy.html +++ b/actix_identity/struct.CookieIdentityPolicy.html @@ -1,7 +1,4 @@ -actix_identity::CookieIdentityPolicy - Rust - -

Struct actix_identity::CookieIdentityPolicy[][src]

pub struct CookieIdentityPolicy(_);

Use cookies for request identity storage.

+CookieIdentityPolicy in actix_identity - Rust

Struct actix_identity::CookieIdentityPolicy[][src]

pub struct CookieIdentityPolicy(_);
Expand description

Use cookies for request identity storage.

See this page on MDN for details on cookie attributes.

Examples

@@ -18,49 +15,50 @@
 let app = App::new()
     // wrap policy into identity middleware
     .wrap(IdentityService::new(policy));
-

Implementations

impl CookieIdentityPolicy[src]

pub fn new(key: &[u8]) -> CookieIdentityPolicy[src]

Create new CookieIdentityPolicy instance.

+

Implementations

Create new CookieIdentityPolicy instance.

Key argument is the private key for issued cookies. If this value is changed, all issued cookie identities are invalidated.

Panics

Panics if key is less than 32 bytes in length..

-

pub fn name(self, value: impl Into<String>) -> CookieIdentityPolicy[src]

Sets the name of issued cookies.

-

pub fn path(self, value: impl Into<String>) -> CookieIdentityPolicy[src]

Sets the Path attribute of issued cookies.

-

pub fn domain(self, value: impl Into<String>) -> CookieIdentityPolicy[src]

Sets the Domain attribute of issued cookies.

-

pub fn secure(self, value: bool) -> CookieIdentityPolicy[src]

Sets the Secure attribute of issued cookies.

-

pub fn max_age(self, value: Duration) -> CookieIdentityPolicy[src]

Sets the Max-Age attribute of issued cookies.

-

pub fn max_age_secs(self, seconds: i64) -> CookieIdentityPolicy[src]

Sets the Max-Age attribute of issued cookies with given number of seconds.

-

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

Sets the HttpOnly attribute of issued cookies.

+

Sets the name of issued cookies.

+

Sets the Path attribute of issued cookies.

+

Sets the Domain attribute of issued cookies.

+

Sets the Secure attribute of issued cookies.

+

Sets the Max-Age attribute of issued cookies.

+

Sets the Max-Age attribute of issued cookies with given number of seconds.

+

Sets the HttpOnly attribute of issued cookies.

By default, the HttpOnly attribute is omitted from issued cookies.

-

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

Sets the SameSite attribute of issued cookies.

+

Sets the SameSite attribute of issued cookies.

By default, the SameSite attribute is omitted from issued cookies.

-

pub fn visit_deadline(self, deadline: Duration) -> CookieIdentityPolicy[src]

Accepts only users who have visited within given deadline.

+

Accepts only users who have visited within given deadline.

In other words, invalidate a login after some amount of inactivity. Using this feature causes updated cookies to be issued on each response in order to record the user’s last visitation timestamp.

By default, visit deadline is disabled.

-

pub fn login_deadline(self, deadline: Duration) -> CookieIdentityPolicy[src]

Accepts only users who authenticated within the given deadline.

+

Accepts only users who authenticated within the given deadline.

In other words, invalidate a login after some amount of time, regardless of activity. -While Max-Age is useful in constraining the cookie +While Max-Age is useful in constraining the cookie lifetime, it could be extended manually; using this feature encodes the deadline directly into the issued cookies, making it immutable to users.

By default, login deadline is disabled.

-

Trait Implementations

impl IdentityPolicy for CookieIdentityPolicy[src]

type Future = Ready<Result<Option<String>, Error>>

The return type of the middleware

-

type ResponseFuture = Ready<Result<(), Error>>

The return type of the middleware

-

Auto Trait Implementations

Blanket Implementations

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

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

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

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

impl<T> Instrument for T[src]

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

impl<T> Same<T> for T

type Output = T

Should always be Self

-

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

type Error = Infallible

The type returned in the event of a conversion error.

-

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

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

The type returned in the event of a conversion error.

-

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

- \ No newline at end of file +

Trait Implementations

The return type of the middleware

+

The return type of the middleware

+

Parse the session from request and load data from a service identity.

+

Write changes to response

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

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

+

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

+

Performs the conversion.

+

Should always be Self

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_identity/struct.Identity.html b/actix_identity/struct.Identity.html index 4ca580616..34ac9157a 100644 --- a/actix_identity/struct.Identity.html +++ b/actix_identity/struct.Identity.html @@ -1,7 +1,4 @@ -actix_identity::Identity - Rust - -

Struct actix_identity::Identity[][src]

pub struct Identity(_);

The extractor type to obtain your identity from a request.

+Identity in actix_identity - Rust

Struct actix_identity::Identity[][src]

pub struct Identity(_);
Expand description

The extractor type to obtain your identity from a request.

 use actix_web::*;
@@ -32,13 +29,13 @@
 
     HttpResponse::Ok()
 }
-

Implementations

impl Identity[src]

pub fn identity(&self) -> Option<String>[src]

Return the claimed identity of the user associated request or None if no identity can be +

Implementations

Return the claimed identity of the user associated request or None if no identity can be found associated with the request.

-

pub fn remember(&self, identity: String)[src]

Remember identity.

-

pub fn forget(&self)[src]

This method is used to ‘forget’ the current identity on subsequent requests.

-

Trait Implementations

impl Clone for Identity[src]

impl FromRequest for Identity[src]

Extractor implementation for Identity type.

+

Remember identity.

+

This method is used to ‘forget’ the current identity on subsequent requests.

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Extractor implementation for Identity type.

 use actix_identity::Identity;
@@ -52,29 +49,30 @@ found associated with the request.

"Welcome Anonymous!".to_owned() } }
-

type Config = ()

Configuration for this extractor.

-

type Error = Error

The associated error which can be returned.

-

type Future = Ready<Result<Identity, Error>>

Future that resolves to a Self.

-

Auto Trait Implementations

impl !RefUnwindSafe for Identity

impl !Send for Identity

impl !Sync for Identity

impl Unpin for Identity

impl !UnwindSafe for Identity

Blanket Implementations

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

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

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

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

impl<T> Instrument for T[src]

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

impl<T> Same<T> for T

type Output = T

Should always be Self

-

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

type Owned = T

The resulting type after obtaining ownership.

-

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

type Error = Infallible

The type returned in the event of a conversion error.

-

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

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

The type returned in the event of a conversion error.

-

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

- \ No newline at end of file +

Configuration for this extractor.

+

The associated error which can be returned.

+

Future that resolves to a Self.

+

Create a Self from request parts asynchronously.

+

Create a Self from request head asynchronously. Read more

+

Create and configure config instance.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

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

+

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

+

Performs the conversion.

+

Should always be Self

+

The resulting type after obtaining ownership.

+

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

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

+

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

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_identity/struct.IdentityService.html b/actix_identity/struct.IdentityService.html index 9a6bead9b..6648c31e7 100644 --- a/actix_identity/struct.IdentityService.html +++ b/actix_identity/struct.IdentityService.html @@ -1,7 +1,4 @@ -actix_identity::IdentityService - Rust - -

Struct actix_identity::IdentityService[][src]

pub struct IdentityService<T> { /* fields omitted */ }

Request identity middleware

+IdentityService in actix_identity - Rust

Struct actix_identity::IdentityService[][src]

pub struct IdentityService<T> { /* fields omitted */ }
Expand description

Request identity middleware

 use actix_web::App;
@@ -15,26 +12,27 @@
 let app = App::new()
     // wrap policy into identity middleware
     .wrap(IdentityService::new(policy));
-

Implementations

impl<T> IdentityService<T>[src]

pub fn new(backend: T) -> Self[src]

Create new identity service with specified backend.

-

Trait Implementations

impl<S, T, B> Transform<S, ServiceRequest> for IdentityService<T> where
    S: Service<ServiceRequest, Response = ServiceResponse<B>, Error = Error> + 'static,
    S::Future: 'static,
    T: IdentityPolicy,
    B: 'static, 
[src]

type Response = ServiceResponse<B>

Responses produced by the service.

-

type Error = Error

Errors produced by the service.

-

type InitError = ()

Errors produced while building a transform service.

-

type Transform = IdentityServiceMiddleware<S, T>

The TransformService value created by this factory

-

type Future = Ready<Result<Self::Transform, Self::InitError>>

The future response value.

-

Auto Trait Implementations

impl<T> !RefUnwindSafe for IdentityService<T>

impl<T> !Send for IdentityService<T>

impl<T> !Sync for IdentityService<T>

impl<T> Unpin for IdentityService<T>

impl<T> UnwindSafe for IdentityService<T> where
    T: RefUnwindSafe

Blanket Implementations

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

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

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

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

impl<T> Instrument for T[src]

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

impl<T> Same<T> for T

type Output = T

Should always be Self

-

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

type Error = Infallible

The type returned in the event of a conversion error.

-

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

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

The type returned in the event of a conversion error.

-

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

- \ No newline at end of file +

Implementations

Create new identity service with specified backend.

+

Trait Implementations

Responses produced by the service.

+

Errors produced by the service.

+

Errors produced while building a transform service.

+

The TransformService value created by this factory

+

The future response value.

+

Creates and returns a new Transform component, asynchronously

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

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

+

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

+

Performs the conversion.

+

Should always be Self

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_identity/trait.IdentityPolicy.html b/actix_identity/trait.IdentityPolicy.html index 6d484a152..2cf0ada5b 100644 --- a/actix_identity/trait.IdentityPolicy.html +++ b/actix_identity/trait.IdentityPolicy.html @@ -1,15 +1,13 @@ -actix_identity::IdentityPolicy - Rust - -

Trait actix_identity::IdentityPolicy[][src]

pub trait IdentityPolicy: Sized + 'static {
+IdentityPolicy in actix_identity - Rust

Trait actix_identity::IdentityPolicy[][src]

pub trait IdentityPolicy: Sized + 'static {
     type Future: Future<Output = Result<Option<String>, Error>>;
     type ResponseFuture: Future<Output = Result<(), Error>>;
-    fn from_request(&self, req: &mut ServiceRequest) -> Self::Future;
-
fn to_response<B>(
        &self,
        identity: Option<String>,
        changed: bool,
        response: &mut ServiceResponse<B>
    ) -> Self::ResponseFuture; -}

Identity policy.

-

Associated Types

type Future: Future<Output = Result<Option<String>, Error>>[src]

The return type of the middleware

-

type ResponseFuture: Future<Output = Result<(), Error>>[src]

The return type of the middleware

-
Loading content...

Required methods

fn from_request(&self, req: &mut ServiceRequest) -> Self::Future[src]

Parse the session from request and load data from a service identity.

-

fn to_response<B>(
    &self,
    identity: Option<String>,
    changed: bool,
    response: &mut ServiceResponse<B>
) -> Self::ResponseFuture
[src]

Write changes to response

-
Loading content...

Implementors

impl IdentityPolicy for CookieIdentityPolicy[src]

type Future = Ready<Result<Option<String>, Error>>

type ResponseFuture = Ready<Result<(), Error>>

Loading content...
- \ No newline at end of file + fn from_request(&self, req: &mut ServiceRequest) -> Self::Future; +
fn to_response<B>(
        &self,
        identity: Option<String>,
        changed: bool,
        response: &mut ServiceResponse<B>
    ) -> Self::ResponseFuture; +}
Expand description

Identity policy.

+

Associated Types

The return type of the middleware

+

The return type of the middleware

+

Required methods

Parse the session from request and load data from a service identity.

+

Write changes to response

+

Implementors

+ + \ No newline at end of file diff --git a/actix_identity/trait.RequestIdentity.html b/actix_identity/trait.RequestIdentity.html index d8ba57d25..87f8111ea 100644 --- a/actix_identity/trait.RequestIdentity.html +++ b/actix_identity/trait.RequestIdentity.html @@ -1,10 +1,8 @@ -actix_identity::RequestIdentity - Rust - -

Trait actix_identity::RequestIdentity[][src]

pub trait RequestIdentity {
+RequestIdentity in actix_identity - Rust

Trait actix_identity::RequestIdentity[][src]

pub trait RequestIdentity {
     fn get_identity(&self) -> Option<String>;
-}

Helper trait that allows to get Identity.

+}
Expand description

Helper trait that allows to get Identity.

It could be used in middleware but identity policy must be set before any other middleware that needs identity. RequestIdentity is implemented both for ServiceRequest and HttpRequest.

-

Required methods

Loading content...

Implementors

impl<T> RequestIdentity for T where
    T: HttpMessage, 
[src]

Loading content...
- \ No newline at end of file +

Required methods

Implementors

+ + \ No newline at end of file diff --git a/actix_protobuf/all.html b/actix_protobuf/all.html index 4b317dcfd..661918344 100644 --- a/actix_protobuf/all.html +++ b/actix_protobuf/all.html @@ -1,7 +1,5 @@ -List of all items in this crate - -

List of all items[] +List of all items in this crate

List of all items[] -

Structs

Enums

Traits

- \ No newline at end of file +

Structs

Enums

Traits

+ + \ No newline at end of file diff --git a/actix_protobuf/enum.ProtoBufPayloadError.html b/actix_protobuf/enum.ProtoBufPayloadError.html index 77a88606b..83a6da4f2 100644 --- a/actix_protobuf/enum.ProtoBufPayloadError.html +++ b/actix_protobuf/enum.ProtoBufPayloadError.html @@ -1,39 +1,35 @@ -actix_protobuf::ProtoBufPayloadError - Rust - -

Enum actix_protobuf::ProtoBufPayloadError[][src]

pub enum ProtoBufPayloadError {
+ProtoBufPayloadError in actix_protobuf - Rust

Enum actix_protobuf::ProtoBufPayloadError[][src]

pub enum ProtoBufPayloadError {
     Overflow,
     ContentType,
     Serialize(ProtoBufEncodeError),
     Deserialize(ProtoBufDecodeError),
     Payload(PayloadError),
-}

- Variants

-
Overflow

Payload size is bigger than 256k

+}

Variants

Overflow

Payload size is bigger than 256k

ContentType

Content type error

Serialize(ProtoBufEncodeError)

Serialize error

Deserialize(ProtoBufDecodeError)

Deserialize error

Payload(PayloadError)

Payload error

-

Trait Implementations

impl Debug for ProtoBufPayloadError[src]

impl Display for ProtoBufPayloadError[src]

impl From<DecodeError> for ProtoBufPayloadError[src]

impl From<PayloadError> for ProtoBufPayloadError[src]

impl ResponseError for ProtoBufPayloadError[src]

Auto Trait Implementations

impl !RefUnwindSafe for ProtoBufPayloadError

impl Send for ProtoBufPayloadError

impl Sync for ProtoBufPayloadError

impl Unpin for ProtoBufPayloadError

impl !UnwindSafe for ProtoBufPayloadError

Blanket Implementations

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

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

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

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

impl<T> Instrument for T[src]

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

impl<T> Same<T> for T

type Output = T

Should always be Self

-

impl<T> ToString for T where
    T: Display + ?Sized
[src]

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

type Error = Infallible

The type returned in the event of a conversion error.

-

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

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

The type returned in the event of a conversion error.

-

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

- \ No newline at end of file +

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

Performs the conversion.

+

Performs the conversion.

+

Creates full response for error. Read more

+

Returns appropriate status code for error. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

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

+

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

+

Performs the conversion.

+

Should always be Self

+

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_protobuf/index.html b/actix_protobuf/index.html index b74347667..1335e3be1 100644 --- a/actix_protobuf/index.html +++ b/actix_protobuf/index.html @@ -1,8 +1,6 @@ -actix_protobuf - Rust - -

Crate actix_protobuf[][src]

Structs

-
ProtoBuf
ProtoBufConfig
ProtoBufMessage

Enums

-
ProtoBufPayloadError

Traits

-
ProtoBufResponseBuilder
- \ No newline at end of file +actix_protobuf - Rust

Crate actix_protobuf[][src]

Structs

+

Enums

+

Traits

+
+ + \ No newline at end of file diff --git a/actix_protobuf/struct.ProtoBuf.html b/actix_protobuf/struct.ProtoBuf.html index 9a16a419f..cbe641b4d 100644 --- a/actix_protobuf/struct.ProtoBuf.html +++ b/actix_protobuf/struct.ProtoBuf.html @@ -1,34 +1,32 @@ -actix_protobuf::ProtoBuf - Rust - -

Struct actix_protobuf::ProtoBuf[][src]

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

Trait Implementations

impl<T: Message> Debug for ProtoBuf<T> where
    T: Debug
[src]

impl<T: Message> Deref for ProtoBuf<T>[src]

type Target = T

The resulting type after dereferencing.

-

impl<T: Message> DerefMut for ProtoBuf<T>[src]

impl<T: Message> Display for ProtoBuf<T> where
    T: Display
[src]

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

type Config = ProtoBufConfig

Configuration for this extractor.

-

type Error = Error

The associated error which can be returned.

-

type Future = LocalBoxFuture<'static, Result<Self, Error>>

Future that resolves to a Self.

-

impl<T: Message + Default> Responder for ProtoBuf<T>[src]

Auto Trait Implementations

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

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

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

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

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

impl<T> Instrument for T[src]

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

impl<T> Same<T> for T

type Output = T

Should always be Self

-

impl<T> ToString for T where
    T: Display + ?Sized
[src]

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

type Error = Infallible

The type returned in the event of a conversion error.

-

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

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

The type returned in the event of a conversion error.

-

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

- \ No newline at end of file +ProtoBuf in actix_protobuf - Rust

Struct actix_protobuf::ProtoBuf[][src]

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

Trait Implementations

Formats the value using the given formatter. Read more

+

The resulting type after dereferencing.

+

Dereferences the value.

+

Mutably dereferences the value.

+

Formats the value using the given formatter. Read more

+

Configuration for this extractor.

+

The associated error which can be returned.

+

Future that resolves to a Self.

+

Create a Self from request parts asynchronously.

+

Create a Self from request head asynchronously. Read more

+

Create and configure config instance.

+

Convert self to HttpResponse.

+

Override a status code for a Responder. Read more

+

Insert header to the final response. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

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

+

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

+

Performs the conversion.

+

Should always be Self

+

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_protobuf/struct.ProtoBufConfig.html b/actix_protobuf/struct.ProtoBufConfig.html index dc647b026..42c055bb7 100644 --- a/actix_protobuf/struct.ProtoBufConfig.html +++ b/actix_protobuf/struct.ProtoBufConfig.html @@ -1,21 +1,19 @@ -actix_protobuf::ProtoBufConfig - Rust - -

Struct actix_protobuf::ProtoBufConfig[][src]

pub struct ProtoBufConfig { /* fields omitted */ }

Implementations

impl ProtoBufConfig[src]

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

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

-

Trait Implementations

impl Default for ProtoBufConfig[src]

Auto Trait Implementations

impl RefUnwindSafe for ProtoBufConfig

impl Send for ProtoBufConfig

impl Sync for ProtoBufConfig

impl Unpin for ProtoBufConfig

impl UnwindSafe for ProtoBufConfig

Blanket Implementations

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

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

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

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

impl<T> Instrument for T[src]

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

impl<T> Same<T> for T

type Output = T

Should always be Self

-

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

type Error = Infallible

The type returned in the event of a conversion error.

-

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

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

The type returned in the event of a conversion error.

-

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

- \ No newline at end of file +ProtoBufConfig in actix_protobuf - Rust

Struct actix_protobuf::ProtoBufConfig[][src]

pub struct ProtoBufConfig { /* fields omitted */ }

Implementations

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

+

Trait Implementations

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

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

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

+

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

+

Performs the conversion.

+

Should always be Self

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_protobuf/struct.ProtoBufMessage.html b/actix_protobuf/struct.ProtoBufMessage.html index 9b989c897..17b73bf02 100644 --- a/actix_protobuf/struct.ProtoBufMessage.html +++ b/actix_protobuf/struct.ProtoBufMessage.html @@ -1,87 +1,85 @@ -actix_protobuf::ProtoBufMessage - Rust - -

Struct actix_protobuf::ProtoBufMessage[][src]

pub struct ProtoBufMessage<T: Message + Default> { /* fields omitted */ }

Implementations

impl<T: Message + Default> ProtoBufMessage<T>[src]

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

Create ProtoBufMessage for request.

-

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

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

-

Trait Implementations

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

type Output = Result<T, ProtoBufPayloadError>

The type of value produced on completion.

-
- \ No newline at end of file +

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_protobuf/trait.ProtoBufResponseBuilder.html b/actix_protobuf/trait.ProtoBufResponseBuilder.html index 5dd85ffc2..0283ba958 100644 --- a/actix_protobuf/trait.ProtoBufResponseBuilder.html +++ b/actix_protobuf/trait.ProtoBufResponseBuilder.html @@ -1,7 +1,5 @@ -actix_protobuf::ProtoBufResponseBuilder - Rust - -

Trait actix_protobuf::ProtoBufResponseBuilder[][src]

pub trait ProtoBufResponseBuilder {
+ProtoBufResponseBuilder in actix_protobuf - Rust

Trait actix_protobuf::ProtoBufResponseBuilder[][src]

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

Required methods

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

Loading content...

Implementations on Foreign Types

impl ProtoBufResponseBuilder for HttpResponseBuilder[src]

Loading content...

Implementors

Loading content...
- \ No newline at end of file +}

Required methods

Implementations on Foreign Types

Implementors

+ + \ No newline at end of file diff --git a/actix_redis/all.html b/actix_redis/all.html index 7875508f0..877498f74 100644 --- a/actix_redis/all.html +++ b/actix_redis/all.html @@ -1,7 +1,5 @@ -List of all items in this crate - -

List of all items[] +List of all items in this crate

List of all items[] -

Structs

Enums

- \ No newline at end of file +

Structs

Enums

+ + \ No newline at end of file diff --git a/actix_redis/enum.Error.html b/actix_redis/enum.Error.html index d65fe3173..001dace1a 100644 --- a/actix_redis/enum.Error.html +++ b/actix_redis/enum.Error.html @@ -1,38 +1,34 @@ -actix_redis::Error - Rust - -

Enum actix_redis::Error[][src]

pub enum Error {
-    Redis(Error),
+Error in actix_redis - Rust

Enum actix_redis::Error[][src]

pub enum Error {
+    Redis(Error),
     NotConnected,
     Disconnected,
-}

General purpose actix redis error

-

- Variants

-
Redis(Error)
NotConnected

Receiving message during reconnecting

+}
Expand description

General purpose actix redis error

+

Variants

Redis(Error)
NotConnected

Receiving message during reconnecting

Disconnected

Cancel all waters when connection get dropped

-

Trait Implementations

impl Debug for Error[src]

impl Display for Error[src]

impl Error for Error[src]

impl From<Error> for Error[src]

impl ResponseError for Error[src]

Auto Trait Implementations

impl !RefUnwindSafe for Error

impl Send for Error

impl Sync for Error

impl Unpin for Error

impl !UnwindSafe for Error

Blanket Implementations

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

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

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

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

impl<T> Instrument for T[src]

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

impl<T> Same<T> for T

type Output = T

Should always be Self

-

impl<T> ToString for T where
    T: Display + ?Sized
[src]

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

type Error = Infallible

The type returned in the event of a conversion error.

-

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

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

The type returned in the event of a conversion error.

-

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

- \ No newline at end of file +

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

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

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Performs the conversion.

+

Returns appropriate status code for error. Read more

+

Creates full response for error. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

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

+

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

+

Performs the conversion.

+

Should always be Self

+

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_redis/enum.RespError.html b/actix_redis/enum.RespError.html index 8d6a685f5..ad1e97690 100644 --- a/actix_redis/enum.RespError.html +++ b/actix_redis/enum.RespError.html @@ -1,18 +1,13 @@ -actix_redis::RespError - Rust - -

Enum actix_redis::RespError[]

pub enum RespError {
+RespError in actix_redis - Rust

Enum actix_redis::RespError[]

pub enum RespError {
     Internal(String),
     IO(Error),
-    RESP(StringOption<RespValue>),
+    RESP(StringOption<RespValue>),
     Remote(String),
     Connection(ConnectionReason),
     Unexpected(String),
-}

- Variants

-
Internal(String)

A non-specific internal error that prevented an operation from completing

+}

Variants

Internal(String)

A non-specific internal error that prevented an operation from completing

IO(Error)

An IO error occurred

-
RESP(StringOption<RespValue>)

A RESP parsing/serialising error occurred

+
RESP(StringOption<RespValue>)

A RESP parsing/serialising error occurred

Remote(String)

A remote error

Connection(ConnectionReason)

Error creating a connection, or an error with a connection being closed unexpectedly

Unexpected(String)

An unexpected error. In this context “unexpected” means @@ -21,29 +16,30 @@ chains of futures; but it occurring at runtime should be considered a catastroph failure.

If any error is propagated this way that needs to be handled, then it should be made into a proper option.

-

Trait Implementations

impl Debug for Error

impl Display for Error

impl Error for Error

impl From<Error> for Error

impl From<Error> for Error[src]

impl<T> From<TrySendError<T>> for Error where
    T: 'static + Send

Auto Trait Implementations

impl !RefUnwindSafe for Error

impl Send for Error

impl Sync for Error

impl Unpin for Error

impl !UnwindSafe for Error

Blanket Implementations

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

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

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

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

impl<T> Instrument for T[src]

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

impl<T> Same<T> for T

type Output = T

Should always be Self

-

impl<T> ToString for T where
    T: Display + ?Sized
[src]

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

type Error = Infallible

The type returned in the event of a conversion error.

-

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

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

The type returned in the event of a conversion error.

-

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

- \ No newline at end of file +

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

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

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Performs the conversion.

+

Performs the conversion.

+

Performs the conversion.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

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

+

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

+

Performs the conversion.

+

Should always be Self

+

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_redis/enum.RespValue.html b/actix_redis/enum.RespValue.html index b058548fb..a419167ce 100644 --- a/actix_redis/enum.RespValue.html +++ b/actix_redis/enum.RespValue.html @@ -1,62 +1,58 @@ -actix_redis::RespValue - Rust - -

Enum actix_redis::RespValue[]

pub enum RespValue {
+RespValue in actix_redis - Rust

Enum actix_redis::RespValue[]

pub enum RespValue {
     Nil,
-    Array(Vec<RespValue, Global>),
+    Array(Vec<RespValue, Global>),
     BulkString(Vec<u8, Global>),
     Error(String),
     Integer(i64),
     SimpleString(String),
-}

A single RESP value, this owns the data that is read/to-be written to Redis.

+}
Expand description

A single RESP value, this owns the data that is read/to-be written to Redis.

It is cloneable to allow multiple copies to be delivered in certain circumstances, e.g. multiple subscribers to the same topic.

-

- Variants

-
Nil

Zero, one or more other RespValues.

+

Variants

Nil
Array(Vec<RespValue, Global>)

Zero, one or more other RespValues.

BulkString(Vec<u8, Global>)

A bulk string. In Redis terminology a string is a byte-array, so this is stored as a vector of u8s to allow clients to interpret the bytes as appropriate.

Error(String)

An error from the Redis server

Integer(i64)

Redis documentation defines an integer as being a signed 64-bit integer: https://redis.io/topics/protocol#resp-integers

-
SimpleString(String)

Implementations

impl RespValue

pub fn append<T>(self, other: impl IntoIterator<Item = T>) -> RespValue where
    T: Into<RespValue>, 

Convenience function for building dynamic Redis commands with variable numbers of +

SimpleString(String)

Implementations

Convenience function for building dynamic Redis commands with variable numbers of arguments, e.g. RPUSH

This will panic if called for anything other than arrays

-

pub fn push<T>(&mut self, item: T) where
    T: Into<RespValue>, 

Push item to Resp array

+

Push item to Resp array

This will panic if called for anything other than arrays

-

Trait Implementations

impl Clone for RespValue

impl Debug for RespValue

impl Eq for RespValue

impl<'a> From<&'a [u8]> for RespValue

impl<'a> From<&'a String> for RespValue

impl<'a> From<&'a str> for RespValue

impl<'a> From<Arc<str>> for RespValue

impl<'a> From<String> for RespValue

impl<'a> From<Vec<u8, Global>> for RespValue

impl<'a> From<usize> for RespValue

impl FromResp for RespValue

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Performs the conversion.

+

Performs the conversion.

+

Performs the conversion.

+

Performs the conversion.

+

Performs the conversion.

+

Performs the conversion.

+

Performs the conversion.

+

Return a Result containing either Self or Error. Errors can occur due to either: a) the particular RespValue being incompatible with the required type, or b) a remote Redis error occuring. Read more

-

impl PartialEq<RespValue> for RespValue

This method tests for self and other values to be equal, and is used by ==. Read more

-

impl StructuralEq for RespValue

impl StructuralPartialEq for RespValue

Auto Trait Implementations

Blanket Implementations

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

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

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

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

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

impl<T> Instrument for T[src]

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

impl<T> Same<T> for T

type Output = T

Should always be Self

-

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

type Owned = T

The resulting type after obtaining ownership.

-

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

type Error = Infallible

The type returned in the event of a conversion error.

-

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

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

The type returned in the event of a conversion error.

-

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

- \ No newline at end of file +

This method tests for !=.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Compare self to key and return true if they are equal.

+

Performs the conversion.

+

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

+

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

+

Performs the conversion.

+

Should always be Self

+

The resulting type after obtaining ownership.

+

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

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

+

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

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_redis/enum.SameSite.html b/actix_redis/enum.SameSite.html index e24215855..3618a35cb 100644 --- a/actix_redis/enum.SameSite.html +++ b/actix_redis/enum.SameSite.html @@ -1,11 +1,8 @@ -actix_redis::SameSite - Rust - -

Enum actix_redis::SameSite[][src]

pub enum SameSite {
+SameSite in actix_redis - Rust

Enum actix_redis::SameSite[][src]

pub enum SameSite {
     Strict,
     Lax,
     None,
-}

The SameSite cookie attribute.

+}
Expand description

The SameSite cookie attribute.

A cookie with a SameSite attribute is imposed restrictions on when it is sent to the origin server in a cross-site request. If the SameSite attribute is “Strict”, then the cookie is never sent in cross-site requests. @@ -21,12 +18,10 @@ initally or passing None to HTTP draft! Its meaning and definition are subject to change.

-

- Variants

-
Strict

The “Strict” SameSite attribute.

+

Variants

Strict

The “Strict” SameSite attribute.

Lax

The “Lax” SameSite attribute.

None

The “None” SameSite attribute.

-

Implementations

impl SameSite[src]

pub fn is_strict(&self) -> bool[src]

Returns true if self is SameSite::Strict and false otherwise.

+

Implementations

Returns true if self is SameSite::Strict and false otherwise.

Example

 use cookie::SameSite;
@@ -35,7 +30,7 @@ definition are subject to change.

assert!(strict.is_strict()); assert!(!strict.is_lax()); assert!(!strict.is_none());
-

pub fn is_lax(&self) -> bool[src]

Returns true if self is SameSite::Lax and false otherwise.

+

Returns true if self is SameSite::Lax and false otherwise.

Example

 use cookie::SameSite;
@@ -44,7 +39,7 @@ definition are subject to change.

assert!(lax.is_lax()); assert!(!lax.is_strict()); assert!(!lax.is_none());
-

pub fn is_none(&self) -> bool[src]

Returns true if self is SameSite::None and false otherwise.

+

Returns true if self is SameSite::None and false otherwise.

Example

 use cookie::SameSite;
@@ -53,34 +48,35 @@ definition are subject to change.

assert!(none.is_none()); assert!(!none.is_lax()); assert!(!none.is_strict());
-

Trait Implementations

impl Clone for SameSite[src]

impl Copy for SameSite[src]

impl Debug for SameSite[src]

impl Display for SameSite[src]

impl Eq for SameSite[src]

impl Hash for SameSite[src]

impl PartialEq<SameSite> for SameSite[src]

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

Feeds this value into the given Hasher. Read more

+

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

+

This method tests for self and other values to be equal, and is used by ==. Read more

-

impl StructuralEq for SameSite[src]

impl StructuralPartialEq for SameSite[src]

Auto Trait Implementations

impl RefUnwindSafe for SameSite

impl Send for SameSite

impl Sync for SameSite

impl Unpin for SameSite

impl UnwindSafe for SameSite

Blanket Implementations

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

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

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

impl<T> CallHasher for T where
    T: Hash + ?Sized

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

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

impl<T> Instrument for T[src]

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

impl<T> Same<T> for T

type Output = T

Should always be Self

-

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

type Owned = T

The resulting type after obtaining ownership.

-

impl<T> ToString for T where
    T: Display + ?Sized
[src]

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

type Error = Infallible

The type returned in the event of a conversion error.

-

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

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

The type returned in the event of a conversion error.

-

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

- \ No newline at end of file +

This method tests for !=.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Compare self to key and return true if they are equal.

+

Performs the conversion.

+

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

+

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

+

Performs the conversion.

+

Should always be Self

+

The resulting type after obtaining ownership.

+

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

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

+

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

+

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_redis/index.html b/actix_redis/index.html index d112bf993..59ab903f0 100644 --- a/actix_redis/index.html +++ b/actix_redis/index.html @@ -1,14 +1,12 @@ -actix_redis - Rust - -

Crate actix_redis[][src]

Redis integration for Actix and session store for Actix Web.

-

Structs

-
Command

Command for send data to Redis

-
RedisActor

Redis communication actor

-
RedisSession

Use redis as session storage.

-

Enums

-
Error

General purpose actix redis error

-
RespError
RespValue

A single RESP value, this owns the data that is read/to-be written to Redis.

-
SameSite

The SameSite cookie attribute.

-
- \ No newline at end of file +actix_redis - Rust

Crate actix_redis[][src]

Expand description

Redis integration for Actix and session store for Actix Web.

+

Structs

+

Command for send data to Redis

+

Redis communication actor

+

Use redis as session storage.

+

Enums

+

General purpose actix redis error

+

A single RESP value, this owns the data that is read/to-be written to Redis.

+

The SameSite cookie attribute.

+
+ + \ No newline at end of file diff --git a/actix_redis/redis/struct.Command.html b/actix_redis/redis/struct.Command.html index 1b7696c54..b1baed22f 100644 --- a/actix_redis/redis/struct.Command.html +++ b/actix_redis/redis/struct.Command.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../actix_redis/struct.Command.html...

diff --git a/actix_redis/redis/struct.RedisActor.html b/actix_redis/redis/struct.RedisActor.html index ee86750c4..e2d9e4572 100644 --- a/actix_redis/redis/struct.RedisActor.html +++ b/actix_redis/redis/struct.RedisActor.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../actix_redis/struct.RedisActor.html...

diff --git a/actix_redis/session/struct.RedisSession.html b/actix_redis/session/struct.RedisSession.html index 069093cae..ff6040536 100644 --- a/actix_redis/session/struct.RedisSession.html +++ b/actix_redis/session/struct.RedisSession.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../actix_redis/struct.RedisSession.html...

diff --git a/actix_redis/struct.Command.html b/actix_redis/struct.Command.html index bd86242ed..ba3738852 100644 --- a/actix_redis/struct.Command.html +++ b/actix_redis/struct.Command.html @@ -1,25 +1,23 @@ -actix_redis::Command - Rust - -

Struct actix_redis::Command[][src]

pub struct Command(pub RespValue);

Command for send data to Redis

-

Trait Implementations

impl Debug for Command[src]

impl Handler<Command> for RedisActor[src]

type Result = ResponseFuture<Result<RespValue, Error>>

The type of value that this handler will return. Read more

-

impl Message for Command[src]

type Result = Result<RespValue, Error>

The type of value that this message will resolved with if it is +Command in actix_redis - Rust

Struct actix_redis::Command[][src]

pub struct Command(pub RespValue);
Expand description

Command for send data to Redis

+

Trait Implementations

Formats the value using the given formatter. Read more

+

The type of value that this handler will return. Read more

+

This method is called for every message received by this actor.

+

The type of value that this message will resolved with if it is successful. Read more

-

Auto Trait Implementations

impl RefUnwindSafe for Command

impl Send for Command

impl Sync for Command

impl Unpin for Command

impl UnwindSafe for Command

Blanket Implementations

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

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

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

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

impl<T> Instrument for T[src]

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

impl<T> Same<T> for T

type Output = T

Should always be Self

-

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

type Error = Infallible

The type returned in the event of a conversion error.

-

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

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

The type returned in the event of a conversion error.

-

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

- \ No newline at end of file +

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

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

+

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

+

Performs the conversion.

+

Should always be Self

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_redis/struct.RedisActor.html b/actix_redis/struct.RedisActor.html index 6baf79d04..5a9c926f2 100644 --- a/actix_redis/struct.RedisActor.html +++ b/actix_redis/struct.RedisActor.html @@ -1,39 +1,37 @@ -actix_redis::RedisActor - Rust - -

Struct actix_redis::RedisActor[][src]

pub struct RedisActor { /* fields omitted */ }

Redis communication actor

-

Implementations

impl RedisActor[src]

pub fn start<S: Into<String>>(addr: S) -> Addr<RedisActor>[src]

Start new Supervisor with RedisActor.

-

Trait Implementations

impl Actor for RedisActor[src]

type Context = Context<Self>

Actor execution context type

-

Start new actor in arbiter’s thread.

+

Start a new asynchronous actor given a Context. Read more

+

The type of value that this handler will return. Read more

+

This method is called for every message received by this actor.

+

Called for every message emitted by the stream.

+

Called when stream emits first item. Read more

+

Called when stream finishes. Read more

+

Register a Stream to the actor context.

+

Called when the supervisor restarts a failed actor.

+

Called when the writer emits error. Read more

+

Called when the writer finishes. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

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

+

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

+

Performs the conversion.

+

Should always be Self

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_redis/struct.RedisSession.html b/actix_redis/struct.RedisSession.html index c24afc26a..18fb90525 100644 --- a/actix_redis/struct.RedisSession.html +++ b/actix_redis/struct.RedisSession.html @@ -1,49 +1,47 @@ -actix_redis::RedisSession - Rust - -

Struct actix_redis::RedisSession[][src]

pub struct RedisSession(_);

Use redis as session storage.

+RedisSession in actix_redis - Rust

Struct actix_redis::RedisSession[][src]

pub struct RedisSession(_);
Expand description

Use redis as session storage.

You need to pass an address of the redis server and random value to the constructor of RedisSession. This is private key for cookie session, When this value is changed, all session data is lost.

Constructor panics if key length is less than 32 bytes.

-

Implementations

impl RedisSession[src]

pub fn new<S: Into<String>>(addr: S, key: &[u8]) -> RedisSession[src]

Create new redis session backend

+

Implementations

Create new redis session backend

  • addr - address of the redis server
-

pub fn ttl(self, ttl: u32) -> Self[src]

Set time to live in seconds for session value.

-

pub fn cookie_name(self, name: &str) -> Self[src]

Set custom cookie name for session ID.

-

pub fn cookie_path(self, path: &str) -> Self[src]

Set custom cookie path.

-

pub fn cookie_domain(self, domain: &str) -> Self[src]

Set custom cookie domain.

-

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

Set custom cookie secure.

+

Set time to live in seconds for session value.

+

Set custom cookie name for session ID.

+

Set custom cookie path.

+

Set custom cookie domain.

+

Set custom cookie secure.

If the secure field is set, a cookie will only be transmitted when the connection is secure - i.e. https.

Default is false.

-

pub fn cookie_max_age(self, max_age: impl Into<Option<Duration>>) -> Self[src]

Set custom cookie max-age.

+

Set custom cookie max-age.

Use None for session-only cookies.

-

pub fn cookie_same_site(self, same_site: SameSite) -> Self[src]

Set custom cookie SameSite attribute.

+

Set custom cookie SameSite attribute.

By default, the attribute is omitted.

-

pub fn cookie_http_only(self, http_only: bool) -> Self[src]

Set custom cookie HttpOnly policy.

+

Set custom cookie HttpOnly policy.

Default is true.

-

pub fn cache_keygen(self, keygen: Box<dyn Fn(&str) -> String>) -> Self[src]

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

-

Trait Implementations

impl<S, B> Transform<S, ServiceRequest> for RedisSession where
    S: Service<ServiceRequest, Response = ServiceResponse<B>, Error = Error> + 'static,
    S::Future: 'static,
    B: 'static, 
[src]

type Response = ServiceResponse<B>

Responses produced by the service.

-

type Error = S::Error

Errors produced by the service.

-

type Transform = RedisSessionMiddleware<S>

The TransformService value created by this factory

-

type InitError = ()

Errors produced while building a transform service.

-

type Future = LocalBoxFuture<'static, Result<Self::Transform, Self::InitError>>

The future response value.

-

Auto Trait Implementations

Blanket Implementations

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

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

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

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

impl<T> Instrument for T[src]

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

impl<T> Same<T> for T

type Output = T

Should always be Self

-

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

type Error = Infallible

The type returned in the event of a conversion error.

-

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

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

The type returned in the event of a conversion error.

-

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

- \ No newline at end of file +

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

+

Trait Implementations

Responses produced by the service.

+

Errors produced by the service.

+

The TransformService value created by this factory

+

Errors produced while building a transform service.

+

The future response value.

+

Creates and returns a new Transform component, asynchronously

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

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

+

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

+

Performs the conversion.

+

Should always be Self

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_session/all.html b/actix_session/all.html index 4480d7516..dbcc63751 100644 --- a/actix_session/all.html +++ b/actix_session/all.html @@ -1,7 +1,5 @@ -List of all items in this crate - -

List of all items[] +List of all items in this crate

List of all items[] -

Structs

Enums

Traits

- \ No newline at end of file +

Structs

Enums

Traits

+ + \ No newline at end of file diff --git a/actix_session/cookie/struct.CookieSession.html b/actix_session/cookie/struct.CookieSession.html index 988b04316..305ee80e0 100644 --- a/actix_session/cookie/struct.CookieSession.html +++ b/actix_session/cookie/struct.CookieSession.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../actix_session/struct.CookieSession.html...

diff --git a/actix_session/enum.SessionStatus.html b/actix_session/enum.SessionStatus.html index 21bebbd60..d3df888f5 100644 --- a/actix_session/enum.SessionStatus.html +++ b/actix_session/enum.SessionStatus.html @@ -1,15 +1,10 @@ -actix_session::SessionStatus - Rust - -

Enum actix_session::SessionStatus[][src]

pub enum SessionStatus {
+SessionStatus in actix_session - Rust

Enum actix_session::SessionStatus[][src]

pub enum SessionStatus {
     Changed,
     Purged,
     Renewed,
     Unchanged,
-}

Status of a Session.

-

- Variants

-
Changed

Session has been updated and requires a new persist operation.

+}
Expand description

Status of a Session.

+

Variants

Changed

Session has been updated and requires a new persist operation.

Purged

Session is flagged for deletion and should be removed from client and server.

Most operations on the session after purge flag is set should have no effect.

Renewed

Session is flagged for refresh.

@@ -19,30 +14,31 @@ be notified of the refresh.

Unchanged

Session is unchanged from when last seen (if exists).

This state also captures new (previously unissued) sessions such as a user’s first site visit.

-

Trait Implementations

impl Clone for SessionStatus[src]

impl Debug for SessionStatus[src]

impl Default for SessionStatus[src]

impl PartialEq<SessionStatus> for SessionStatus[src]

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

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

+

This method tests for self and other values to be equal, and is used by ==. Read more

-

impl StructuralPartialEq for SessionStatus[src]

Auto Trait Implementations

Blanket Implementations

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

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

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

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

impl<T> Instrument for T[src]

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

impl<T> Same<T> for T

type Output = T

Should always be Self

-

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

type Owned = T

The resulting type after obtaining ownership.

-

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

type Error = Infallible

The type returned in the event of a conversion error.

-

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

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

The type returned in the event of a conversion error.

-

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

- \ No newline at end of file +

This method tests for !=.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

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

+

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

+

Performs the conversion.

+

Should always be Self

+

The resulting type after obtaining ownership.

+

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

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

+

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

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_session/index.html b/actix_session/index.html index 9596eff42..f2eddbdbc 100644 --- a/actix_session/index.html +++ b/actix_session/index.html @@ -1,13 +1,10 @@ -actix_session - Rust - -

Crate actix_session[][src]

Sessions for Actix Web.

+actix_session - Rust

Crate actix_session[][src]

Expand description

Sessions for Actix Web.

Provides a general solution for session management. Session middleware could provide different implementations which could be accessed via general session API.

This crate provides a general solution for session management and includes a cookie backend. Other backend implementations can be built to use persistent or key-value stores, for example.

-

In general, some session middleware, such as a CookieSession is initialized and applied. -To access session data, the Session extractor must be used. This extractor allows reading +

In general, some session middleware, such as a CookieSession is initialized and applied. +To access session data, the Session extractor must be used. This extractor allows reading modifying session data.

@@ -37,12 +34,13 @@ modifying session data.

.run() .await }
-

Structs

-
CookieSession

Use cookies for session storage.

-
Session

The high-level interface you use to modify session data.

-

Enums

-
SessionStatus

Status of a Session.

-

Traits

-
UserSession

Extraction of a Session object.

-
- \ No newline at end of file +

Structs

+

Use cookies for session storage.

+

The high-level interface you use to modify session data.

+

Enums

+

Status of a Session.

+

Traits

+

Extraction of a Session object.

+
+ + \ No newline at end of file diff --git a/actix_session/struct.CookieSession.html b/actix_session/struct.CookieSession.html index 4f1bf9727..b134c279e 100644 --- a/actix_session/struct.CookieSession.html +++ b/actix_session/struct.CookieSession.html @@ -1,7 +1,4 @@ -actix_session::CookieSession - Rust - -

Struct actix_session::CookieSession[][src]

pub struct CookieSession(_);

Use cookies for session storage.

+CookieSession in actix_session - Rust

Struct actix_session::CookieSession[][src]

pub struct CookieSession(_);
Expand description

Use cookies for session storage.

CookieSession creates sessions which are limited to storing fewer than 4000 bytes of data (as the payload must fit into a single cookie). An Internal Server Error is generated if the session contains more @@ -32,44 +29,45 @@ cause troubles when reading cookie, if they are not properly percent encoded.

path("/") .secure(true)) .service(web::resource("/").to(|| HttpResponse::Ok()));
-

Implementations

impl CookieSession[src]

pub fn signed(key: &[u8]) -> CookieSession[src]

Construct new signed CookieSession instance.

+

Implementations

Construct new signed CookieSession instance.

Panics if key length is less than 32 bytes.

-

pub fn private(key: &[u8]) -> CookieSession[src]

Construct new private CookieSession instance.

+

Construct new private CookieSession instance.

Panics if key length is less than 32 bytes.

-

pub fn path<S: Into<String>>(self, value: S) -> CookieSession[src]

Sets the path field in the session cookie being built.

-

pub fn name<S: Into<String>>(self, value: S) -> CookieSession[src]

Sets the name field in the session cookie being built.

-

pub fn domain<S: Into<String>>(self, value: S) -> CookieSession[src]

Sets the domain field in the session cookie being built.

-

pub fn lazy(self, value: bool) -> CookieSession[src]

When true, prevents adding session cookies to responses until +

Sets the path field in the session cookie being built.

+

Sets the name field in the session cookie being built.

+

Sets the domain field in the session cookie being built.

+

When true, prevents adding session cookies to responses until the session contains data. Default is false.

Useful when trying to comply with laws that require consent for setting cookies.

-

pub fn secure(self, value: bool) -> CookieSession[src]

Sets the secure field in the session cookie being built.

+

Sets the secure field in the session cookie being built.

If the secure field is set, a cookie will only be transmitted when the connection is secure - i.e. https

-

pub fn http_only(self, value: bool) -> CookieSession[src]

Sets the http_only field in the session cookie being built.

-

pub fn same_site(self, value: SameSite) -> CookieSession[src]

Sets the same_site field in the session cookie being built.

-

pub fn max_age(self, seconds: i64) -> CookieSession[src]

Sets the max-age field in the session cookie being built.

-

pub fn max_age_time(self, value: Duration) -> CookieSession[src]

Sets the max-age field in the session cookie being built.

-

pub fn expires_in(self, seconds: i64) -> CookieSession[src]

Sets the expires field in the session cookie being built.

-

pub fn expires_in_time(self, value: Duration) -> CookieSession[src]

Sets the expires field in the session cookie being built.

-

Trait Implementations

impl<S, B: 'static> Transform<S, ServiceRequest> for CookieSession where
    S: Service<ServiceRequest, Response = ServiceResponse<B>>,
    S::Future: 'static,
    S::Error: 'static, 
[src]

type Response = ServiceResponse<B>

Responses produced by the service.

-

type Error = S::Error

Errors produced by the service.

-

type InitError = ()

Errors produced while building a transform service.

-

type Transform = CookieSessionMiddleware<S>

The TransformService value created by this factory

-

type Future = Ready<Result<Self::Transform, Self::InitError>>

The future response value.

-

Auto Trait Implementations

Blanket Implementations

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

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

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

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

impl<T> Instrument for T[src]

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

impl<T> Same<T> for T

type Output = T

Should always be Self

-

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

type Error = Infallible

The type returned in the event of a conversion error.

-

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

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

The type returned in the event of a conversion error.

-

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

- \ No newline at end of file +

Sets the http_only field in the session cookie being built.

+

Sets the same_site field in the session cookie being built.

+

Sets the max-age field in the session cookie being built.

+

Sets the max-age field in the session cookie being built.

+

Sets the expires field in the session cookie being built.

+

Sets the expires field in the session cookie being built.

+

Trait Implementations

Responses produced by the service.

+

Errors produced by the service.

+

Errors produced while building a transform service.

+

The TransformService value created by this factory

+

The future response value.

+

Creates and returns a new Transform component, asynchronously

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

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

+

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

+

Performs the conversion.

+

Should always be Self

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_session/struct.Session.html b/actix_session/struct.Session.html index ef6344548..aa7119282 100644 --- a/actix_session/struct.Session.html +++ b/actix_session/struct.Session.html @@ -1,8 +1,5 @@ -actix_session::Session - Rust - -

Struct actix_session::Session[][src]

pub struct Session(_);

The high-level interface you use to modify session data.

-

Session object is obtained with UserSession::get_session. The UserSession trait is +Session in actix_session - Rust

Struct actix_session::Session[][src]

pub struct Session(_);
Expand description

The high-level interface you use to modify session data.

+

Session object is obtained with UserSession::get_session. The UserSession trait is implemented for HttpRequest, ServiceRequest, and RequestHead.

@@ -19,21 +16,21 @@ implemented for HttpRequest, ServiceRequest, and Ok("Welcome!")
 }
-

Implementations

impl Session[src]

pub fn get<T: DeserializeOwned>(&self, key: &str) -> Result<Option<T>, Error>[src]

Get a value from the session.

-

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

Get all raw key-value data from the session.

+

Implementations

Get a value from the session.

+

Get all raw key-value data from the session.

Note that values are JSON encoded.

-

pub fn insert(
    &self,
    key: impl Into<String>,
    value: impl Serialize
) -> Result<(), Error>
[src]

Inserts a key-value pair into the session.

+

Inserts a key-value pair into the session.

Any serializable value can be used and will be encoded as JSON in session data, hence why only a reference to the value is taken.

-

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

Remove value from the session.

+

Remove value from the session.

If present, the JSON encoded value is returned.

-

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

Remove value from the session and deserialize.

+

Remove value from the session and deserialize.

Returns None if key was not present in session. Returns T if deserialization succeeds, otherwise returns un-deserialized JSON string.

-

pub fn clear(&self)[src]

Clear the session.

-

pub fn purge(&self)[src]

Removes session both client and server side.

-

pub fn renew(&self)[src]

Renews the session key, assigning existing session state to new key.

-

pub fn set_session(
    req: &mut ServiceRequest,
    data: impl IntoIterator<Item = (String, String)>
)
[src]

Adds the given key-value pairs to the session on the request.

+

Clear the session.

+

Removes session both client and server side.

+

Renews the session key, assigning existing session state to new key.

+

Adds the given key-value pairs to the session on the request.

Values that match keys already existing on the session will be overwritten. Values should already be JSON serialized.

Examples

@@ -44,8 +41,8 @@ already be JSON serialized.

&mut req, vec![("counter".to_string(), serde_json::to_string(&0).unwrap())], );
-

pub fn get_changes<B>(
    res: &mut ServiceResponse<B>
) -> (SessionStatus, impl Iterator<Item = (String, String)>)
[src]

Returns session status and iterator of key-value pairs of changes.

-

Trait Implementations

impl FromRequest for Session[src]

Extractor implementation for Session type.

+

Returns session status and iterator of key-value pairs of changes.

+

Trait Implementations

Extractor implementation for Session type.

Examples

 use actix_session::Session;
@@ -62,25 +59,26 @@ already be JSON serialized.

let count = session.get::<i32>("counter")?.unwrap(); Ok(format!("Counter: {}", count)) }
-

type Error = Error

The associated error which can be returned.

-

type Future = Ready<Result<Session, Error>>

Future that resolves to a Self.

-

type Config = ()

Configuration for this extractor.

-

Auto Trait Implementations

impl !RefUnwindSafe for Session

impl !Send for Session

impl !Sync for Session

impl Unpin for Session

impl !UnwindSafe for Session

Blanket Implementations

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

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

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

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

impl<T> Instrument for T[src]

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

impl<T> Same<T> for T

type Output = T

Should always be Self

-

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

type Error = Infallible

The type returned in the event of a conversion error.

-

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

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

The type returned in the event of a conversion error.

-

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

- \ No newline at end of file +

The associated error which can be returned.

+

Future that resolves to a Self.

+

Configuration for this extractor.

+

Create a Self from request parts asynchronously.

+

Create a Self from request head asynchronously. Read more

+

Create and configure config instance.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

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

+

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

+

Performs the conversion.

+

Should always be Self

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_session/trait.UserSession.html b/actix_session/trait.UserSession.html index 043cff6bf..cc9d87a53 100644 --- a/actix_session/trait.UserSession.html +++ b/actix_session/trait.UserSession.html @@ -1,9 +1,7 @@ -actix_session::UserSession - Rust - -

Trait actix_session::UserSession[][src]

pub trait UserSession {
-    fn get_session(&self) -> Session;
-}

Extraction of a Session object.

-

Required methods

fn get_session(&self) -> Session[src]

Extract the Session object

-
Loading content...

Implementations on Foreign Types

impl UserSession for HttpRequest[src]

impl UserSession for ServiceRequest[src]

impl UserSession for RequestHead[src]

Loading content...

Implementors

Loading content...
- \ No newline at end of file +UserSession in actix_session - Rust

Trait actix_session::UserSession[][src]

pub trait UserSession {
+    fn get_session(&self) -> Session;
+}
Expand description

Extraction of a Session object.

+

Required methods

Extract the Session object

+

Implementations on Foreign Types

Implementors

+ + \ No newline at end of file diff --git a/actix_web_httpauth/all.html b/actix_web_httpauth/all.html index e58835727..d7dfbaa4a 100644 --- a/actix_web_httpauth/all.html +++ b/actix_web_httpauth/all.html @@ -1,7 +1,5 @@ -List of all items in this crate - -

List of all items[] +List of all items in this crate

List of all items[] -

Structs

Enums

Traits

- \ No newline at end of file +

Structs

Enums

Traits

+ + \ 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 63cc30a81..4b41c1b3b 100644 --- a/actix_web_httpauth/extractors/basic/index.html +++ b/actix_web_httpauth/extractors/basic/index.html @@ -1,10 +1,8 @@ -actix_web_httpauth::extractors::basic - Rust - -

Module actix_web_httpauth::extractors::basic[][src]

Extractor for the “Basic” HTTP Authentication Scheme

-

Structs

-
BasicAuth

Extractor for HTTP Basic auth.

-
Config

BasicAuth extractor configuration, +actix_web_httpauth::extractors::basic - Rust

Module actix_web_httpauth::extractors::basic[][src]

Expand description

Extractor for the “Basic” HTTP Authentication Scheme

+

Structs

+

Extractor for HTTP Basic auth.

+

BasicAuth extractor configuration, used for WWW-Authenticate header later.

-
- \ No newline at end of file +
+ + \ 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 2e07f2e17..0b04774e8 100644 --- a/actix_web_httpauth/extractors/basic/struct.BasicAuth.html +++ b/actix_web_httpauth/extractors/basic/struct.BasicAuth.html @@ -1,7 +1,4 @@ -actix_web_httpauth::extractors::basic::BasicAuth - Rust - -

Struct actix_web_httpauth::extractors::basic::BasicAuth[][src]

pub struct BasicAuth(_);

Extractor for HTTP Basic auth.

+BasicAuth in actix_web_httpauth::extractors::basic - Rust

Struct actix_web_httpauth::extractors::basic::BasicAuth[][src]

pub struct BasicAuth(_);
Expand description

Extractor for HTTP Basic auth.

Example

 use actix_web::Result;
@@ -24,40 +21,41 @@ response header.

fn main() { let app = App::new() - .data(Config::default().realm("Restricted area")) + .app_data(Config::default().realm("Restricted area")) .service(web::resource("/index.html").route(web::get().to(index))); }
-

Implementations

impl BasicAuth[src]

pub fn user_id(&self) -> &Cow<'static, str>[src]

Returns client’s user-ID.

-

pub fn password(&self) -> Option<&Cow<'static, str>>[src]

Returns client’s password.

-

Trait Implementations

impl AuthExtractor for BasicAuth[src]

type Error = AuthenticationError<Challenge>

The associated error which can be returned.

-

type Future = Ready<Result<Self, Self::Error>>

Future that resolves into extracted credentials type.

-

impl Clone for BasicAuth[src]

impl Debug for BasicAuth[src]

impl FromRequest for BasicAuth[src]

type Future = Ready<Result<Self, Self::Error>>

Future that resolves to a Self.

-

type Config = Config

Configuration for this extractor.

-

type Error = AuthenticationError<Challenge>

The associated error which can be returned.

-

Auto Trait Implementations

Blanket Implementations

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

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

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

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

impl<T> Instrument for T[src]

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

impl<T> Same<T> for T

type Output = T

Should always be Self

-

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

type Owned = T

The resulting type after obtaining ownership.

-

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

type Error = Infallible

The type returned in the event of a conversion error.

-

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

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

The type returned in the event of a conversion error.

-

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

- \ No newline at end of file +

Implementations

Returns client’s user-ID.

+

Returns client’s password.

+

Trait Implementations

The associated error which can be returned.

+

Future that resolves into extracted credentials type.

+

Parse the authentication credentials from the actix’ ServiceRequest.

+

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Future that resolves to a Self.

+

Configuration for this extractor.

+

The associated error which can be returned.

+

Create a Self from request parts asynchronously.

+

Create a Self from request head asynchronously. Read more

+

Create and configure config instance.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

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

+

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

+

Performs the conversion.

+

Should always be Self

+

The resulting type after obtaining ownership.

+

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

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

+

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

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_web_httpauth/extractors/basic/struct.Config.html b/actix_web_httpauth/extractors/basic/struct.Config.html index 4041de215..5b7e8bb20 100644 --- a/actix_web_httpauth/extractors/basic/struct.Config.html +++ b/actix_web_httpauth/extractors/basic/struct.Config.html @@ -1,35 +1,33 @@ -actix_web_httpauth::extractors::basic::Config - Rust - -

Struct actix_web_httpauth::extractors::basic::Config[][src]

pub struct Config(_);

BasicAuth extractor configuration, +Config in actix_web_httpauth::extractors::basic - Rust

Struct actix_web_httpauth::extractors::basic::Config[][src]

pub struct Config(_);
Expand description

BasicAuth extractor configuration, used for WWW-Authenticate header later.

-

Implementations

impl Config[src]

pub fn realm<T>(self, value: T) -> Config where
    T: Into<Cow<'static, str>>, 
[src]

Set challenge realm attribute.

+

Implementations

Set challenge realm attribute.

The “realm” attribute indicates the scope of protection in the manner described in HTTP/1.1 RFC2617.

-

Trait Implementations

impl AsRef<Basic> for Config[src]

impl AuthExtractorConfig for Config[src]

type Inner = Challenge

Associated challenge type.

-

impl Clone for Config[src]

impl Debug for Config[src]

impl Default for Config[src]

Auto Trait Implementations

impl RefUnwindSafe for Config

impl Send for Config

impl Sync for Config

impl Unpin for Config

impl UnwindSafe for Config

Blanket Implementations

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

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

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

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

impl<T> Instrument for T[src]

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

impl<T> Same<T> for T

type Output = T

Should always be Self

-

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

type Owned = T

The resulting type after obtaining ownership.

-

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

type Error = Infallible

The type returned in the event of a conversion error.

-

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

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

The type returned in the event of a conversion error.

-

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

- \ No newline at end of file +

Trait Implementations

Performs the conversion.

+

Associated challenge type.

+

Convert the config instance into a HTTP challenge.

+

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

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

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

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

+

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

+

Performs the conversion.

+

Should always be Self

+

The resulting type after obtaining ownership.

+

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

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

+

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

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_web_httpauth/extractors/bearer/enum.Error.html b/actix_web_httpauth/extractors/bearer/enum.Error.html index a0dab064d..bfd443465 100644 --- a/actix_web_httpauth/extractors/bearer/enum.Error.html +++ b/actix_web_httpauth/extractors/bearer/enum.Error.html @@ -1,14 +1,9 @@ -actix_web_httpauth::extractors::bearer::Error - Rust - -

Enum actix_web_httpauth::extractors::bearer::Error[][src]

pub enum Error {
+Error in actix_web_httpauth::extractors::bearer - Rust

Enum actix_web_httpauth::extractors::bearer::Error[][src]

pub enum Error {
     InvalidRequest,
     InvalidToken,
     InsufficientScope,
-}

Bearer authorization error types, described in RFC 6750

-

- Variants

-
InvalidRequest

The request is missing a required parameter, includes an unsupported +}

Expand description

Bearer authorization error types, described in RFC 6750

+

Variants

InvalidRequest

The request is missing a required parameter, includes an unsupported parameter or parameter value, repeats the same parameter, uses more than one method for including an access token, or is otherwise malformed.

@@ -16,46 +11,47 @@ malformed.

for other reasons.

InsufficientScope

The request requires higher privileges than provided by the access token.

-

Implementations

impl Error[src]

pub fn status_code(&self) -> StatusCode[src]

Returns HTTP status code suitable for current error type.

-

Trait Implementations

impl Clone for Error[src]

impl Copy for Error[src]

impl Debug for Error[src]

impl Display for Error[src]

impl Eq for Error[src]

impl Hash for Error[src]

impl Ord for Error[src]

impl PartialEq<Error> for Error[src]

Implementations

Returns HTTP status code suitable for current error type.

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

Feeds this value into the given Hasher. Read more

+

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

+

This method returns an Ordering between self and other. Read more

+

Compares and returns the maximum of two values. Read more

+

Compares and returns the minimum of two values. Read more

+

Restrict a value to a certain interval. Read more

+

This method tests for self and other values to be equal, and is used by ==. Read more

-

impl PartialOrd<Error> for Error[src]

This method tests for !=.

+

This method returns an ordering between self and other values if one exists. Read more

+

This method tests less than (for self and other) and is used by the < operator. Read more

+

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

-

This method tests greater than (for self and other) and is used by the > operator. Read more

+

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

-

impl StructuralEq for Error[src]

impl StructuralPartialEq for Error[src]

Auto Trait Implementations

impl RefUnwindSafe for Error

impl Send for Error

impl Sync for Error

impl Unpin for Error

impl UnwindSafe for Error

Blanket Implementations

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

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

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

impl<T> CallHasher for T where
    T: Hash + ?Sized

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

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

impl<T> Instrument for T[src]

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

impl<T> Same<T> for T

type Output = T

Should always be Self

-

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

type Owned = T

The resulting type after obtaining ownership.

-

impl<T> ToString for T where
    T: Display + ?Sized
[src]

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

type Error = Infallible

The type returned in the event of a conversion error.

-

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

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

The type returned in the event of a conversion error.

-

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

- \ No newline at end of file +

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Compare self to key and return true if they are equal.

+

Performs the conversion.

+

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

+

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

+

Performs the conversion.

+

Should always be Self

+

The resulting type after obtaining ownership.

+

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

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

+

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

+

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_web_httpauth/extractors/bearer/index.html b/actix_web_httpauth/extractors/bearer/index.html index 45f603382..018bdac51 100644 --- a/actix_web_httpauth/extractors/bearer/index.html +++ b/actix_web_httpauth/extractors/bearer/index.html @@ -1,11 +1,9 @@ -actix_web_httpauth::extractors::bearer - Rust - -

Module actix_web_httpauth::extractors::bearer[][src]

Extractor for the “Bearer” HTTP Authentication Scheme

-

Structs

-
BearerAuth

Extractor for HTTP Bearer auth

-
Config

BearerAuth extractor configuration.

-

Enums

-
Error

Bearer authorization error types, described in RFC 6750

-
- \ No newline at end of file +actix_web_httpauth::extractors::bearer - Rust

Module actix_web_httpauth::extractors::bearer[][src]

Expand description

Extractor for the “Bearer” HTTP Authentication Scheme

+

Structs

+

Extractor for HTTP Bearer auth

+

BearerAuth extractor configuration.

+

Enums

+

Bearer authorization error types, described in RFC 6750

+
+ + \ 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 c9f0e89c4..2e094307c 100644 --- a/actix_web_httpauth/extractors/bearer/struct.BearerAuth.html +++ b/actix_web_httpauth/extractors/bearer/struct.BearerAuth.html @@ -1,7 +1,4 @@ -actix_web_httpauth::extractors::bearer::BearerAuth - Rust - -

Struct actix_web_httpauth::extractors::bearer::BearerAuth[][src]

pub struct BearerAuth(_);

Extractor for HTTP Bearer auth

+BearerAuth in actix_web_httpauth::extractors::bearer - Rust

Struct actix_web_httpauth::extractors::bearer::BearerAuth[][src]

pub struct BearerAuth(_);
Expand description

Extractor for HTTP Bearer auth

Example

 use actix_web_httpauth::extractors::bearer::BearerAuth;
@@ -9,7 +6,7 @@
 async fn index(auth: BearerAuth) -> String {
     format!("Hello, user with token {}!", auth.token())
 }
-

If authentication fails, this extractor fetches the Config instance +

If authentication fails, this extractor fetches the Config instance from the [app data] in order to properly form the WWW-Authenticate response header.

Example

@@ -23,43 +20,44 @@ response header.

fn main() { let app = App::new() - .data( + .app_data( Config::default() .realm("Restricted area") .scope("email photo"), ) .service(web::resource("/index.html").route(web::get().to(index))); }
-

Implementations

impl BearerAuth[src]

pub fn token(&self) -> &str[src]

Returns bearer token provided by client.

-

Trait Implementations

impl AuthExtractor for BearerAuth[src]

type Future = Ready<Result<Self, Self::Error>>

Future that resolves into extracted credentials type.

-

type Error = AuthenticationError<Bearer>

The associated error which can be returned.

-

impl Clone for BearerAuth[src]

impl Debug for BearerAuth[src]

impl FromRequest for BearerAuth[src]

type Config = Config

Configuration for this extractor.

-

type Future = Ready<Result<Self, Self::Error>>

Future that resolves to a Self.

-

type Error = AuthenticationError<Bearer>

The associated error which can be returned.

-

Auto Trait Implementations

Blanket Implementations

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

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

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

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

impl<T> Instrument for T[src]

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

impl<T> Same<T> for T

type Output = T

Should always be Self

-

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

type Owned = T

The resulting type after obtaining ownership.

-

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

type Error = Infallible

The type returned in the event of a conversion error.

-

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

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

The type returned in the event of a conversion error.

-

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

- \ No newline at end of file +

Implementations

Returns bearer token provided by client.

+

Trait Implementations

Future that resolves into extracted credentials type.

+

The associated error which can be returned.

+

Parse the authentication credentials from the actix’ ServiceRequest.

+

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Configuration for this extractor.

+

Future that resolves to a Self.

+

The associated error which can be returned.

+

Create a Self from request parts asynchronously.

+

Create a Self from request head asynchronously. Read more

+

Create and configure config instance.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

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

+

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

+

Performs the conversion.

+

Should always be Self

+

The resulting type after obtaining ownership.

+

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

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

+

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

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_web_httpauth/extractors/bearer/struct.Config.html b/actix_web_httpauth/extractors/bearer/struct.Config.html index c8462a6aa..f736fe857 100644 --- a/actix_web_httpauth/extractors/bearer/struct.Config.html +++ b/actix_web_httpauth/extractors/bearer/struct.Config.html @@ -1,38 +1,36 @@ -actix_web_httpauth::extractors::bearer::Config - Rust - -

Struct actix_web_httpauth::extractors::bearer::Config[][src]

pub struct Config(_);

BearerAuth extractor configuration.

-

Implementations

impl Config[src]

pub fn scope<T: Into<Cow<'static, str>>>(self, value: T) -> Config[src]

Set challenge scope attribute.

+Config in actix_web_httpauth::extractors::bearer - Rust

Struct actix_web_httpauth::extractors::bearer::Config[][src]

pub struct Config(_);
Expand description

BearerAuth extractor configuration.

+

Implementations

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 accessing the requested resource.

-

pub fn realm<T: Into<Cow<'static, str>>>(self, value: T) -> Config[src]

Set challenge realm attribute.

+

Set challenge realm attribute.

The “realm” attribute indicates the scope of protection in the manner described in HTTP/1.1 RFC2617.

-

Trait Implementations

impl AsRef<Bearer> for Config[src]

impl AuthExtractorConfig for Config[src]

type Inner = Bearer

Associated challenge type.

-

impl Clone for Config[src]

impl Debug for Config[src]

impl Default for Config[src]

Auto Trait Implementations

impl RefUnwindSafe for Config

impl Send for Config

impl Sync for Config

impl Unpin for Config

impl UnwindSafe for Config

Blanket Implementations

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

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

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

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

impl<T> Instrument for T[src]

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

impl<T> Same<T> for T

type Output = T

Should always be Self

-

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

type Owned = T

The resulting type after obtaining ownership.

-

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

type Error = Infallible

The type returned in the event of a conversion error.

-

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

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

The type returned in the event of a conversion error.

-

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

- \ No newline at end of file +

Trait Implementations

Performs the conversion.

+

Associated challenge type.

+

Convert the config instance into a HTTP challenge.

+

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

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

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

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

+

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

+

Performs the conversion.

+

Should always be Self

+

The resulting type after obtaining ownership.

+

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

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

+

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

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_web_httpauth/extractors/config/trait.AuthExtractorConfig.html b/actix_web_httpauth/extractors/config/trait.AuthExtractorConfig.html index 8466abc1a..a74cbb3f3 100644 --- a/actix_web_httpauth/extractors/config/trait.AuthExtractorConfig.html +++ b/actix_web_httpauth/extractors/config/trait.AuthExtractorConfig.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../../actix_web_httpauth/extractors/trait.AuthExtractorConfig.html...

diff --git a/actix_web_httpauth/extractors/errors/struct.AuthenticationError.html b/actix_web_httpauth/extractors/errors/struct.AuthenticationError.html index ab93b3583..4bd4d8e74 100644 --- a/actix_web_httpauth/extractors/errors/struct.AuthenticationError.html +++ b/actix_web_httpauth/extractors/errors/struct.AuthenticationError.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../../actix_web_httpauth/extractors/struct.AuthenticationError.html...

diff --git a/actix_web_httpauth/extractors/index.html b/actix_web_httpauth/extractors/index.html index 5457095eb..9716494ae 100644 --- a/actix_web_httpauth/extractors/index.html +++ b/actix_web_httpauth/extractors/index.html @@ -1,16 +1,14 @@ -actix_web_httpauth::extractors - Rust - -

Module actix_web_httpauth::extractors[][src]

Type-safe authentication information extractors

-

Modules

-
basic

Extractor for the “Basic” HTTP Authentication Scheme

-
bearer

Extractor for the “Bearer” HTTP Authentication Scheme

-

Structs

-
AuthenticationError

Authentication error returned by authentication extractors.

-

Traits

-
AuthExtractor

Trait implemented by types that can extract +actix_web_httpauth::extractors - Rust

Module actix_web_httpauth::extractors[][src]

Expand description

Type-safe authentication information extractors

+

Modules

+

Extractor for the “Basic” HTTP Authentication Scheme

+

Extractor for the “Bearer” HTTP Authentication Scheme

+

Structs

+

Authentication error returned by authentication extractors.

+

Traits

+

Trait implemented by types that can extract HTTP authentication scheme credentials from the request.

-
AuthExtractorConfig

Trait implemented for types that provides configuration +

Trait implemented for types that provides configuration for the authentication extractors.

-
- \ No newline at end of file +
+ + \ 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 05a1462fb..21998854f 100644 --- a/actix_web_httpauth/extractors/struct.AuthenticationError.html +++ b/actix_web_httpauth/extractors/struct.AuthenticationError.html @@ -1,45 +1,43 @@ -actix_web_httpauth::extractors::AuthenticationError - Rust - -

Struct actix_web_httpauth::extractors::AuthenticationError[][src]

pub struct AuthenticationError<C: Challenge> { /* fields omitted */ }

Authentication error returned by authentication extractors.

+AuthenticationError in actix_web_httpauth::extractors - Rust

Struct actix_web_httpauth::extractors::AuthenticationError[][src]

pub struct AuthenticationError<C: Challenge> { /* fields omitted */ }
Expand description

Authentication error returned by authentication extractors.

Different extractors may extend AuthenticationError implementation in order to provide access to inner challenge fields.

-

Implementations

impl AuthenticationError<Bearer>[src]

Extended error customization for HTTP Bearer auth.

-

pub fn with_error(self, kind: Error) -> Self[src]

Attach Error to the current Authentication error.

+

Implementations

Extended error customization for HTTP Bearer auth.

+

Attach Error to the current Authentication error.

Error status code will be changed to the one provided by the kind Error.

-

pub fn with_error_description<T>(self, desc: T) -> Self where
    T: Into<Cow<'static, str>>, 
[src]

Attach error description to the current Authentication error.

-

pub fn with_error_uri<T>(self, uri: T) -> Self where
    T: Into<Cow<'static, str>>, 
[src]

Attach error URI to the current Authentication error.

+

Attach error description to the current Authentication error.

+

Attach error URI to the current Authentication error.

It is up to implementor to provide properly formed absolute URI.

-

impl<C: Challenge> AuthenticationError<C>[src]

pub fn new(challenge: C) -> AuthenticationError<C>[src]

Creates new authentication error from the provided challenge.

+

Creates new authentication error from the provided challenge.

By default returned error will resolve into the HTTP 401 status code.

-

pub fn challenge_mut(&mut self) -> &mut C[src]

Returns mutable reference to the inner challenge instance.

-

pub fn status_code_mut(&mut self) -> &mut StatusCode[src]

Returns mutable reference to the inner status code.

+

Returns mutable reference to the inner challenge instance.

+

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

impl<C: Debug + Challenge> Debug for AuthenticationError<C>[src]

impl<C: Challenge> Display for AuthenticationError<C>[src]

impl<C: 'static + Challenge> Error for AuthenticationError<C>[src]

impl<T> From<T> for AuthenticationError<<T as AuthExtractorConfig>::Inner> where
    T: AuthExtractorConfig
[src]

impl<C: 'static + Challenge> ResponseError for AuthenticationError<C>[src]

Auto Trait Implementations

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

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

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

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

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

impl<T> Instrument for T[src]

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

impl<T> Same<T> for T

type Output = T

Should always be Self

-

impl<T> ToString for T where
    T: Display + ?Sized
[src]

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

type Error = Infallible

The type returned in the event of a conversion error.

-

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

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

The type returned in the event of a conversion error.

-

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

- \ No newline at end of file +

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

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

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Performs the conversion.

+

Creates full response for error. Read more

+

Returns appropriate status code for error. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

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

+

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

+

Performs the conversion.

+

Should always be Self

+

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_web_httpauth/extractors/trait.AuthExtractor.html b/actix_web_httpauth/extractors/trait.AuthExtractor.html index 0914472bc..e5ae8e540 100644 --- a/actix_web_httpauth/extractors/trait.AuthExtractor.html +++ b/actix_web_httpauth/extractors/trait.AuthExtractor.html @@ -1,19 +1,17 @@ -actix_web_httpauth::extractors::AuthExtractor - Rust - -

Trait actix_web_httpauth::extractors::AuthExtractor[][src]

pub trait AuthExtractor: Sized {
+AuthExtractor in actix_web_httpauth::extractors - Rust

Trait actix_web_httpauth::extractors::AuthExtractor[][src]

pub trait AuthExtractor: Sized {
     type Error: Into<Error>;
-    type Future: Future<Output = Result<Self, Self::Error>>;
-    fn from_service_request(req: &ServiceRequest) -> Self::Future;
-}

Trait implemented by types that can extract + type Future: Future<Output = Result<Self, Self::Error>>; + fn from_service_request(req: &ServiceRequest) -> Self::Future; +}

Expand description

Trait implemented by types that can extract HTTP authentication scheme credentials from the request.

It is very similar to actix’ FromRequest trait, except it operates with a ServiceRequest struct instead, therefore it can be used in the middlewares.

You will not need it unless you want to implement your own authentication scheme.

-

Associated Types

type Error: Into<Error>[src]

The associated error which can be returned.

-

type Future: Future<Output = Result<Self, Self::Error>>[src]

Future that resolves into extracted credentials type.

-
Loading content...

Required methods

fn from_service_request(req: &ServiceRequest) -> Self::Future[src]

Parse the authentication credentials from the actix’ ServiceRequest.

-
Loading content...

Implementors

impl AuthExtractor for BasicAuth[src]

type Error = AuthenticationError<Challenge>

type Future = Ready<Result<Self, Self::Error>>

impl AuthExtractor for BearerAuth[src]

type Future = Ready<Result<Self, Self::Error>>

type Error = AuthenticationError<Bearer>

Loading content...
- \ No newline at end of file +

Associated Types

The associated error which can be returned.

+

Future that resolves into extracted credentials type.

+

Required methods

Parse the authentication credentials from the actix’ ServiceRequest.

+

Implementors

+ + \ No newline at end of file diff --git a/actix_web_httpauth/extractors/trait.AuthExtractorConfig.html b/actix_web_httpauth/extractors/trait.AuthExtractorConfig.html index 49aae5148..4ee8418bb 100644 --- a/actix_web_httpauth/extractors/trait.AuthExtractorConfig.html +++ b/actix_web_httpauth/extractors/trait.AuthExtractorConfig.html @@ -1,12 +1,10 @@ -actix_web_httpauth::extractors::AuthExtractorConfig - Rust - -

Trait actix_web_httpauth::extractors::AuthExtractorConfig[][src]

pub trait AuthExtractorConfig {
-    type Inner: Challenge;
-    fn into_inner(self) -> Self::Inner;
-}

Trait implemented for types that provides configuration +AuthExtractorConfig in actix_web_httpauth::extractors - Rust

Trait actix_web_httpauth::extractors::AuthExtractorConfig[][src]

pub trait AuthExtractorConfig {
+    type Inner: Challenge;
+    fn into_inner(self) -> Self::Inner;
+}
Expand description

Trait implemented for types that provides configuration for the authentication extractors.

-

Associated Types

type Inner: Challenge[src]

Associated challenge type.

-
Loading content...

Required methods

fn into_inner(self) -> Self::Inner[src]

Convert the config instance into a HTTP challenge.

-
Loading content...

Implementors

impl AuthExtractorConfig for actix_web_httpauth::extractors::basic::Config[src]

type Inner = Challenge

impl AuthExtractorConfig for actix_web_httpauth::extractors::bearer::Config[src]

type Inner = Bearer

Loading content...
- \ No newline at end of file +

Associated Types

Associated challenge type.

+

Required methods

Convert the config instance into a HTTP challenge.

+

Implementors

+ + \ No newline at end of file diff --git a/actix_web_httpauth/headers/authorization/enum.ParseError.html b/actix_web_httpauth/headers/authorization/enum.ParseError.html index 184092c25..32416aa06 100644 --- a/actix_web_httpauth/headers/authorization/enum.ParseError.html +++ b/actix_web_httpauth/headers/authorization/enum.ParseError.html @@ -1,47 +1,43 @@ -actix_web_httpauth::headers::authorization::ParseError - Rust - -

Enum actix_web_httpauth::headers::authorization::ParseError[][src]

pub enum ParseError {
+ParseError in actix_web_httpauth::headers::authorization - Rust

Enum actix_web_httpauth::headers::authorization::ParseError[][src]

pub enum ParseError {
     Invalid,
     MissingScheme,
     MissingField(&'static str),
     ToStrError(ToStrError),
     Base64DecodeError(DecodeError),
     Utf8Error(Utf8Error),
-}

Possible errors while parsing Authorization header.

+}
Expand description

Possible errors while parsing Authorization header.

Should not be used directly unless you are implementing your own authentication scheme.

-

- Variants

-
Invalid

Header value is malformed

+

Variants

Invalid

Header value is malformed

MissingScheme

Authentication scheme is missing

MissingField(&'static str)

Required authentication field is missing

ToStrError(ToStrError)

Unable to convert header into the str

Base64DecodeError(DecodeError)

Malformed base64 string

Utf8Error(Utf8Error)

Malformed UTF-8 string

-

Trait Implementations

impl Debug for ParseError[src]

impl Display for ParseError[src]

impl Error for ParseError[src]

impl From<DecodeError> for ParseError[src]

impl From<ToStrError> for ParseError[src]

impl From<Utf8Error> for ParseError[src]

Auto Trait Implementations

Blanket Implementations

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

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

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

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

impl<T> Instrument for T[src]

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

impl<T> Same<T> for T

type Output = T

Should always be Self

-

impl<T> ToString for T where
    T: Display + ?Sized
[src]

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

type Error = Infallible

The type returned in the event of a conversion error.

-

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

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

The type returned in the event of a conversion error.

-

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

- \ No newline at end of file +

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

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

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Performs the conversion.

+

Performs the conversion.

+

Performs the conversion.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

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

+

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

+

Performs the conversion.

+

Should always be Self

+

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_web_httpauth/headers/authorization/errors/enum.ParseError.html b/actix_web_httpauth/headers/authorization/errors/enum.ParseError.html index df5de1c81..2c5811dab 100644 --- a/actix_web_httpauth/headers/authorization/errors/enum.ParseError.html +++ b/actix_web_httpauth/headers/authorization/errors/enum.ParseError.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../../../actix_web_httpauth/headers/authorization/enum.ParseError.html...

diff --git a/actix_web_httpauth/headers/authorization/header/struct.Authorization.html b/actix_web_httpauth/headers/authorization/header/struct.Authorization.html index 7e2c31cdb..03c0678c5 100644 --- a/actix_web_httpauth/headers/authorization/header/struct.Authorization.html +++ b/actix_web_httpauth/headers/authorization/header/struct.Authorization.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../../../actix_web_httpauth/headers/authorization/struct.Authorization.html...

diff --git a/actix_web_httpauth/headers/authorization/index.html b/actix_web_httpauth/headers/authorization/index.html index ace8e6401..365938fd8 100644 --- a/actix_web_httpauth/headers/authorization/index.html +++ b/actix_web_httpauth/headers/authorization/index.html @@ -1,15 +1,13 @@ -actix_web_httpauth::headers::authorization - Rust - -

Module actix_web_httpauth::headers::authorization[][src]

Authorization header and various auth schemes

-

Structs

-
Authorization

Authorization header, defined in RFC 7235

-
Basic

Credentials for Basic authentication scheme, defined in RFC 7617

-
Bearer

Credentials for Bearer authentication scheme, defined in RFC6750

-

Enums

-
ParseError

Possible errors while parsing Authorization header.

-

Traits

-
Scheme

Authentication scheme for Authorization +actix_web_httpauth::headers::authorization - Rust

Module actix_web_httpauth::headers::authorization[][src]

Expand description

Authorization header and various auth schemes

+

Structs

+

Authorization header, defined in RFC 7235

+

Credentials for Basic authentication scheme, defined in RFC 7617

+

Credentials for Bearer authentication scheme, defined in RFC6750

+

Enums

+

Possible errors while parsing Authorization header.

+

Traits

+

Authentication scheme for Authorization header.

-
- \ No newline at end of file +
+ + \ No newline at end of file diff --git a/actix_web_httpauth/headers/authorization/scheme/basic/struct.Basic.html b/actix_web_httpauth/headers/authorization/scheme/basic/struct.Basic.html index 09763c9b0..e020e48f2 100644 --- a/actix_web_httpauth/headers/authorization/scheme/basic/struct.Basic.html +++ b/actix_web_httpauth/headers/authorization/scheme/basic/struct.Basic.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../../../../actix_web_httpauth/headers/authorization/struct.Basic.html...

diff --git a/actix_web_httpauth/headers/authorization/scheme/bearer/struct.Bearer.html b/actix_web_httpauth/headers/authorization/scheme/bearer/struct.Bearer.html index 2e9dead17..79f4225a7 100644 --- a/actix_web_httpauth/headers/authorization/scheme/bearer/struct.Bearer.html +++ b/actix_web_httpauth/headers/authorization/scheme/bearer/struct.Bearer.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../../../../actix_web_httpauth/headers/authorization/struct.Bearer.html...

diff --git a/actix_web_httpauth/headers/authorization/scheme/trait.Scheme.html b/actix_web_httpauth/headers/authorization/scheme/trait.Scheme.html index 11a90ef8d..cc34e2687 100644 --- a/actix_web_httpauth/headers/authorization/scheme/trait.Scheme.html +++ b/actix_web_httpauth/headers/authorization/scheme/trait.Scheme.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../../../actix_web_httpauth/headers/authorization/trait.Scheme.html...

diff --git a/actix_web_httpauth/headers/authorization/struct.Authorization.html b/actix_web_httpauth/headers/authorization/struct.Authorization.html index e719fd5d8..bd6d1a207 100644 --- a/actix_web_httpauth/headers/authorization/struct.Authorization.html +++ b/actix_web_httpauth/headers/authorization/struct.Authorization.html @@ -1,7 +1,4 @@ -actix_web_httpauth::headers::authorization::Authorization - Rust - -

Struct actix_web_httpauth::headers::authorization::Authorization[][src]

pub struct Authorization<S: Scheme>(_);

Authorization header, defined in RFC 7235

+Authorization in actix_web_httpauth::headers::authorization - Rust

Struct actix_web_httpauth::headers::authorization::Authorization[][src]

pub struct Authorization<S: Scheme>(_);
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 @@ -16,56 +13,57 @@ scheme.

Ok(format!("Hello, {}!", auth.as_ref().user_id())) }
-

Implementations

impl<S> Authorization<S> where
    S: Scheme
[src]

pub fn into_scheme(self) -> S[src]

Consumes Authorization header and returns inner Scheme +

Implementations

Consumes Authorization header and returns inner Scheme implementation.

-

Trait Implementations

impl<S> AsMut<S> for Authorization<S> where
    S: Scheme
[src]

impl<S> AsRef<S> for Authorization<S> where
    S: Scheme
[src]

impl<S: Clone + Scheme> Clone for Authorization<S>[src]

impl<S: Debug + Scheme> Debug for Authorization<S>[src]

impl<S: Default + Scheme> Default for Authorization<S>[src]

impl<S: Scheme> Display for Authorization<S>[src]

impl<S: Eq + Scheme> Eq for Authorization<S>[src]

impl<S> From<S> for Authorization<S> where
    S: Scheme
[src]

impl<S: Hash + Scheme> Hash for Authorization<S>[src]

impl<S: Scheme> Header for Authorization<S>[src]

impl<S: Scheme> IntoHeaderValue for Authorization<S>[src]

type Error = <S as IntoHeaderValue>::Error

The type returned in the event of a conversion error.

-

impl<S: Ord + Scheme> Ord for Authorization<S>[src]

impl<S: PartialEq + Scheme> PartialEq<Authorization<S>> for Authorization<S>[src]

Trait Implementations

Performs the conversion.

+

Performs the conversion.

+

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

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

+

Formats the value using the given formatter. Read more

+

Performs the conversion.

+

Feeds this value into the given Hasher. Read more

+

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

+

Returns the name of the header field

+

Parse a header

+

The type returned in the event of a conversion error.

+

Try to convert value to a HeaderValue.

+

This method returns an Ordering between self and other. Read more

+

Compares and returns the maximum of two values. Read more

+

Compares and returns the minimum of two values. Read more

+

Restrict a value to a certain interval. Read more

+

This method tests for self and other values to be equal, and is used by ==. Read more

-

impl<S: PartialOrd + Scheme> PartialOrd<Authorization<S>> for Authorization<S>[src]

This method tests for !=.

+

This method returns an ordering between self and other values if one exists. Read more

+

This method tests less than (for self and other) and is used by the < operator. Read more

+

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

-

This method tests greater than (for self and other) and is used by the > operator. Read more

+

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

-

impl<S: Scheme> StructuralEq for Authorization<S>[src]

impl<S: Scheme> StructuralPartialEq for Authorization<S>[src]

Auto Trait Implementations

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

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

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

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

impl<T> CallHasher for T where
    T: Hash + ?Sized

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

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

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

impl<T> Instrument for T[src]

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

impl<T> IntoHeaderPair for T where
    T: Header, 

type Error = <T as IntoHeaderValue>::Error

impl<T> Same<T> for T

type Output = T

Should always be Self

-

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

type Owned = T

The resulting type after obtaining ownership.

-

impl<T> ToString for T where
    T: Display + ?Sized
[src]

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

type Error = Infallible

The type returned in the event of a conversion error.

-

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

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

The type returned in the event of a conversion error.

-

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

- \ No newline at end of file +

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Compare self to key and return true if they are equal.

+

Performs the conversion.

+

Performs the conversion.

+

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

+

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

+

Performs the conversion.

+

Should always be Self

+

The resulting type after obtaining ownership.

+

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

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

+

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

+

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_web_httpauth/headers/authorization/struct.Basic.html b/actix_web_httpauth/headers/authorization/struct.Basic.html index b56853eed..762445853 100644 --- a/actix_web_httpauth/headers/authorization/struct.Basic.html +++ b/actix_web_httpauth/headers/authorization/struct.Basic.html @@ -1,54 +1,52 @@ -actix_web_httpauth::headers::authorization::Basic - Rust - -

Struct actix_web_httpauth::headers::authorization::Basic[][src]

pub struct Basic { /* fields omitted */ }

Credentials for Basic authentication scheme, defined in RFC 7617

-

Implementations

impl Basic[src]

pub fn new<U, P>(user_id: U, password: Option<P>) -> Basic where
    U: Into<Cow<'static, str>>,
    P: Into<Cow<'static, str>>, 
[src]

Creates Basic credentials with provided user_id and optional +Basic in actix_web_httpauth::headers::authorization - Rust

Struct actix_web_httpauth::headers::authorization::Basic[][src]

pub struct Basic { /* fields omitted */ }
Expand description

Credentials for Basic authentication scheme, defined in RFC 7617

+

Implementations

Creates Basic credentials with provided user_id and optional password.

Example

 let credentials = Basic::new("Alladin", Some("open sesame"));
-

pub fn user_id(&self) -> &Cow<'static, str>[src]

Returns client’s user-ID.

-

pub fn password(&self) -> Option<&Cow<'static, str>>[src]

Returns client’s password if provided.

-

Trait Implementations

impl Clone for Basic[src]

impl Debug for Basic[src]

impl Display for Basic[src]

impl Eq for Basic[src]

impl IntoHeaderValue for Basic[src]

type Error = InvalidHeaderValue

The type returned in the event of a conversion error.

-

impl Ord for Basic[src]

impl PartialEq<Basic> for Basic[src]

Returns client’s user-ID.

+

Returns client’s password if provided.

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The type returned in the event of a conversion error.

+

Try to convert value to a HeaderValue.

+

This method returns an Ordering between self and other. Read more

+

Compares and returns the maximum of two values. Read more

+

Compares and returns the minimum of two values. Read more

+

Restrict a value to a certain interval. Read more

+

This method tests for self and other values to be equal, and is used by ==. Read more

-

impl PartialOrd<Basic> for Basic[src]

This method tests for !=.

+

This method returns an ordering between self and other values if one exists. Read more

+

This method tests less than (for self and other) and is used by the < operator. Read more

+

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

-

This method tests greater than (for self and other) and is used by the > operator. Read more

+

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

-

impl Scheme for Basic[src]

impl StructuralEq for Basic[src]

impl StructuralPartialEq for Basic[src]

Auto Trait Implementations

impl RefUnwindSafe for Basic

impl Send for Basic

impl Sync for Basic

impl Unpin for Basic

impl UnwindSafe for Basic

Blanket Implementations

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

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

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

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

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

impl<T> Instrument for T[src]

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

impl<T> Same<T> for T

type Output = T

Should always be Self

-

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

type Owned = T

The resulting type after obtaining ownership.

-

impl<T> ToString for T where
    T: Display + ?Sized
[src]

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

type Error = Infallible

The type returned in the event of a conversion error.

-

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

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

The type returned in the event of a conversion error.

-

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

- \ No newline at end of file +

Try to parse the authentication scheme from the Authorization header.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Compare self to key and return true if they are equal.

+

Performs the conversion.

+

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

+

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

+

Performs the conversion.

+

Should always be Self

+

The resulting type after obtaining ownership.

+

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

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

+

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

+

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_web_httpauth/headers/authorization/struct.Bearer.html b/actix_web_httpauth/headers/authorization/struct.Bearer.html index 3e1a8b516..b8e218e75 100644 --- a/actix_web_httpauth/headers/authorization/struct.Bearer.html +++ b/actix_web_httpauth/headers/authorization/struct.Bearer.html @@ -1,54 +1,52 @@ -actix_web_httpauth::headers::authorization::Bearer - Rust - -

Struct actix_web_httpauth::headers::authorization::Bearer[][src]

pub struct Bearer { /* fields omitted */ }

Credentials for Bearer authentication scheme, defined in RFC6750

+Bearer in actix_web_httpauth::headers::authorization - Rust

Struct actix_web_httpauth::headers::authorization::Bearer[][src]

pub struct Bearer { /* fields omitted */ }
Expand description

Credentials for Bearer authentication scheme, defined in RFC6750

Should be used in combination with Authorization header.

-

Implementations

impl Bearer[src]

pub fn new<T>(token: T) -> Bearer where
    T: Into<Cow<'static, str>>, 
[src]

Creates new Bearer credentials with the token provided.

+

Implementations

Creates new Bearer credentials with the token provided.

Example

 let credentials = Bearer::new("mF_9.B5f-4.1JqM");
-

pub fn token(&self) -> &Cow<'static, str>[src]

Gets reference to the credentials token.

-

Trait Implementations

impl Clone for Bearer[src]

impl Debug for Bearer[src]

impl Display for Bearer[src]

impl Eq for Bearer[src]

impl IntoHeaderValue for Bearer[src]

type Error = InvalidHeaderValue

The type returned in the event of a conversion error.

-

impl Ord for Bearer[src]

impl PartialEq<Bearer> for Bearer[src]

Gets reference to the credentials token.

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The type returned in the event of a conversion error.

+

Try to convert value to a HeaderValue.

+

This method returns an Ordering between self and other. Read more

+

Compares and returns the maximum of two values. Read more

+

Compares and returns the minimum of two values. Read more

+

Restrict a value to a certain interval. Read more

+

This method tests for self and other values to be equal, and is used by ==. Read more

-

impl PartialOrd<Bearer> for Bearer[src]

This method tests for !=.

+

This method returns an ordering between self and other values if one exists. Read more

+

This method tests less than (for self and other) and is used by the < operator. Read more

+

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

-

This method tests greater than (for self and other) and is used by the > operator. Read more

+

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

-

impl Scheme for Bearer[src]

impl StructuralEq for Bearer[src]

impl StructuralPartialEq for Bearer[src]

Auto Trait Implementations

impl RefUnwindSafe for Bearer

impl Send for Bearer

impl Sync for Bearer

impl Unpin for Bearer

impl UnwindSafe for Bearer

Blanket Implementations

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

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

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

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

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

impl<T> Instrument for T[src]

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

impl<T> Same<T> for T

type Output = T

Should always be Self

-

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

type Owned = T

The resulting type after obtaining ownership.

-

impl<T> ToString for T where
    T: Display + ?Sized
[src]

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

type Error = Infallible

The type returned in the event of a conversion error.

-

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

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

The type returned in the event of a conversion error.

-

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

- \ No newline at end of file +

Try to parse the authentication scheme from the Authorization header.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Compare self to key and return true if they are equal.

+

Performs the conversion.

+

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

+

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

+

Performs the conversion.

+

Should always be Self

+

The resulting type after obtaining ownership.

+

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

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

+

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

+

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_web_httpauth/headers/authorization/trait.Scheme.html b/actix_web_httpauth/headers/authorization/trait.Scheme.html index da005169f..88ee698c2 100644 --- a/actix_web_httpauth/headers/authorization/trait.Scheme.html +++ b/actix_web_httpauth/headers/authorization/trait.Scheme.html @@ -1,10 +1,8 @@ -actix_web_httpauth::headers::authorization::Scheme - Rust - -

Trait actix_web_httpauth::headers::authorization::Scheme[][src]

pub trait Scheme: IntoHeaderValue + Debug + Display + Clone + Send + Sync {
-    fn parse(header: &HeaderValue) -> Result<Self, ParseError>;
-}

Authentication scheme for Authorization +Scheme in actix_web_httpauth::headers::authorization - Rust

Trait actix_web_httpauth::headers::authorization::Scheme[][src]

pub trait Scheme: IntoHeaderValue + Debug + Display + Clone + Send + Sync {
+    fn parse(header: &HeaderValue) -> Result<Self, ParseError>;
+}
Expand description

Authentication scheme for Authorization header.

-

Required methods

fn parse(header: &HeaderValue) -> Result<Self, ParseError>[src]

Try to parse the authentication scheme from the Authorization header.

-
Loading content...

Implementors

impl Scheme for Basic[src]

impl Scheme for Bearer[src]

Loading content...
- \ No newline at end of file +

Required methods

Try to parse the authentication scheme from the Authorization header.

+

Implementors

+ + \ No newline at end of file diff --git a/actix_web_httpauth/headers/index.html b/actix_web_httpauth/headers/index.html index 2a8585f37..17ff4806e 100644 --- a/actix_web_httpauth/headers/index.html +++ b/actix_web_httpauth/headers/index.html @@ -1,9 +1,7 @@ -actix_web_httpauth::headers - Rust - -

Module actix_web_httpauth::headers[][src]

Typed HTTP headers

-

Modules

-
authorization

Authorization header and various auth schemes

-
www_authenticate

WWW-Authenticate header and various auth challenges

-
- \ No newline at end of file +actix_web_httpauth::headers - Rust

Module actix_web_httpauth::headers[][src]

Expand description

Typed HTTP headers

+

Modules

+

Authorization header and various auth schemes

+

WWW-Authenticate header and various auth challenges

+
+ + \ 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 55937d21a..e9958b08e 100644 --- a/actix_web_httpauth/headers/www_authenticate/basic/index.html +++ b/actix_web_httpauth/headers/www_authenticate/basic/index.html @@ -1,9 +1,7 @@ -actix_web_httpauth::headers::www_authenticate::basic - Rust - -

Module actix_web_httpauth::headers::www_authenticate::basic[][src]

Challenge for the “Basic” HTTP Authentication Scheme

-

Structs

-
Basic

Challenge for WWW-Authenticate header with HTTP Basic auth scheme, +actix_web_httpauth::headers::www_authenticate::basic - Rust

Module actix_web_httpauth::headers::www_authenticate::basic[][src]

Expand description

Challenge for the “Basic” HTTP Authentication Scheme

+

Structs

+

Challenge for WWW-Authenticate header with HTTP Basic auth scheme, described in RFC 7617

-
- \ No newline at end of file +
+ + \ 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 32539c4b3..779896008 100644 --- a/actix_web_httpauth/headers/www_authenticate/basic/struct.Basic.html +++ b/actix_web_httpauth/headers/www_authenticate/basic/struct.Basic.html @@ -1,7 +1,4 @@ -actix_web_httpauth::headers::www_authenticate::basic::Basic - Rust - -

Struct actix_web_httpauth::headers::www_authenticate::basic::Basic[][src]

pub struct Basic { /* fields omitted */ }

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[][src]

pub struct Basic { /* fields omitted */ }
Expand description

Challenge for WWW-Authenticate header with HTTP Basic auth scheme, described in RFC 7617

Example

@@ -15,11 +12,11 @@ described in RFC 7617

.insert_header(WwwAuthenticate(challenge)) .finish() }
-

Implementations

impl Basic[src]

pub fn new() -> Basic[src]

Creates new Basic challenge with an empty realm field.

+

Implementations

Creates new Basic challenge with an empty realm field.

Example

 let challenge = Basic::new();
-

pub fn with_realm<T>(value: T) -> Basic where
    T: Into<Cow<'static, str>>, 
[src]

Creates new Basic challenge from the provided realm field value.

+

Creates new Basic challenge from the provided realm field value.

Examples

 let challenge = Basic::with_realm("Restricted area");
@@ -27,49 +24,50 @@ described in RFC 7617

 let my_realm = "Earth realm".to_string();
 let challenge = Basic::with_realm(my_realm);
-

Trait Implementations

impl AsRef<Basic> for Config[src]

impl Clone for Basic[src]

impl Debug for Basic[src]

impl Default for Basic[src]

impl Display for Basic[src]

impl Eq for Basic[src]

impl Hash for Basic[src]

impl IntoHeaderValue for Basic[src]

type Error = InvalidHeaderValue

The type returned in the event of a conversion error.

-

impl Ord for Basic[src]

impl PartialEq<Basic> for Basic[src]

Trait Implementations

Performs the conversion.

+

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

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

+

Formats the value using the given formatter. Read more

+

Feeds this value into the given Hasher. Read more

+

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

+

The type returned in the event of a conversion error.

+

Try to convert value to a HeaderValue.

+

This method returns an Ordering between self and other. Read more

+

Compares and returns the maximum of two values. Read more

+

Compares and returns the minimum of two values. Read more

+

Restrict a value to a certain interval. Read more

+

This method tests for self and other values to be equal, and is used by ==. Read more

-

impl PartialOrd<Basic> for Basic[src]

This method tests for !=.

+

This method returns an ordering between self and other values if one exists. Read more

+

This method tests less than (for self and other) and is used by the < operator. Read more

+

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

-

This method tests greater than (for self and other) and is used by the > operator. Read more

+

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

-

impl StructuralEq for Basic[src]

impl StructuralPartialEq for Basic[src]

Auto Trait Implementations

impl RefUnwindSafe for Basic

impl Send for Basic

impl Sync for Basic

impl Unpin for Basic

impl UnwindSafe for Basic

Blanket Implementations

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

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

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

impl<T> CallHasher for T where
    T: Hash + ?Sized

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

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

impl<T> Instrument for T[src]

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

impl<T> Same<T> for T

type Output = T

Should always be Self

-

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

type Owned = T

The resulting type after obtaining ownership.

-

impl<T> ToString for T where
    T: Display + ?Sized
[src]

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

type Error = Infallible

The type returned in the event of a conversion error.

-

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

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

The type returned in the event of a conversion error.

-

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

- \ No newline at end of file +

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Compare self to key and return true if they are equal.

+

Performs the conversion.

+

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

+

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

+

Performs the conversion.

+

Should always be Self

+

The resulting type after obtaining ownership.

+

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

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

+

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

+

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file 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 28482e0ce..b0d97f554 100644 --- a/actix_web_httpauth/headers/www_authenticate/bearer/enum.Error.html +++ b/actix_web_httpauth/headers/www_authenticate/bearer/enum.Error.html @@ -1,14 +1,9 @@ -actix_web_httpauth::headers::www_authenticate::bearer::Error - Rust - -

Enum actix_web_httpauth::headers::www_authenticate::bearer::Error[][src]

pub enum Error {
+Error in actix_web_httpauth::headers::www_authenticate::bearer - Rust

Enum actix_web_httpauth::headers::www_authenticate::bearer::Error[][src]

pub enum Error {
     InvalidRequest,
     InvalidToken,
     InsufficientScope,
-}

Bearer authorization error types, described in RFC 6750

-

- Variants

-
InvalidRequest

The request is missing a required parameter, includes an unsupported +}

Expand description

Bearer authorization error types, described in RFC 6750

+

Variants

InvalidRequest

The request is missing a required parameter, includes an unsupported parameter or parameter value, repeats the same parameter, uses more than one method for including an access token, or is otherwise malformed.

@@ -16,46 +11,47 @@ malformed.

for other reasons.

InsufficientScope

The request requires higher privileges than provided by the access token.

-

Implementations

impl Error[src]

pub fn status_code(&self) -> StatusCode[src]

Returns HTTP status code suitable for current error type.

-

Trait Implementations

impl Clone for Error[src]

impl Copy for Error[src]

impl Debug for Error[src]

impl Display for Error[src]

impl Eq for Error[src]

impl Hash for Error[src]

impl Ord for Error[src]

impl PartialEq<Error> for Error[src]

Implementations

Returns HTTP status code suitable for current error type.

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

Feeds this value into the given Hasher. Read more

+

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

+

This method returns an Ordering between self and other. Read more

+

Compares and returns the maximum of two values. Read more

+

Compares and returns the minimum of two values. Read more

+

Restrict a value to a certain interval. Read more

+

This method tests for self and other values to be equal, and is used by ==. Read more

-

impl PartialOrd<Error> for Error[src]

This method tests for !=.

+

This method returns an ordering between self and other values if one exists. Read more

+

This method tests less than (for self and other) and is used by the < operator. Read more

+

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

-

This method tests greater than (for self and other) and is used by the > operator. Read more

+

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

-

impl StructuralEq for Error[src]

impl StructuralPartialEq for Error[src]

Auto Trait Implementations

impl RefUnwindSafe for Error

impl Send for Error

impl Sync for Error

impl Unpin for Error

impl UnwindSafe for Error

Blanket Implementations

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

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

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

impl<T> CallHasher for T where
    T: Hash + ?Sized

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

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

impl<T> Instrument for T[src]

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

impl<T> Same<T> for T

type Output = T

Should always be Self

-

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

type Owned = T

The resulting type after obtaining ownership.

-

impl<T> ToString for T where
    T: Display + ?Sized
[src]

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

type Error = Infallible

The type returned in the event of a conversion error.

-

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

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

The type returned in the event of a conversion error.

-

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

- \ No newline at end of file +

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Compare self to key and return true if they are equal.

+

Performs the conversion.

+

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

+

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

+

Performs the conversion.

+

Should always be Self

+

The resulting type after obtaining ownership.

+

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

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

+

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

+

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_web_httpauth/headers/www_authenticate/bearer/index.html b/actix_web_httpauth/headers/www_authenticate/bearer/index.html index b9af6a1ff..ef883915c 100644 --- a/actix_web_httpauth/headers/www_authenticate/bearer/index.html +++ b/actix_web_httpauth/headers/www_authenticate/bearer/index.html @@ -1,12 +1,10 @@ -actix_web_httpauth::headers::www_authenticate::bearer - Rust - -

Module actix_web_httpauth::headers::www_authenticate::bearer[][src]

Challenge for the “Bearer” HTTP Authentication Scheme

-

Structs

-
Bearer

Challenge for WWW-Authenticate header with HTTP Bearer auth scheme, +actix_web_httpauth::headers::www_authenticate::bearer - Rust

Module actix_web_httpauth::headers::www_authenticate::bearer[][src]

Expand description

Challenge for the “Bearer” HTTP Authentication Scheme

+

Structs

+

Challenge for WWW-Authenticate header with HTTP Bearer auth scheme, described in RFC 6750

-
BearerBuilder

Builder for the Bearer challenge.

-

Enums

-
Error

Bearer authorization error types, described in RFC 6750

-
- \ No newline at end of file +
BearerBuilder

Builder for the Bearer challenge.

+

Enums

+

Bearer authorization error types, described in RFC 6750

+
+ + \ 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 6b0f5aded..704d66f13 100644 --- a/actix_web_httpauth/headers/www_authenticate/bearer/struct.Bearer.html +++ b/actix_web_httpauth/headers/www_authenticate/bearer/struct.Bearer.html @@ -1,7 +1,4 @@ -actix_web_httpauth::headers::www_authenticate::bearer::Bearer - Rust - -

Struct actix_web_httpauth::headers::www_authenticate::bearer::Bearer[][src]

pub struct Bearer { /* fields omitted */ }

Challenge for WWW-Authenticate header with HTTP Bearer auth scheme, +Bearer in actix_web_httpauth::headers::www_authenticate::bearer - Rust

Struct actix_web_httpauth::headers::www_authenticate::bearer::Bearer[][src]

pub struct Bearer { /* fields omitted */ }
Expand description

Challenge for WWW-Authenticate header with HTTP Bearer auth scheme, described in RFC 6750

Example

@@ -23,56 +20,57 @@ described in RFC 6750insert_header(WwwAuthenticate(challenge))
         .finish()
 }
-

Implementations

impl Bearer[src]

pub fn build() -> BearerBuilder[src]

Creates the builder for Bearer challenge.

+

Implementations

Creates the builder for Bearer challenge.

Example

 let challenge = Bearer::build()
     .realm("Restricted area")
     .scope("openid profile email")
     .finish();
-

Trait Implementations

impl AsRef<Bearer> for Config[src]

impl Clone for Bearer[src]

impl Debug for Bearer[src]

impl Default for Bearer[src]

impl Display for Bearer[src]

impl Eq for Bearer[src]

impl Hash for Bearer[src]

impl IntoHeaderValue for Bearer[src]

type Error = InvalidHeaderValue

The type returned in the event of a conversion error.

-

impl Ord for Bearer[src]

impl PartialEq<Bearer> for Bearer[src]

Trait Implementations

Performs the conversion.

+

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

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

+

Formats the value using the given formatter. Read more

+

Feeds this value into the given Hasher. Read more

+

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

+

The type returned in the event of a conversion error.

+

Try to convert value to a HeaderValue.

+

This method returns an Ordering between self and other. Read more

+

Compares and returns the maximum of two values. Read more

+

Compares and returns the minimum of two values. Read more

+

Restrict a value to a certain interval. Read more

+

This method tests for self and other values to be equal, and is used by ==. Read more

-

impl PartialOrd<Bearer> for Bearer[src]

This method tests for !=.

+

This method returns an ordering between self and other values if one exists. Read more

+

This method tests less than (for self and other) and is used by the < operator. Read more

+

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

-

This method tests greater than (for self and other) and is used by the > operator. Read more

+

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

-

impl StructuralEq for Bearer[src]

impl StructuralPartialEq for Bearer[src]

Auto Trait Implementations

impl RefUnwindSafe for Bearer

impl Send for Bearer

impl Sync for Bearer

impl Unpin for Bearer

impl UnwindSafe for Bearer

Blanket Implementations

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

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

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

impl<T> CallHasher for T where
    T: Hash + ?Sized

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

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

impl<T> Instrument for T[src]

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

impl<T> Same<T> for T

type Output = T

Should always be Self

-

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

type Owned = T

The resulting type after obtaining ownership.

-

impl<T> ToString for T where
    T: Display + ?Sized
[src]

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

type Error = Infallible

The type returned in the event of a conversion error.

-

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

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

The type returned in the event of a conversion error.

-

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

- \ No newline at end of file +

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Compare self to key and return true if they are equal.

+

Performs the conversion.

+

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

+

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

+

Performs the conversion.

+

Should always be Self

+

The resulting type after obtaining ownership.

+

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

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

+

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

+

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file 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 4048c6c87..a724dc754 100644 --- a/actix_web_httpauth/headers/www_authenticate/bearer/struct.BearerBuilder.html +++ b/actix_web_httpauth/headers/www_authenticate/bearer/struct.BearerBuilder.html @@ -1,31 +1,29 @@ -actix_web_httpauth::headers::www_authenticate::bearer::BearerBuilder - Rust - -

Struct actix_web_httpauth::headers::www_authenticate::bearer::BearerBuilder[][src]

pub struct BearerBuilder(_);

Builder for the Bearer challenge.

+BearerBuilder in actix_web_httpauth::headers::www_authenticate::bearer - Rust

Struct actix_web_httpauth::headers::www_authenticate::bearer::BearerBuilder[][src]

pub struct BearerBuilder(_);
Expand description

Builder for the Bearer challenge.

It is up to implementor to fill all required fields, neither this Builder or Bearer does not provide any validation.

-

Implementations

impl BearerBuilder[src]

pub fn scope<T>(self, value: T) -> Self where
    T: Into<Cow<'static, str>>, 
[src]

Provides the scope attribute, as defined in RFC6749, Section 3.3

-

pub fn realm<T>(self, value: T) -> Self where
    T: Into<Cow<'static, str>>, 
[src]

Provides the realm attribute, as defined in RFC2617

-

pub fn error(self, value: Error) -> Self[src]

Provides the error attribute, as defined in RFC6750, Section 3.1

-

pub fn error_description<T>(self, value: T) -> Self where
    T: Into<Cow<'static, str>>, 
[src]

Provides the error_description attribute, as defined in RFC6750, Section 3

-

pub fn error_uri<T>(self, value: T) -> Self where
    T: Into<Cow<'static, str>>, 
[src]

Provides the error_uri attribute, as defined in RFC6750, Section 3

+

Implementations

Provides the scope attribute, as defined in RFC6749, Section 3.3

+

Provides the realm attribute, as defined in RFC2617

+

Provides the error attribute, as defined in RFC6750, Section 3.1

+

Provides the error_description attribute, as defined in RFC6750, Section 3

+

Provides the error_uri attribute, as defined in RFC6750, Section 3

It is up to implementor to provide properly-formed absolute URI.

-

pub fn finish(self) -> Bearer[src]

Consumes the builder and returns built Bearer instance.

-

Trait Implementations

impl Debug for BearerBuilder[src]

impl Default for BearerBuilder[src]

Auto Trait Implementations

Blanket Implementations

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

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

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

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

impl<T> Instrument for T[src]

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

impl<T> Same<T> for T

type Output = T

Should always be Self

-

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

type Error = Infallible

The type returned in the event of a conversion error.

-

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

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

The type returned in the event of a conversion error.

-

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

- \ No newline at end of file +

Consumes the builder and returns built Bearer instance.

+

Trait Implementations

Formats the value using the given formatter. Read more

+

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

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Performs the conversion.

+

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

+

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

+

Performs the conversion.

+

Should always be Self

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_web_httpauth/headers/www_authenticate/challenge/basic/index.html b/actix_web_httpauth/headers/www_authenticate/challenge/basic/index.html index 038227eef..b9334245a 100644 --- a/actix_web_httpauth/headers/www_authenticate/challenge/basic/index.html +++ b/actix_web_httpauth/headers/www_authenticate/challenge/basic/index.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../../../../actix_web_httpauth/headers/www_authenticate/basic/index.html...

diff --git a/actix_web_httpauth/headers/www_authenticate/challenge/basic/struct.Basic.html b/actix_web_httpauth/headers/www_authenticate/challenge/basic/struct.Basic.html index 62cd49f03..f1fbe4e42 100644 --- a/actix_web_httpauth/headers/www_authenticate/challenge/basic/struct.Basic.html +++ b/actix_web_httpauth/headers/www_authenticate/challenge/basic/struct.Basic.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../../../../actix_web_httpauth/headers/www_authenticate/basic/struct.Basic.html...

diff --git a/actix_web_httpauth/headers/www_authenticate/challenge/bearer/builder/struct.BearerBuilder.html b/actix_web_httpauth/headers/www_authenticate/challenge/bearer/builder/struct.BearerBuilder.html index ad16ff0df..009788846 100644 --- a/actix_web_httpauth/headers/www_authenticate/challenge/bearer/builder/struct.BearerBuilder.html +++ b/actix_web_httpauth/headers/www_authenticate/challenge/bearer/builder/struct.BearerBuilder.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../../../../../actix_web_httpauth/headers/www_authenticate/bearer/struct.BearerBuilder.html...

diff --git a/actix_web_httpauth/headers/www_authenticate/challenge/bearer/challenge/struct.Bearer.html b/actix_web_httpauth/headers/www_authenticate/challenge/bearer/challenge/struct.Bearer.html index 29f95b245..f5e642e72 100644 --- a/actix_web_httpauth/headers/www_authenticate/challenge/bearer/challenge/struct.Bearer.html +++ b/actix_web_httpauth/headers/www_authenticate/challenge/bearer/challenge/struct.Bearer.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../../../../../actix_web_httpauth/headers/www_authenticate/bearer/struct.Bearer.html...

diff --git a/actix_web_httpauth/headers/www_authenticate/challenge/bearer/errors/enum.Error.html b/actix_web_httpauth/headers/www_authenticate/challenge/bearer/errors/enum.Error.html index a4c048dfc..de4e73f59 100644 --- a/actix_web_httpauth/headers/www_authenticate/challenge/bearer/errors/enum.Error.html +++ b/actix_web_httpauth/headers/www_authenticate/challenge/bearer/errors/enum.Error.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../../../../../actix_web_httpauth/extractors/bearer/enum.Error.html...

diff --git a/actix_web_httpauth/headers/www_authenticate/challenge/bearer/index.html b/actix_web_httpauth/headers/www_authenticate/challenge/bearer/index.html index 5570fdcda..518feee9a 100644 --- a/actix_web_httpauth/headers/www_authenticate/challenge/bearer/index.html +++ b/actix_web_httpauth/headers/www_authenticate/challenge/bearer/index.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../../../../actix_web_httpauth/headers/www_authenticate/bearer/index.html...

diff --git a/actix_web_httpauth/headers/www_authenticate/challenge/trait.Challenge.html b/actix_web_httpauth/headers/www_authenticate/challenge/trait.Challenge.html index 24e29a275..036b7c096 100644 --- a/actix_web_httpauth/headers/www_authenticate/challenge/trait.Challenge.html +++ b/actix_web_httpauth/headers/www_authenticate/challenge/trait.Challenge.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../../../actix_web_httpauth/headers/www_authenticate/trait.Challenge.html...

diff --git a/actix_web_httpauth/headers/www_authenticate/header/struct.WwwAuthenticate.html b/actix_web_httpauth/headers/www_authenticate/header/struct.WwwAuthenticate.html index a9fe30952..e7f185c85 100644 --- a/actix_web_httpauth/headers/www_authenticate/header/struct.WwwAuthenticate.html +++ b/actix_web_httpauth/headers/www_authenticate/header/struct.WwwAuthenticate.html @@ -2,6 +2,7 @@ + Redirection

Redirecting to ../../../../actix_web_httpauth/headers/www_authenticate/struct.WwwAuthenticate.html...

diff --git a/actix_web_httpauth/headers/www_authenticate/index.html b/actix_web_httpauth/headers/www_authenticate/index.html index 4e5eb249a..749fa61b7 100644 --- a/actix_web_httpauth/headers/www_authenticate/index.html +++ b/actix_web_httpauth/headers/www_authenticate/index.html @@ -1,13 +1,11 @@ -actix_web_httpauth::headers::www_authenticate - Rust - -

Module actix_web_httpauth::headers::www_authenticate[][src]

WWW-Authenticate header and various auth challenges

-

Modules

-
basic

Challenge for the “Basic” HTTP Authentication Scheme

-
bearer

Challenge for the “Bearer” HTTP Authentication Scheme

-

Structs

-
WwwAuthenticate

WWW-Authenticate header, described in RFC 7235

-

Traits

-
Challenge

Authentication challenge for WWW-Authenticate header.

-
- \ No newline at end of file +actix_web_httpauth::headers::www_authenticate - Rust

Module actix_web_httpauth::headers::www_authenticate[][src]

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

+

WWW-Authenticate header, described in RFC 7235

+

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 4a1435d3f..f807f8165 100644 --- a/actix_web_httpauth/headers/www_authenticate/struct.WwwAuthenticate.html +++ b/actix_web_httpauth/headers/www_authenticate/struct.WwwAuthenticate.html @@ -1,52 +1,50 @@ -actix_web_httpauth::headers::www_authenticate::WwwAuthenticate - Rust - -

Struct actix_web_httpauth::headers::www_authenticate::WwwAuthenticate[][src]

pub struct WwwAuthenticate<C: Challenge>(pub C);

WWW-Authenticate header, described in RFC 7235

+WwwAuthenticate in actix_web_httpauth::headers::www_authenticate - Rust

Struct actix_web_httpauth::headers::www_authenticate::WwwAuthenticate[][src]

pub struct WwwAuthenticate<C: Challenge>(pub C);
Expand description

WWW-Authenticate header, described in RFC 7235

This header is generic over Challenge trait, see Basic and Bearer challenges for details.

-

Trait Implementations

impl<C: Clone + Challenge> Clone for WwwAuthenticate<C>[src]

impl<C: Debug + Challenge> Debug for WwwAuthenticate<C>[src]

impl<C: Default + Challenge> Default for WwwAuthenticate<C>[src]

impl<C: Eq + Challenge> Eq for WwwAuthenticate<C>[src]

impl<C: Hash + Challenge> Hash for WwwAuthenticate<C>[src]

impl<C: Challenge> Header for WwwAuthenticate<C>[src]

impl<C: Challenge> IntoHeaderValue for WwwAuthenticate<C>[src]

type Error = <C as IntoHeaderValue>::Error

The type returned in the event of a conversion error.

-

impl<C: Ord + Challenge> Ord for WwwAuthenticate<C>[src]

impl<C: PartialEq + Challenge> PartialEq<WwwAuthenticate<C>> for WwwAuthenticate<C>[src]

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

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

+

Feeds this value into the given Hasher. Read more

+

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

+

Returns the name of the header field

+

Parse a header

+

The type returned in the event of a conversion error.

+

Try to convert value to a HeaderValue.

+

This method returns an Ordering between self and other. Read more

+

Compares and returns the maximum of two values. Read more

+

Compares and returns the minimum of two values. Read more

+

Restrict a value to a certain interval. Read more

+

This method tests for self and other values to be equal, and is used by ==. Read more

-

impl<C: PartialOrd + Challenge> PartialOrd<WwwAuthenticate<C>> for WwwAuthenticate<C>[src]

This method tests for !=.

+

This method returns an ordering between self and other values if one exists. Read more

+

This method tests less than (for self and other) and is used by the < operator. Read more

+

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

-

This method tests greater than (for self and other) and is used by the > operator. Read more

+

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

-

impl<C: Challenge> StructuralEq for WwwAuthenticate<C>[src]

impl<C: Challenge> StructuralPartialEq for WwwAuthenticate<C>[src]

Auto Trait Implementations

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

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

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

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

impl<T> CallHasher for T where
    T: Hash + ?Sized

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

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

impl<T> Instrument for T[src]

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

impl<T> IntoHeaderPair for T where
    T: Header, 

type Error = <T as IntoHeaderValue>::Error

impl<T> Same<T> for T

type Output = T

Should always be Self

-

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

type Owned = T

The resulting type after obtaining ownership.

-

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

type Error = Infallible

The type returned in the event of a conversion error.

-

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

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

The type returned in the event of a conversion error.

-

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

- \ No newline at end of file +

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Compare self to key and return true if they are equal.

+

Performs the conversion.

+

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

+

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

+

Performs the conversion.

+

Should always be Self

+

The resulting type after obtaining ownership.

+

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

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

+

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

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/actix_web_httpauth/headers/www_authenticate/trait.Challenge.html b/actix_web_httpauth/headers/www_authenticate/trait.Challenge.html index b528eef70..1b8c97b9a 100644 --- a/actix_web_httpauth/headers/www_authenticate/trait.Challenge.html +++ b/actix_web_httpauth/headers/www_authenticate/trait.Challenge.html @@ -1,9 +1,7 @@ -actix_web_httpauth::headers::www_authenticate::Challenge - Rust - -

Trait actix_web_httpauth::headers::www_authenticate::Challenge[][src]

pub trait Challenge: IntoHeaderValue + Debug + Display + Clone + Send + Sync {
+Challenge in actix_web_httpauth::headers::www_authenticate - Rust

Trait actix_web_httpauth::headers::www_authenticate::Challenge[][src]

pub trait Challenge: IntoHeaderValue + Debug + Display + Clone + Send + Sync {
     fn to_bytes(&self) -> Bytes;
-}

Authentication challenge for WWW-Authenticate header.

-

Required methods

fn to_bytes(&self) -> Bytes[src]

Converts the challenge into a bytes suitable for HTTP transmission.

-
Loading content...

Implementors

Loading content...
- \ No newline at end of file +}
Expand description

Authentication challenge for WWW-Authenticate header.

+

Required methods

Converts the challenge into a bytes suitable for HTTP transmission.

+

Implementors

+ + \ No newline at end of file diff --git a/actix_web_httpauth/index.html b/actix_web_httpauth/index.html index f809f09f4..c9133450d 100644 --- a/actix_web_httpauth/index.html +++ b/actix_web_httpauth/index.html @@ -1,11 +1,8 @@ -actix_web_httpauth - Rust - -

Crate actix_web_httpauth[][src]

HTTP authentication schemes for actix-web.

+actix_web_httpauth - Rust

Crate actix_web_httpauth[][src]

Expand description

HTTP authentication schemes for actix-web.

Provides:

Supported schemes

@@ -13,9 +10,10 @@
  • Basic, as defined in RFC7617
  • Bearer, as defined in RFC6750
  • -

    Modules

    -
    extractors

    Type-safe authentication information extractors

    -
    headers

    Typed HTTP headers

    -
    middleware

    HTTP Authentication middleware.

    -
    - \ No newline at end of file +

    Modules

    +

    Type-safe authentication information extractors

    +

    Typed HTTP headers

    +

    HTTP Authentication middleware.

    +
    + + \ No newline at end of file diff --git a/actix_web_httpauth/middleware/index.html b/actix_web_httpauth/middleware/index.html index 3581885a1..add78f560 100644 --- a/actix_web_httpauth/middleware/index.html +++ b/actix_web_httpauth/middleware/index.html @@ -1,8 +1,6 @@ -actix_web_httpauth::middleware - Rust - -

    Module actix_web_httpauth::middleware[][src]

    HTTP Authentication middleware.

    -

    Structs

    -
    HttpAuthentication

    Middleware for checking HTTP authentication.

    -
    - \ No newline at end of file +actix_web_httpauth::middleware - Rust

    Module actix_web_httpauth::middleware[][src]

    Expand description

    HTTP Authentication middleware.

    +

    Structs

    +

    Middleware for checking HTTP authentication.

    +
    + + \ No newline at end of file diff --git a/actix_web_httpauth/middleware/struct.HttpAuthentication.html b/actix_web_httpauth/middleware/struct.HttpAuthentication.html index 0fe2e3d7a..b9cd7ddc1 100644 --- a/actix_web_httpauth/middleware/struct.HttpAuthentication.html +++ b/actix_web_httpauth/middleware/struct.HttpAuthentication.html @@ -1,14 +1,11 @@ -actix_web_httpauth::middleware::HttpAuthentication - Rust - -

    Struct actix_web_httpauth::middleware::HttpAuthentication[][src]

    pub struct HttpAuthentication<T, F> where
        T: AuthExtractor
    { /* fields omitted */ }

    Middleware for checking HTTP authentication.

    +HttpAuthentication in actix_web_httpauth::middleware - Rust

    Struct actix_web_httpauth::middleware::HttpAuthentication[][src]

    pub struct HttpAuthentication<T, F> where
        T: AuthExtractor
    { /* fields omitted */ }
    Expand description

    Middleware for checking HTTP authentication.

    If there is no Authorization header in the request, this middleware returns an error immediately, without calling the F callback.

    Otherwise, it will pass both the request and the parsed credentials into it. In case of successful validation F callback is required to return the ServiceRequest back.

    -

    Implementations

    impl<T, F, O> HttpAuthentication<T, F> where
        T: AuthExtractor,
        F: Fn(ServiceRequest, T) -> O,
        O: Future<Output = Result<ServiceRequest, Error>>, 
    [src]

    pub fn with_fn(process_fn: F) -> HttpAuthentication<T, F>[src]

    Construct HttpAuthentication middleware with the provided auth extractor T and +

    Implementations

    Construct HttpAuthentication middleware with the provided auth extractor T and validation callback F.

    -

    impl<F, O> HttpAuthentication<BasicAuth, F> where
        F: Fn(ServiceRequest, BasicAuth) -> O,
        O: Future<Output = Result<ServiceRequest, Error>>, 
    [src]

    pub fn basic(process_fn: F) -> Self[src]

    Construct HttpAuthentication middleware for the HTTP “Basic” authentication scheme.

    +

    Construct HttpAuthentication middleware for the HTTP “Basic” authentication scheme.

    Example

     // In this example validator returns immediately, but since it is required to return
    @@ -23,7 +20,7 @@ validation callback F.

    } let middleware = HttpAuthentication::basic(validator);
    -

    impl<F, O> HttpAuthentication<BearerAuth, F> where
        F: Fn(ServiceRequest, BearerAuth) -> O,
        O: Future<Output = Result<ServiceRequest, Error>>, 
    [src]

    pub fn bearer(process_fn: F) -> Self[src]

    Construct HttpAuthentication middleware for the HTTP “Bearer” authentication scheme.

    +

    Construct HttpAuthentication middleware for the HTTP “Bearer” authentication scheme.

    Example

     async fn validator(req: ServiceRequest, credentials: BearerAuth) -> Result<ServiceRequest, Error> {
    @@ -40,32 +37,33 @@ validation callback F.

    } let middleware = HttpAuthentication::bearer(validator);
    -

    Trait Implementations

    impl<T: Clone, F: Clone> Clone for HttpAuthentication<T, F> where
        T: AuthExtractor
    [src]

    impl<T: Debug, F: Debug> Debug for HttpAuthentication<T, F> where
        T: AuthExtractor
    [src]

    impl<S, B, T, F, O> Transform<S, ServiceRequest> for HttpAuthentication<T, F> where
        S: Service<ServiceRequest, Response = ServiceResponse<B>, Error = Error> + 'static,
        S::Future: 'static,
        F: Fn(ServiceRequest, T) -> O + 'static,
        O: Future<Output = Result<ServiceRequest, Error>> + 'static,
        T: AuthExtractor + 'static, 
    [src]

    type Response = ServiceResponse<B>

    Responses produced by the service.

    -

    type Error = Error

    Errors produced by the service.

    -

    type Transform = AuthenticationMiddleware<S, F, T>

    The TransformService value created by this factory

    -

    type InitError = ()

    Errors produced while building a transform service.

    -

    type Future = Ready<Result<Self::Transform, Self::InitError>>

    The future response value.

    -

    Auto Trait Implementations

    impl<T, F> RefUnwindSafe for HttpAuthentication<T, F> where
        F: RefUnwindSafe,
        T: RefUnwindSafe

    impl<T, F> Send for HttpAuthentication<T, F> where
        F: Send + Sync,
        T: Send

    impl<T, F> Sync for HttpAuthentication<T, F> where
        F: Send + Sync,
        T: Sync

    impl<T, F> Unpin for HttpAuthentication<T, F> where
        T: Unpin

    impl<T, F> UnwindSafe for HttpAuthentication<T, F> where
        F: RefUnwindSafe,
        T: UnwindSafe

    Blanket Implementations

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

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

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

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

    impl<T> Instrument for T[src]

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

    impl<T> Same<T> for T

    type Output = T

    Should always be Self

    -

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

    type Owned = T

    The resulting type after obtaining ownership.

    -

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

    type Error = Infallible

    The type returned in the event of a conversion error.

    -

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

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

    The type returned in the event of a conversion error.

    -

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

    - \ No newline at end of file +

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    +

    Formats the value using the given formatter. Read more

    +

    Responses produced by the service.

    +

    Errors produced by the service.

    +

    The TransformService value created by this factory

    +

    Errors produced while building a transform service.

    +

    The future response value.

    +

    Creates and returns a new Transform component, asynchronously

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Performs the conversion.

    +

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

    +

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

    +

    Performs the conversion.

    +

    Should always be Self

    +

    The resulting type after obtaining ownership.

    +

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

    +
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    recently added

    +

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

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +
    + + \ No newline at end of file diff --git a/ayu.css b/ayu.css index 52f5651ee..25ae95254 100644 --- a/ayu.css +++ b/ayu.css @@ -1 +1 @@ - body{background-color:#0f1419;color:#c5c5c5;}h1,h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){color:white;}h1.fqn{border-bottom-color:#5c6773;}h1.fqn a{color:#fff;}h2,h3:not(.impl):not(.method):not(.type):not(.tymethod){border-bottom-color:#5c6773;}h4:not(.method):not(.type):not(.tymethod):not(.associatedconstant){border:none;}.in-band{background-color:#0f1419;}.invisible{background:rgba(0,0,0,0);}code{color:#ffb454;}h3>code,h4>code,h5>code{color:#e6e1cf;}pre>code{color:#e6e1cf;}span code{color:#e6e1cf;}.docblock a>code{color:#39AFD7 !important;}.docblock code,.docblock-short code{background-color:#191f26;}pre{color:#e6e1cf;background-color:#191f26;}.sidebar{background-color:#14191f;}.logo-container.rust-logo>img{filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);}*{scrollbar-color:#5c6773 transparent;}.sidebar{scrollbar-color:#5c6773 transparent;}::-webkit-scrollbar-track{background-color:transparent;}::-webkit-scrollbar-thumb{background-color:#5c6773;}.sidebar::-webkit-scrollbar-track{background-color:transparent;}.sidebar::-webkit-scrollbar-thumb{background-color:#5c6773;}.sidebar .current{background-color:transparent;color:#ffb44c;}.source .sidebar{background-color:#0f1419;}.sidebar .location{border-color:#000;background-color:#0f1419;color:#fff;}.sidebar-elems .location{color:#ff7733;}.sidebar-elems .location a{color:#fff;}.sidebar .version{border-bottom-color:#424c57;}.sidebar-title{border-top-color:#5c6773;border-bottom-color:#5c6773;}.block a:hover{background:transparent;color:#ffb44c;}.line-numbers span{color:#5c6773;}.line-numbers .line-highlighted{color:#708090;background-color:rgba(255,236,164,0.06);padding-right:4px;border-right:1px solid #ffb44c;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5{border-bottom-color:#5c6773;}.docblock table,.docblock table td,.docblock table th{border-color:#5c6773;}.content .method .where,.content .fn .where,.content .where.fmt-newline{color:#c5c5c5;}.content .highlighted{color:#000 !important;background-color:#c6afb3;}.content .highlighted a,.content .highlighted span{color:#000 !important;}.content .highlighted{background-color:#c6afb3;}.search-results a{color:#0096cf;}.search-results a span.desc{color:#c5c5c5;}.content .item-info::before{color:#ccc;}.content span.foreigntype,.content a.foreigntype{color:#ef57ff;}.content span.union,.content a.union{color:#98a01c;}.content span.constant,.content a.constant,.content span.static,.content a.static{color:#6380a0;}.content span.primitive,.content a.primitive{color:#32889b;}.content span.traitalias,.content a.traitalias{color:#57d399;}.content span.keyword,.content a.keyword{color:#de5249;}.content span.externcrate,.content span.mod,.content a.mod{color:#acccf9;}.content span.struct,.content a.struct{color:#ffa0a5;}.content span.enum,.content a.enum{color:#99e0c9;}.content span.trait,.content a.trait{color:#39AFD7;}.content span.type,.content a.type{color:#cfbcf5;}.content span.fn,.content a.fn,.content span.method,.content a.method,.content span.tymethod,.content a.tymethod,.content .fnname{color:#fdd687;}.content span.attr,.content a.attr,.content span.derive,.content a.derive,.content span.macro,.content a.macro{color:#a37acc;}pre.rust .comment{color:#788797;}pre.rust .doccomment{color:#a1ac88;}nav:not(.sidebar){border-bottom-color:#424c57;}nav.main .current{border-top-color:#5c6773;border-bottom-color:#5c6773;}nav.main .separator{border:1px solid #5c6773;}a{color:#c5c5c5;}.docblock:not(.type-decl) a:not(.srclink):not(.test-arrow),.docblock-short a:not(.srclink):not(.test-arrow),.item-info a,#help a{color:#39AFD7;}.collapse-toggle{color:#999;}#crate-search{color:#c5c5c5;background-color:#141920;box-shadow:0 0 0 1px #424c57,0 0 0 2px transparent;border-color:#424c57;}.search-input{color:#ffffff;background-color:#141920;box-shadow:0 0 0 1px #424c57,0 0 0 2px transparent;transition:box-shadow 150ms ease-in-out;}#crate-search+.search-input:focus{box-shadow:0 0 0 1px #148099,0 0 0 2px transparent;}.search-focus:disabled{color:#929292;}.module-item .stab{color:#000;}.stab.unstable,.stab.deprecated,.stab.portability{color:#c5c5c5;background:#314559 !important;border-style:none !important;border-radius:4px;padding:3px 6px 3px 6px;}.stab.portability>code{color:#e6e1cf;background:none;}#help>div{background:#14191f;box-shadow:0px 6px 20px 0px black;border:none;border-radius:4px;}#help>div>span{border-bottom-color:#5c6773;}.since{color:grey;}tr.result span.primitive::after,tr.result span.keyword::after{color:#788797;}.line-numbers :target{background-color:transparent;}pre.rust .number,pre.rust .string{color:#b8cc52;}pre.rust .kw,pre.rust .kw-2,pre.rust .prelude-ty,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .op,pre.rust .lifetime{color:#ff7733;}pre.rust .macro,pre.rust .macro-nonterminal{color:#a37acc;}pre.rust .question-mark{color:#ff9011;}pre.rust .self{color:#36a3d9;font-style:italic;}pre.rust .attribute{color:#e6e1cf;}pre.rust .attribute .ident,pre.rust .attribute .op{color:#e6e1cf;}.example-wrap>pre.line-number{color:#5c67736e;border:none;}a.test-arrow{font-size:100%;color:#788797;border-radius:4px;background-color:rgba(57,175,215,0.09);}a.test-arrow:hover{background-color:rgba(57,175,215,0.368);color:#c5c5c5;}.toggle-label{color:#999;}:target>code,:target>.in-band{background:rgba(255,236,164,0.06);border-right:3px solid rgba(255,180,76,0.85);}pre.compile_fail{border-left:2px solid rgba(255,0,0,.4);}pre.compile_fail:hover,.information:hover+pre.compile_fail{border-left:2px solid #f00;}pre.should_panic{border-left:2px solid rgba(255,0,0,.4);}pre.should_panic:hover,.information:hover+pre.should_panic{border-left:2px solid #f00;}pre.ignore{border-left:2px solid rgba(255,142,0,.6);}pre.ignore:hover,.information:hover+pre.ignore{border-left:2px solid #ff9200;}.tooltip.compile_fail{color:rgba(255,0,0,.5);}.information>.compile_fail:hover{color:#f00;}.tooltip.should_panic{color:rgba(255,0,0,.5);}.information>.should_panic:hover{color:#f00;}.tooltip.ignore{color:rgba(255,142,0,.6);}.information>.ignore:hover{color:#ff9200;}.search-failed a{color:#39AFD7;}.tooltip::after{background-color:#314559;color:#c5c5c5;border:1px solid #5c6773;}.tooltip::before{border-color:transparent #314559 transparent transparent;}.notable-traits-tooltiptext{background-color:#314559;border-color:#5c6773;}#titles>button.selected{background-color:#141920 !important;border-bottom:1px solid #ffb44c !important;border-top:none;}#titles>button:not(.selected){background-color:transparent !important;border:none;}#titles>button:hover{border-bottom:1px solid rgba(242,151,24,0.3);}#titles>button>div.count{color:#888;}.content .highlighted.mod,.content .highlighted.externcrate{}.search-input:focus{}.content span.attr,.content a.attr,.block a.current.attr,.content span.derive,.content a.derive,.block a.current.derive,.content span.macro,.content a.macro,.block a.current.macro{}.content .highlighted.trait{}.content span.struct,.content a.struct,.block a.current.struct{}#titles>button:hover,#titles>button.selected{}.content .highlighted.traitalias{}.content span.type,.content a.type,.block a.current.type{}.content span.union,.content a.union,.block a.current.union{}.content .highlighted.foreigntype{}pre.rust .lifetime{}.content .highlighted.primitive{}.content .highlighted.constant,.content .highlighted.static{}.stab.unstable{}.content .highlighted.fn,.content .highlighted.method,.content .highlighted.tymethod{}h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){}.content span.enum,.content a.enum,.block a.current.enum{}.content span.constant,.content a.constant,.block a.current.constant,.content span.static,.content a.static,.block a.current.static{}.content span.keyword,.content a.keyword,.block a.current.keyword{}pre.rust .comment{}.content .highlighted.enum{}.content .highlighted.struct{}.content .highlighted.keyword{}.content span.traitalias,.content a.traitalias,.block a.current.traitalias{}.content span.fn,.content a.fn,.block a.current.fn,.content span.method,.content a.method,.block a.current.method,.content span.tymethod,.content a.tymethod,.block a.current.tymethod,.content .fnname{}pre.rust .kw{}pre.rust .self,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .attribute,pre.rust .attribute .ident{}.content span.foreigntype,.content a.foreigntype,.block a.current.foreigntype{}pre.rust .doccomment{}.stab.deprecated{}.content .highlighted.attr,.content .highlighted.derive,.content .highlighted.macro{}.stab.portability{}.content .highlighted.union{}.content span.primitive,.content a.primitive,.block a.current.primitive{}.content span.externcrate,.content span.mod,.content a.mod,.block a.current.mod{}.content .highlighted.type{}pre.rust .kw-2,pre.rust .prelude-ty{}.content span.trait,.content a.trait,.block a.current.trait{}@media (max-width:700px){.sidebar-menu{background-color:#14191f;border-bottom-color:#5c6773;border-right-color:#5c6773;}.sidebar-elems{background-color:#14191f;border-right-color:#5c6773;}#sidebar-filler{background-color:#14191f;border-bottom-color:#5c6773;}}kbd{color:#c5c5c5;background-color:#314559;border-color:#5c6773;border-bottom-color:#5c6773;box-shadow-color:#c6cbd1;}#theme-picker,#settings-menu,.help-button,#copy-path{border-color:#5c6773;background-color:#0f1419;color:#fff;}#theme-picker>img,#settings-menu>img{filter:invert(100);}#theme-picker:hover,#theme-picker:focus,#settings-menu:hover,#settings-menu:focus,.help-button:hover,.help-button:focus,#copy-path:hover,#copy-path:focus{border-color:#e0e0e0;}#theme-choices{border-color:#5c6773;background-color:#0f1419;}#theme-choices>button:not(:first-child){border-top-color:#5c6773;}#theme-choices>button:hover,#theme-choices>button:focus{background-color:rgba(110,110,110,0.33);}@media (max-width:700px){#theme-picker{background:#0f1419;}}#all-types{background-color:#14191f;}#all-types:hover{background-color:rgba(70,70,70,0.33);}.search-results td span.alias{color:#c5c5c5;}.search-results td span.grey{color:#999;}#sidebar-toggle{background-color:#14191f;}#sidebar-toggle:hover{background-color:rgba(70,70,70,0.33);}#source-sidebar{background-color:#14191f;}#source-sidebar>.title{color:#fff;border-bottom-color:#5c6773;}div.files>a:hover,div.name:hover{background-color:#14191f;color:#ffb44c;}div.files>.selected{background-color:#14191f;color:#ffb44c;}.setting-line>.title{border-bottom-color:#5c6773;}input:checked+.slider{background-color:#ffb454 !important;} \ No newline at end of file + body{background-color:#0f1419;color:#c5c5c5;}h1,h2,h3,h4{color:white;}h1.fqn{border-bottom-color:#5c6773;}h1.fqn a{color:#fff;}h2,h3,h4{border-bottom-color:#5c6773;}h4{border:none;}.in-band{background-color:#0f1419;}.invisible{background:rgba(0,0,0,0);}code{color:#ffb454;}h3>code,h4>code,h5>code{color:#e6e1cf;}pre>code{color:#e6e1cf;}span code{color:#e6e1cf;}.docblock a>code{color:#39AFD7 !important;}.docblock code,.docblock-short code{background-color:#191f26;}pre,.rustdoc.source .example-wrap{color:#e6e1cf;background-color:#191f26;}.sidebar{background-color:#14191f;}.logo-container.rust-logo>img{filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);}*{scrollbar-color:#5c6773 transparent;}.sidebar{scrollbar-color:#5c6773 transparent;}::-webkit-scrollbar-track{background-color:transparent;}::-webkit-scrollbar-thumb{background-color:#5c6773;}.sidebar::-webkit-scrollbar-track{background-color:transparent;}.sidebar::-webkit-scrollbar-thumb{background-color:#5c6773;}.sidebar .current{background-color:transparent;color:#ffb44c;}.source .sidebar{background-color:#0f1419;}.sidebar .location{border-color:#000;background-color:#0f1419;color:#fff;}.sidebar-elems .location{color:#ff7733;}.sidebar-elems .location a{color:#fff;}.sidebar .version{border-bottom-color:#424c57;}.sidebar-title{border-top-color:#5c6773;border-bottom-color:#5c6773;}.block a:hover{background:transparent;color:#ffb44c;}.line-numbers span{color:#5c6773;}.line-numbers .line-highlighted{color:#708090;background-color:rgba(255,236,164,0.06);padding-right:4px;border-right:1px solid #ffb44c;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5{border-bottom-color:#5c6773;}.docblock table,.docblock table td,.docblock table th{border-color:#5c6773;}.content .method .where,.content .fn .where,.content .where.fmt-newline{color:#c5c5c5;}.search-results a:hover{background-color:#777;}.search-results a:focus{color:#000 !important;background-color:#c6afb3;}.search-results a{color:#0096cf;}.search-results a span.desc{color:#c5c5c5;}.content .item-info::before{color:#ccc;}.content span.foreigntype,.content a.foreigntype{color:#ef57ff;}.content span.union,.content a.union{color:#98a01c;}.content span.constant,.content a.constant,.content span.static,.content a.static{color:#6380a0;}.content span.primitive,.content a.primitive{color:#32889b;}.content span.traitalias,.content a.traitalias{color:#57d399;}.content span.keyword,.content a.keyword{color:#de5249;}.content span.externcrate,.content span.mod,.content a.mod{color:#acccf9;}.content span.struct,.content a.struct{color:#ffa0a5;}.content span.enum,.content a.enum{color:#99e0c9;}.content span.trait,.content a.trait{color:#39AFD7;}.content span.type,.content a.type{color:#cfbcf5;}.content span.fn,.content a.fn,.content span.method,.content a.method,.content span.tymethod,.content a.tymethod,.content .fnname{color:#fdd687;}.content span.attr,.content a.attr,.content span.derive,.content a.derive,.content span.macro,.content a.macro{color:#a37acc;}pre.rust .comment{color:#788797;}pre.rust .doccomment{color:#a1ac88;}nav:not(.sidebar){border-bottom-color:#424c57;}nav.main .current{border-top-color:#5c6773;border-bottom-color:#5c6773;}nav.main .separator{border:1px solid #5c6773;}a{color:#c5c5c5;}.docblock:not(.type-decl) a:not(.srclink):not(.test-arrow),.docblock-short a:not(.srclink):not(.test-arrow),.item-info a,#help a{color:#39AFD7;}details.rustdoc-toggle>summary.hideme>span,details.rustdoc-toggle>summary::before,details.undocumented>summary::before{color:#999;}#crate-search{color:#c5c5c5;background-color:#141920;box-shadow:0 0 0 1px #424c57,0 0 0 2px transparent;border-color:#424c57;}.search-input{color:#ffffff;background-color:#141920;box-shadow:0 0 0 1px #424c57,0 0 0 2px transparent;transition:box-shadow 150ms ease-in-out;}#crate-search+.search-input:focus{box-shadow:0 0 0 1px #148099,0 0 0 2px transparent;}.search-input:disabled{background-color:#3e3e3e;}.module-item .stab,.import-item .stab{color:#000;}.stab.unstable,.stab.deprecated,.stab.portability{color:#c5c5c5;background:#314559 !important;border-style:none !important;border-radius:4px;padding:3px 6px 3px 6px;}.stab.portability>code{color:#e6e1cf;background:none;}#help>div{background:#14191f;box-shadow:0px 6px 20px 0px black;border:none;border-radius:4px;}#help>div>span{border-bottom-color:#5c6773;}.since{color:grey;}tr.result span.primitive::after,tr.result span.keyword::after{color:#788797;}.line-numbers :target{background-color:transparent;}pre.rust .number,pre.rust .string{color:#b8cc52;}pre.rust .kw,pre.rust .kw-2,pre.rust .prelude-ty,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .op,pre.rust .lifetime{color:#ff7733;}pre.rust .macro,pre.rust .macro-nonterminal{color:#a37acc;}pre.rust .question-mark{color:#ff9011;}pre.rust .self{color:#36a3d9;font-style:italic;}pre.rust .attribute{color:#e6e1cf;}pre.rust .attribute .ident,pre.rust .attribute .op{color:#e6e1cf;}.example-wrap>pre.line-number{color:#5c67736e;border:none;}a.test-arrow{font-size:100%;color:#788797;border-radius:4px;background-color:rgba(57,175,215,0.09);}a.test-arrow:hover{background-color:rgba(57,175,215,0.368);color:#c5c5c5;}.toggle-label,.code-attribute{color:#999;}:target,:target*{background:rgba(255,236,164,0.06);}:target{border-right:3px solid rgba(255,180,76,0.85);}pre.compile_fail{border-left:2px solid rgba(255,0,0,.4);}pre.compile_fail:hover,.information:hover+pre.compile_fail{border-left:2px solid #f00;}pre.should_panic{border-left:2px solid rgba(255,0,0,.4);}pre.should_panic:hover,.information:hover+pre.should_panic{border-left:2px solid #f00;}pre.ignore{border-left:2px solid rgba(255,142,0,.6);}pre.ignore:hover,.information:hover+pre.ignore{border-left:2px solid #ff9200;}.tooltip.compile_fail{color:rgba(255,0,0,.5);}.information>.compile_fail:hover{color:#f00;}.tooltip.should_panic{color:rgba(255,0,0,.5);}.information>.should_panic:hover{color:#f00;}.tooltip.ignore{color:rgba(255,142,0,.6);}.information>.ignore:hover{color:#ff9200;}.search-failed a{color:#39AFD7;}.tooltip::after{background-color:#314559;color:#c5c5c5;border:1px solid #5c6773;}.tooltip::before{border-color:transparent #314559 transparent transparent;}.notable-traits-tooltiptext{background-color:#314559;border-color:#5c6773;}.notable-traits-tooltiptext .notable{border-bottom-color:#5c6773;}#titles>button.selected{background-color:#141920 !important;border-bottom:1px solid #ffb44c !important;border-top:none;}#titles>button:not(.selected){background-color:transparent !important;border:none;}#titles>button:hover{border-bottom:1px solid rgba(242,151,24,0.3);}#titles>button>div.count{color:#888;}.search-input:focus{}.content span.attr,.content a.attr,.block a.current.attr,.content span.derive,.content a.derive,.block a.current.derive,.content span.macro,.content a.macro,.block a.current.macro{}.content span.struct,.content a.struct,.block a.current.struct{}#titles>button:hover,#titles>button.selected{}.content span.type,.content a.type,.block a.current.type{}.content span.union,.content a.union,.block a.current.union{}pre.rust .lifetime{}.stab.unstable{}h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){}.content span.enum,.content a.enum,.block a.current.enum{}.content span.constant,.content a.constant,.block a.current.constant,.content span.static,.content a.static,.block a.current.static{}.content span.keyword,.content a.keyword,.block a.current.keyword{}pre.rust .comment{}.content span.traitalias,.content a.traitalias,.block a.current.traitalias{}.content span.fn,.content a.fn,.block a.current.fn,.content span.method,.content a.method,.block a.current.method,.content span.tymethod,.content a.tymethod,.block a.current.tymethod,.content .fnname{}pre.rust .kw{}pre.rust .self,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .attribute,pre.rust .attribute .ident{}.content span.foreigntype,.content a.foreigntype,.block a.current.foreigntype{}pre.rust .doccomment{}.stab.deprecated{}.content a.attr,.content a.derive,.content a.macro{}.stab.portability{}.content span.primitive,.content a.primitive,.block a.current.primitive{}.content span.externcrate,.content span.mod,.content a.mod,.block a.current.mod{}pre.rust .kw-2,pre.rust .prelude-ty{}.content span.trait,.content a.trait,.block a.current.trait{}.search-results a:focus span{}a.result-trait:focus{}a.result-traitalias:focus{}a.result-mod:focus,a.result-externcrate:focus{}a.result-mod:focus{}a.result-externcrate:focus{}a.result-enum:focus{}a.result-struct:focus{}a.result-union:focus{}a.result-fn:focus,a.result-method:focus,a.result-tymethod:focus{}a.result-type:focus{}a.result-foreigntype:focus{}a.result-attr:focus,a.result-derive:focus,a.result-macro:focus{}a.result-constant:focus,a.result-static:focus{}a.result-primitive:focus{}a.result-keyword:focus{}@media (max-width:700px){.sidebar-menu{background-color:#14191f;border-bottom-color:#5c6773;border-right-color:#5c6773;}.sidebar-elems{background-color:#14191f;border-right-color:#5c6773;}#sidebar-filler{background-color:#14191f;border-bottom-color:#5c6773;}}kbd{color:#c5c5c5;background-color:#314559;border-color:#5c6773;border-bottom-color:#5c6773;box-shadow-color:#c6cbd1;}#theme-picker,#settings-menu,#help-button{border-color:#5c6773;background-color:#0f1419;color:#fff;}#theme-picker>img,#settings-menu>img{filter:invert(100);}#copy-path{color:#fff;}#copy-path>img{filter:invert(70%);}#copy-path:hover>img{filter:invert(100%);}#theme-picker:hover,#theme-picker:focus,#settings-menu:hover,#settings-menu:focus,#help-button:hover,#help-button:focus{border-color:#e0e0e0;}#theme-choices{border-color:#5c6773;background-color:#0f1419;}#theme-choices>button:not(:first-child){border-top-color:#5c6773;}#theme-choices>button:hover,#theme-choices>button:focus{background-color:rgba(110,110,110,0.33);}@media (max-width:700px){#theme-picker{background:#0f1419;}}#all-types{background-color:#14191f;}#all-types:hover{background-color:rgba(70,70,70,0.33);}.search-results .result-name span.alias{color:#c5c5c5;}.search-results .result-name span.grey{color:#999;}#sidebar-toggle{background-color:#14191f;}#sidebar-toggle:hover{background-color:rgba(70,70,70,0.33);}#source-sidebar{background-color:#14191f;}#source-sidebar>.title{color:#fff;border-bottom-color:#5c6773;}div.files>a:hover,div.name:hover{background-color:#14191f;color:#ffb44c;}div.files>.selected{background-color:#14191f;color:#ffb44c;}.setting-line>.title{border-bottom-color:#5c6773;}input:checked+.slider{background-color:#ffb454 !important;} \ No newline at end of file diff --git a/clipboard.svg b/clipboard.svg new file mode 100644 index 000000000..8adbd9963 --- /dev/null +++ b/clipboard.svg @@ -0,0 +1 @@ + diff --git a/crates.js b/crates.js index 5176ac7e3..be1d5a7c2 100644 --- a/crates.js +++ b/crates.js @@ -1 +1 @@ -window.ALL_CRATES = ["actix_cors","actix_identity","actix_protobuf","actix_redis","actix_session","actix_web_httpauth","prost_example"]; \ No newline at end of file +window.ALL_CRATES = ["actix_cors","actix_identity","actix_protobuf","actix_redis","actix_session","actix_web_httpauth"]; \ No newline at end of file diff --git a/dark.css b/dark.css index f0b11c91b..474fd9c6d 100644 --- a/dark.css +++ b/dark.css @@ -1 +1 @@ -body{background-color:#353535;color:#ddd;}h1,h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){color:#ddd;}h1.fqn{border-bottom-color:#d2d2d2;}h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){border-bottom-color:#d2d2d2;}.in-band{background-color:#353535;}.invisible{background:rgba(0,0,0,0);}.docblock code,.docblock-short code{background-color:#2A2A2A;}pre{background-color:#2A2A2A;}.sidebar{background-color:#505050;}.logo-container.rust-logo>img{filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff)}*{scrollbar-color:rgb(64,65,67) #717171;}.sidebar{scrollbar-color:rgba(32,34,37,.6) transparent;}::-webkit-scrollbar-track{background-color:#717171;}::-webkit-scrollbar-thumb{background-color:rgba(32,34,37,.6);}.sidebar::-webkit-scrollbar-track{background-color:#717171;}.sidebar::-webkit-scrollbar-thumb{background-color:rgba(32,34,37,.6);}.sidebar .current{background-color:#333;}.source .sidebar{background-color:#353535;}.sidebar .location{border-color:#fff;background:#575757;color:#DDD;}.sidebar .version{border-bottom-color:#DDD;}.sidebar-title{border-top-color:#777;border-bottom-color:#777;}.block a:hover{background:#444;}.line-numbers span{color:#3B91E2;}.line-numbers .line-highlighted{background-color:#0a042f !important;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5{border-bottom-color:#DDD;}.docblock table,.docblock table td,.docblock table th{border-color:#ddd;}.content .method .where,.content .fn .where,.content .where.fmt-newline{color:#ddd;}.content .highlighted{color:#eee !important;background-color:#616161;}.content .highlighted a,.content .highlighted span{color:#eee !important;}.content .highlighted.trait{background-color:#013191;}.content .highlighted.traitalias{background-color:#013191;}.content .highlighted.mod,.content .highlighted.externcrate{background-color:#afc6e4;}.content .highlighted.mod{background-color:#803a1b;}.content .highlighted.externcrate{background-color:#396bac;}.content .highlighted.enum{background-color:#5b4e68;}.content .highlighted.struct{background-color:#194e9f;}.content .highlighted.union{background-color:#b7bd49;}.content .highlighted.fn,.content .highlighted.method,.content .highlighted.tymethod{background-color:#4950ed;}.content .highlighted.type{background-color:#38902c;}.content .highlighted.foreigntype{background-color:#b200d6;}.content .highlighted.attr,.content .highlighted.derive,.content .highlighted.macro{background-color:#217d1c;}.content .highlighted.constant,.content .highlighted.static{background-color:#0063cc;}.content .highlighted.primitive{background-color:#00708a;}.content .highlighted.keyword{background-color:#884719;}.content .item-info::before{color:#ccc;}.content span.enum,.content a.enum,.block a.current.enum{color:#82b089;}.content span.struct,.content a.struct,.block a.current.struct{color:#2dbfb8;}.content span.type,.content a.type,.block a.current.type{color:#ff7f00;}.content span.foreigntype,.content a.foreigntype,.block a.current.foreigntype{color:#dd7de8;}.content span.attr,.content a.attr,.block a.current.attr,.content span.derive,.content a.derive,.block a.current.derive,.content span.macro,.content a.macro,.block a.current.macro{color:#09bd00;}.content span.union,.content a.union,.block a.current.union{color:#a6ae37;}.content span.constant,.content a.constant,.block a.current.constant,.content span.static,.content a.static,.block a.current.static{color:#82a5c9;}.content span.primitive,.content a.primitive,.block a.current.primitive{color:#43aec7;}.content span.externcrate,.content span.mod,.content a.mod,.block a.current.mod{color:#bda000;}.content span.trait,.content a.trait,.block a.current.trait{color:#b78cf2;}.content span.traitalias,.content a.traitalias,.block a.current.traitalias{color:#b397da;}.content span.fn,.content a.fn,.block a.current.fn,.content span.method,.content a.method,.block a.current.method,.content span.tymethod,.content a.tymethod,.block a.current.tymethod,.content .fnname{color:#2BAB63;}.content span.keyword,.content a.keyword,.block a.current.keyword{color:#de5249;}pre.rust .comment{color:#8d8d8b;}pre.rust .doccomment{color:#8ca375;}nav:not(.sidebar){border-bottom-color:#4e4e4e;}nav.main .current{border-top-color:#eee;border-bottom-color:#eee;}nav.main .separator{border-color:#eee;}a{color:#ddd;}.docblock:not(.type-decl) a:not(.srclink):not(.test-arrow),.docblock-short a:not(.srclink):not(.test-arrow),.item-info a,#help a{color:#D2991D;}a.test-arrow{color:#dedede;}.collapse-toggle{color:#999;}#crate-search{color:#111;background-color:#f0f0f0;border-color:#000;box-shadow:0 0 0 1px #000,0 0 0 2px transparent;}.search-input{color:#111;background-color:#f0f0f0;box-shadow:0 0 0 1px #000,0 0 0 2px transparent;}.search-input:focus{border-color:#008dfd;}.search-focus:disabled{background-color:#c5c4c4;}#crate-search+.search-input:focus{box-shadow:0 0 8px 4px #078dd8;}.module-item .stab{color:#ddd;}.stab.unstable{background:#FFF5D6;border-color:#FFC600;color:#2f2f2f;}.stab.deprecated{background:#ffc4c4;border-color:#db7b7b;color:#2f2f2f;}.stab.portability{background:#F3DFFF;border-color:#b07bdb;color:#2f2f2f;}.stab.portability>code{background:none;}#help>div{background:#4d4d4d;border-color:#bfbfbf;}#help>div>span{border-bottom-color:#bfbfbf;}#help dt{border-color:#bfbfbf;background:rgba(0,0,0,0);}.since{color:grey;}tr.result span.primitive::after,tr.result span.keyword::after{color:#ddd;}.line-numbers :target{background-color:transparent;}pre.rust .kw{color:#ab8ac1;}pre.rust .kw-2,pre.rust .prelude-ty{color:#769acb;}pre.rust .number,pre.rust .string{color:#83a300;}pre.rust .self,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .attribute,pre.rust .attribute .ident{color:#ee6868;}pre.rust .macro,pre.rust .macro-nonterminal{color:#3E999F;}pre.rust .lifetime{color:#d97f26;}pre.rust .question-mark{color:#ff9011;}.example-wrap>pre.line-number{border-color:#4a4949;}a.test-arrow{background-color:rgba(78,139,202,0.2);}a.test-arrow:hover{background-color:#4e8bca;}.toggle-label{color:#999;}:target>code,:target>.in-band{background-color:#494a3d;border-right:3px solid #bb7410;}pre.compile_fail{border-left:2px solid rgba(255,0,0,.8);}pre.compile_fail:hover,.information:hover+pre.compile_fail{border-left:2px solid #f00;}pre.should_panic{border-left:2px solid rgba(255,0,0,.8);}pre.should_panic:hover,.information:hover+pre.should_panic{border-left:2px solid #f00;}pre.ignore{border-left:2px solid rgba(255,142,0,.6);}pre.ignore:hover,.information:hover+pre.ignore{border-left:2px solid #ff9200;}.tooltip.compile_fail{color:rgba(255,0,0,.8);}.information>.compile_fail:hover{color:#f00;}.tooltip.should_panic{color:rgba(255,0,0,.8);}.information>.should_panic:hover{color:#f00;}.tooltip.ignore{color:rgba(255,142,0,.6);}.information>.ignore:hover{color:#ff9200;}.search-failed a{color:#0089ff;}.tooltip::after{background-color:#000;color:#fff;border-color:#000;}.tooltip::before{border-color:transparent black transparent transparent;}.notable-traits-tooltiptext{background-color:#111;border-color:#777;}#titles>button:not(.selected){background-color:#252525;border-top-color:#252525;}#titles>button:hover,#titles>button.selected{border-top-color:#0089ff;background-color:#353535;}#titles>button>div.count{color:#888;}@media (max-width:700px){.sidebar-menu{background-color:#505050;border-bottom-color:#e0e0e0;border-right-color:#e0e0e0;}.sidebar-elems{background-color:#505050;border-right-color:#000;}#sidebar-filler{background-color:#505050;border-bottom-color:#e0e0e0;}}kbd{color:#000;background-color:#fafbfc;border-color:#d1d5da;border-bottom-color:#c6cbd1;box-shadow-color:#c6cbd1;}#theme-picker,#settings-menu,.help-button,#copy-path{border-color:#e0e0e0;background:#f0f0f0;color:#000;}#theme-picker:hover,#theme-picker:focus,#settings-menu:hover,#settings-menu:focus,.help-button:hover,.help-button:focus,#copy-path:hover,#copy-path:focus{border-color:#ffb900;}#theme-choices{border-color:#e0e0e0;background-color:#353535;}#theme-choices>button:not(:first-child){border-top-color:#e0e0e0;}#theme-choices>button:hover,#theme-choices>button:focus{background-color:#4e4e4e;}@media (max-width:700px){#theme-picker{background:#f0f0f0;}}#all-types{background-color:#505050;}#all-types:hover{background-color:#606060;}.search-results td span.alias{color:#fff;}.search-results td span.grey{color:#ccc;}#sidebar-toggle{background-color:#565656;}#sidebar-toggle:hover{background-color:#676767;}#source-sidebar{background-color:#565656;}#source-sidebar>.title{border-bottom-color:#ccc;}div.files>a:hover,div.name:hover{background-color:#444;}div.files>.selected{background-color:#333;}.setting-line>.title{border-bottom-color:#ddd;} \ No newline at end of file +body{background-color:#353535;color:#ddd;}h1,h2,h3,h4{color:#ddd;}h1.fqn{border-bottom-color:#d2d2d2;}h2,h3,h4{border-bottom-color:#d2d2d2;}.in-band{background-color:#353535;}.invisible{background:rgba(0,0,0,0);}.docblock code,.docblock-short code{background-color:#2A2A2A;}pre,.rustdoc.source .example-wrap{background-color:#2A2A2A;}.sidebar{background-color:#505050;}.logo-container.rust-logo>img{filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff)}*{scrollbar-color:rgb(64,65,67) #717171;}.sidebar{scrollbar-color:rgba(32,34,37,.6) transparent;}::-webkit-scrollbar-track{background-color:#717171;}::-webkit-scrollbar-thumb{background-color:rgba(32,34,37,.6);}.sidebar::-webkit-scrollbar-track{background-color:#717171;}.sidebar::-webkit-scrollbar-thumb{background-color:rgba(32,34,37,.6);}.sidebar .current{background-color:#333;}.source .sidebar{background-color:#353535;}.sidebar .location{border-color:#fff;background:#575757;color:#DDD;}.sidebar .version{border-bottom-color:#DDD;}.sidebar-title{border-top-color:#777;border-bottom-color:#777;}.block a:hover{background:#444;}.line-numbers span{color:#3B91E2;}.line-numbers .line-highlighted{background-color:#0a042f !important;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5{border-bottom-color:#DDD;}.docblock table,.docblock table td,.docblock table th{border-color:#ddd;}.content .method .where,.content .fn .where,.content .where.fmt-newline{color:#ddd;}.search-results a:hover{background-color:#777;}.search-results a:focus{color:#eee !important;background-color:#616161;}.search-results a:focus span{color:#eee !important;}a.result-trait:focus{background-color:#013191;}a.result-traitalias:focus{background-color:#013191;}a.result-mod:focus,a.result-externcrate:focus{background-color:#afc6e4;}a.result-mod:focus{background-color:#803a1b;}a.result-externcrate:focus{background-color:#396bac;}a.result-enum:focus{background-color:#5b4e68;}a.result-struct:focus{background-color:#194e9f;}a.result-union:focus{background-color:#b7bd49;}a.result-fn:focus,a.result-method:focus,a.result-tymethod:focus{background-color:#4950ed;}a.result-type:focus{background-color:#38902c;}a.result-foreigntype:focus{background-color:#b200d6;}a.result-attr:focus,a.result-derive:focus,a.result-macro:focus{background-color:#217d1c;}a.result-constant:focus,a.result-static:focus{background-color:#0063cc;}a.result-primitive:focus{background-color:#00708a;}a.result-keyword:focus{background-color:#884719;}.content .item-info::before{color:#ccc;}.content span.enum,.content a.enum,.block a.current.enum{color:#82b089;}.content span.struct,.content a.struct,.block a.current.struct{color:#2dbfb8;}.content span.type,.content a.type,.block a.current.type{color:#ff7f00;}.content span.foreigntype,.content a.foreigntype,.block a.current.foreigntype{color:#dd7de8;}.content span.attr,.content a.attr,.block a.current.attr,.content span.derive,.content a.derive,.block a.current.derive,.content span.macro,.content a.macro,.block a.current.macro{color:#09bd00;}.content span.union,.content a.union,.block a.current.union{color:#a6ae37;}.content span.constant,.content a.constant,.block a.current.constant,.content span.static,.content a.static,.block a.current.static{color:#82a5c9;}.content span.primitive,.content a.primitive,.block a.current.primitive{color:#43aec7;}.content span.externcrate,.content span.mod,.content a.mod,.block a.current.mod{color:#bda000;}.content span.trait,.content a.trait,.block a.current.trait{color:#b78cf2;}.content span.traitalias,.content a.traitalias,.block a.current.traitalias{color:#b397da;}.content span.fn,.content a.fn,.block a.current.fn,.content span.method,.content a.method,.block a.current.method,.content span.tymethod,.content a.tymethod,.block a.current.tymethod,.content .fnname{color:#2BAB63;}.content span.keyword,.content a.keyword,.block a.current.keyword{color:#de5249;}pre.rust .comment{color:#8d8d8b;}pre.rust .doccomment{color:#8ca375;}nav:not(.sidebar){border-bottom-color:#4e4e4e;}nav.main .current{border-top-color:#eee;border-bottom-color:#eee;}nav.main .separator{border-color:#eee;}a{color:#ddd;}.docblock:not(.type-decl) a:not(.srclink):not(.test-arrow),.docblock-short a:not(.srclink):not(.test-arrow),.item-info a,#help a{color:#D2991D;}a.test-arrow{color:#dedede;}details.rustdoc-toggle>summary.hideme>span,details.rustdoc-toggle>summary::before,details.undocumented>summary::before{color:#999;}#crate-search{color:#111;background-color:#f0f0f0;border-color:#000;box-shadow:0 0 0 1px #000,0 0 0 2px transparent;}.search-input{color:#111;background-color:#f0f0f0;box-shadow:0 0 0 1px #000,0 0 0 2px transparent;}.search-input:focus{border-color:#008dfd;}.search-input:disabled{background-color:#c5c4c4;}#crate-search+.search-input:focus{box-shadow:0 0 8px 4px #078dd8;}.module-item .stab,.import-item .stab{color:#ddd;}.stab.unstable{background:#FFF5D6;border-color:#FFC600;color:#2f2f2f;}.stab.deprecated{background:#ffc4c4;border-color:#db7b7b;color:#2f2f2f;}.stab.portability{background:#F3DFFF;border-color:#b07bdb;color:#2f2f2f;}.stab.portability>code{background:none;}#help>div{background:#4d4d4d;border-color:#bfbfbf;}#help>div>span{border-bottom-color:#bfbfbf;}#help dt{border-color:#bfbfbf;background:rgba(0,0,0,0);}.since{color:grey;}tr.result span.primitive::after,tr.result span.keyword::after{color:#ddd;}.line-numbers :target{background-color:transparent;}pre.rust .kw{color:#ab8ac1;}pre.rust .kw-2,pre.rust .prelude-ty{color:#769acb;}pre.rust .number,pre.rust .string{color:#83a300;}pre.rust .self,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .attribute,pre.rust .attribute .ident{color:#ee6868;}pre.rust .macro,pre.rust .macro-nonterminal{color:#3E999F;}pre.rust .lifetime{color:#d97f26;}pre.rust .question-mark{color:#ff9011;}.example-wrap>pre.line-number{border-color:#4a4949;}a.test-arrow{background-color:rgba(78,139,202,0.2);}a.test-arrow:hover{background-color:#4e8bca;}.toggle-label,.code-attribute{color:#999;}:target,:target*{background-color:#494a3d;}:target{border-right:3px solid #bb7410;}pre.compile_fail{border-left:2px solid rgba(255,0,0,.8);}pre.compile_fail:hover,.information:hover+pre.compile_fail{border-left:2px solid #f00;}pre.should_panic{border-left:2px solid rgba(255,0,0,.8);}pre.should_panic:hover,.information:hover+pre.should_panic{border-left:2px solid #f00;}pre.ignore{border-left:2px solid rgba(255,142,0,.6);}pre.ignore:hover,.information:hover+pre.ignore{border-left:2px solid #ff9200;}.tooltip.compile_fail{color:rgba(255,0,0,.8);}.information>.compile_fail:hover{color:#f00;}.tooltip.should_panic{color:rgba(255,0,0,.8);}.information>.should_panic:hover{color:#f00;}.tooltip.ignore{color:rgba(255,142,0,.6);}.information>.ignore:hover{color:#ff9200;}.search-failed a{color:#0089ff;}.tooltip::after{background-color:#000;color:#fff;border-color:#000;}.tooltip::before{border-color:transparent black transparent transparent;}.notable-traits-tooltiptext{background-color:#111;border-color:#777;}.notable-traits-tooltiptext .notable{border-bottom-color:#d2d2d2;}#titles>button:not(.selected){background-color:#252525;border-top-color:#252525;}#titles>button:hover,#titles>button.selected{border-top-color:#0089ff;background-color:#353535;}#titles>button>div.count{color:#888;}@media (max-width:700px){.sidebar-menu{background-color:#505050;border-bottom-color:#e0e0e0;border-right-color:#e0e0e0;}.sidebar-elems{background-color:#505050;border-right-color:#000;}#sidebar-filler{background-color:#505050;border-bottom-color:#e0e0e0;}}kbd{color:#000;background-color:#fafbfc;border-color:#d1d5da;border-bottom-color:#c6cbd1;box-shadow-color:#c6cbd1;}#theme-picker,#settings-menu,#help-button{border-color:#e0e0e0;background:#f0f0f0;color:#000;}#theme-picker:hover,#theme-picker:focus,#settings-menu:hover,#settings-menu:focus,#help-button:hover,#help-button:focus{border-color:#ffb900;}#copy-path{color:#999;}#copy-path>img{filter:invert(50%);}#copy-path:hover>img{filter:invert(65%);}#theme-choices{border-color:#e0e0e0;background-color:#353535;}#theme-choices>button:not(:first-child){border-top-color:#e0e0e0;}#theme-choices>button:hover,#theme-choices>button:focus{background-color:#4e4e4e;}@media (max-width:700px){#theme-picker{background:#f0f0f0;}}#all-types{background-color:#505050;}#all-types:hover{background-color:#606060;}.search-results .result-name span.alias{color:#fff;}.search-results .result-name span.grey{color:#ccc;}#sidebar-toggle{background-color:#565656;}#sidebar-toggle:hover{background-color:#676767;}#source-sidebar{background-color:#565656;}#source-sidebar>.title{border-bottom-color:#ccc;}div.files>a:hover,div.name:hover{background-color:#444;}div.files>.selected{background-color:#333;}.setting-line>.title{border-bottom-color:#ddd;} \ No newline at end of file diff --git a/implementors/actix_service/transform/trait.Transform.js b/implementors/actix_service/transform/trait.Transform.js index 59a567e00..e3ae7d8c2 100644 --- a/implementors/actix_service/transform/trait.Transform.js +++ b/implementors/actix_service/transform/trait.Transform.js @@ -1,7 +1,7 @@ (function() {var implementors = {}; -implementors["actix_cors"] = [{"text":"impl<S, B> Transform<S, ServiceRequest> for Cors where
        S: Service<ServiceRequest, Response = ServiceResponse<B>, Error = Error>,
        S::Future: 'static,
        B: 'static, 
    ","synthetic":false,"types":["actix_cors::builder::Cors"]}]; -implementors["actix_identity"] = [{"text":"impl<S, T, B> Transform<S, ServiceRequest> for IdentityService<T> where
        S: Service<ServiceRequest, Response = ServiceResponse<B>, Error = Error> + 'static,
        S::Future: 'static,
        T: IdentityPolicy,
        B: 'static, 
    ","synthetic":false,"types":["actix_identity::middleware::IdentityService"]}]; +implementors["actix_cors"] = [{"text":"impl<S> Transform<S, ServiceRequest> for Cors where
        S: Service<ServiceRequest, Response = ServiceResponse, Error = Error>,
        S::Future: 'static, 
    ","synthetic":false,"types":["actix_cors::builder::Cors"]}]; +implementors["actix_identity"] = [{"text":"impl<S, T, B> Transform<S, ServiceRequest> for IdentityService<T> where
        S: Service<ServiceRequest, Response = ServiceResponse<B>, Error = Error> + 'static,
        S::Future: 'static,
        T: IdentityPolicy,
        B: MessageBody + 'static,
        B::Error: StdError
    ","synthetic":false,"types":["actix_identity::middleware::IdentityService"]}]; implementors["actix_redis"] = [{"text":"impl<S, B> Transform<S, ServiceRequest> for RedisSession where
        S: Service<ServiceRequest, Response = ServiceResponse<B>, Error = Error> + 'static,
        S::Future: 'static,
        B: 'static, 
    ","synthetic":false,"types":["actix_redis::session::RedisSession"]}]; -implementors["actix_session"] = [{"text":"impl<S, B: 'static> Transform<S, ServiceRequest> for CookieSession where
        S: Service<ServiceRequest, Response = ServiceResponse<B>>,
        S::Future: 'static,
        S::Error: 'static, 
    ","synthetic":false,"types":["actix_session::cookie::CookieSession"]}]; -implementors["actix_web_httpauth"] = [{"text":"impl<S, B, T, F, O> Transform<S, ServiceRequest> for HttpAuthentication<T, F> where
        S: Service<ServiceRequest, Response = ServiceResponse<B>, Error = Error> + 'static,
        S::Future: 'static,
        F: Fn(ServiceRequest, T) -> O + 'static,
        O: Future<Output = Result<ServiceRequest, Error>> + 'static,
        T: AuthExtractor + 'static, 
    ","synthetic":false,"types":["actix_web_httpauth::middleware::HttpAuthentication"]}]; +implementors["actix_session"] = [{"text":"impl<S, B> Transform<S, ServiceRequest> for CookieSession where
        S: Service<ServiceRequest, Response = ServiceResponse<B>>,
        S::Future: 'static,
        S::Error: 'static,
        B: MessageBody + 'static,
        B::Error: StdError
    ","synthetic":false,"types":["actix_session::cookie::CookieSession"]}]; +implementors["actix_web_httpauth"] = [{"text":"impl<S, B, T, F, O> Transform<S, ServiceRequest> for HttpAuthentication<T, F> where
        S: Service<ServiceRequest, Response = ServiceResponse<B>, Error = Error> + 'static,
        S::Future: 'static,
        F: Fn(ServiceRequest, T) -> O + 'static,
        O: Future<Output = Result<ServiceRequest, Error>> + 'static,
        T: AuthExtractor + 'static,
        B: MessageBody + 'static,
        B::Error: StdError
    ","synthetic":false,"types":["actix_web_httpauth::middleware::HttpAuthentication"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/actix_http/error/trait.ResponseError.js b/implementors/actix_web/error/response_error/trait.ResponseError.js similarity index 100% rename from implementors/actix_http/error/trait.ResponseError.js rename to implementors/actix_web/error/response_error/trait.ResponseError.js diff --git a/implementors/core/clone/trait.Clone.js b/implementors/core/clone/trait.Clone.js index 0b165475d..f534f1b22 100644 --- a/implementors/core/clone/trait.Clone.js +++ b/implementors/core/clone/trait.Clone.js @@ -3,5 +3,4 @@ implementors["actix_cors"] = [{"text":"impl Clone for Identity","synthetic":false,"types":["actix_identity::identity::Identity"]}]; implementors["actix_session"] = [{"text":"impl Clone for SessionStatus","synthetic":false,"types":["actix_session::SessionStatus"]}]; implementors["actix_web_httpauth"] = [{"text":"impl Clone for Config","synthetic":false,"types":["actix_web_httpauth::extractors::basic::Config"]},{"text":"impl Clone for BasicAuth","synthetic":false,"types":["actix_web_httpauth::extractors::basic::BasicAuth"]},{"text":"impl Clone for Config","synthetic":false,"types":["actix_web_httpauth::extractors::bearer::Config"]},{"text":"impl Clone for BearerAuth","synthetic":false,"types":["actix_web_httpauth::extractors::bearer::BearerAuth"]},{"text":"impl<S: Clone + Scheme> Clone for Authorization<S>","synthetic":false,"types":["actix_web_httpauth::headers::authorization::header::Authorization"]},{"text":"impl Clone for Basic","synthetic":false,"types":["actix_web_httpauth::headers::authorization::scheme::basic::Basic"]},{"text":"impl Clone for Bearer","synthetic":false,"types":["actix_web_httpauth::headers::authorization::scheme::bearer::Bearer"]},{"text":"impl Clone for Basic","synthetic":false,"types":["actix_web_httpauth::headers::www_authenticate::challenge::basic::Basic"]},{"text":"impl Clone for Bearer","synthetic":false,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::challenge::Bearer"]},{"text":"impl Clone for Error","synthetic":false,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::errors::Error"]},{"text":"impl<C: Clone + Challenge> Clone for WwwAuthenticate<C>","synthetic":false,"types":["actix_web_httpauth::headers::www_authenticate::header::WwwAuthenticate"]},{"text":"impl<T: Clone, F: Clone> Clone for HttpAuthentication<T, F> where
        T: AuthExtractor
    ","synthetic":false,"types":["actix_web_httpauth::middleware::HttpAuthentication"]}]; -implementors["prost_example"] = [{"text":"impl Clone for MyObj","synthetic":false,"types":["prost_example::MyObj"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/cmp/trait.PartialEq.js b/implementors/core/cmp/trait.PartialEq.js index ae49bb3c3..ee1ab538d 100644 --- a/implementors/core/cmp/trait.PartialEq.js +++ b/implementors/core/cmp/trait.PartialEq.js @@ -1,5 +1,4 @@ (function() {var implementors = {}; implementors["actix_session"] = [{"text":"impl PartialEq<SessionStatus> for SessionStatus","synthetic":false,"types":["actix_session::SessionStatus"]}]; implementors["actix_web_httpauth"] = [{"text":"impl<S: PartialEq + Scheme> PartialEq<Authorization<S>> for Authorization<S>","synthetic":false,"types":["actix_web_httpauth::headers::authorization::header::Authorization"]},{"text":"impl PartialEq<Basic> for Basic","synthetic":false,"types":["actix_web_httpauth::headers::authorization::scheme::basic::Basic"]},{"text":"impl PartialEq<Bearer> for Bearer","synthetic":false,"types":["actix_web_httpauth::headers::authorization::scheme::bearer::Bearer"]},{"text":"impl PartialEq<Basic> for Basic","synthetic":false,"types":["actix_web_httpauth::headers::www_authenticate::challenge::basic::Basic"]},{"text":"impl PartialEq<Bearer> for Bearer","synthetic":false,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::challenge::Bearer"]},{"text":"impl PartialEq<Error> for Error","synthetic":false,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::errors::Error"]},{"text":"impl<C: PartialEq + Challenge> PartialEq<WwwAuthenticate<C>> for WwwAuthenticate<C>","synthetic":false,"types":["actix_web_httpauth::headers::www_authenticate::header::WwwAuthenticate"]}]; -implementors["prost_example"] = [{"text":"impl PartialEq<MyObj> for MyObj","synthetic":false,"types":["prost_example::MyObj"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/default/trait.Default.js b/implementors/core/default/trait.Default.js index 9ccc8eda3..f473aefc1 100644 --- a/implementors/core/default/trait.Default.js +++ b/implementors/core/default/trait.Default.js @@ -3,5 +3,4 @@ implementors["actix_cors"] = [{"text":"impl Default for ProtoBufConfig","synthetic":false,"types":["actix_protobuf::ProtoBufConfig"]}]; implementors["actix_session"] = [{"text":"impl Default for SessionStatus","synthetic":false,"types":["actix_session::SessionStatus"]}]; implementors["actix_web_httpauth"] = [{"text":"impl Default for Config","synthetic":false,"types":["actix_web_httpauth::extractors::basic::Config"]},{"text":"impl Default for Config","synthetic":false,"types":["actix_web_httpauth::extractors::bearer::Config"]},{"text":"impl<S: Default + Scheme> Default for Authorization<S>","synthetic":false,"types":["actix_web_httpauth::headers::authorization::header::Authorization"]},{"text":"impl Default for Basic","synthetic":false,"types":["actix_web_httpauth::headers::www_authenticate::challenge::basic::Basic"]},{"text":"impl Default for BearerBuilder","synthetic":false,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::builder::BearerBuilder"]},{"text":"impl Default for Bearer","synthetic":false,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::challenge::Bearer"]},{"text":"impl<C: Default + Challenge> Default for WwwAuthenticate<C>","synthetic":false,"types":["actix_web_httpauth::headers::www_authenticate::header::WwwAuthenticate"]}]; -implementors["prost_example"] = [{"text":"impl Default for MyObj","synthetic":false,"types":["prost_example::MyObj"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/fmt/trait.Debug.js b/implementors/core/fmt/trait.Debug.js index 17c3a769e..fc654249d 100644 --- a/implementors/core/fmt/trait.Debug.js +++ b/implementors/core/fmt/trait.Debug.js @@ -4,5 +4,4 @@ implementors["actix_protobuf"] = [{"text":"impl Debug for Command","synthetic":false,"types":["actix_redis::redis::Command"]},{"text":"impl Debug for Error","synthetic":false,"types":["actix_redis::Error"]}]; implementors["actix_session"] = [{"text":"impl Debug for SessionStatus","synthetic":false,"types":["actix_session::SessionStatus"]}]; implementors["actix_web_httpauth"] = [{"text":"impl Debug for Config","synthetic":false,"types":["actix_web_httpauth::extractors::basic::Config"]},{"text":"impl Debug for BasicAuth","synthetic":false,"types":["actix_web_httpauth::extractors::basic::BasicAuth"]},{"text":"impl Debug for Config","synthetic":false,"types":["actix_web_httpauth::extractors::bearer::Config"]},{"text":"impl Debug for BearerAuth","synthetic":false,"types":["actix_web_httpauth::extractors::bearer::BearerAuth"]},{"text":"impl<C: Debug + Challenge> Debug for AuthenticationError<C>","synthetic":false,"types":["actix_web_httpauth::extractors::errors::AuthenticationError"]},{"text":"impl Debug for ParseError","synthetic":false,"types":["actix_web_httpauth::headers::authorization::errors::ParseError"]},{"text":"impl<S: Debug + Scheme> Debug for Authorization<S>","synthetic":false,"types":["actix_web_httpauth::headers::authorization::header::Authorization"]},{"text":"impl Debug for Basic","synthetic":false,"types":["actix_web_httpauth::headers::authorization::scheme::basic::Basic"]},{"text":"impl Debug for Bearer","synthetic":false,"types":["actix_web_httpauth::headers::authorization::scheme::bearer::Bearer"]},{"text":"impl Debug for Basic","synthetic":false,"types":["actix_web_httpauth::headers::www_authenticate::challenge::basic::Basic"]},{"text":"impl Debug for BearerBuilder","synthetic":false,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::builder::BearerBuilder"]},{"text":"impl Debug for Bearer","synthetic":false,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::challenge::Bearer"]},{"text":"impl Debug for Error","synthetic":false,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::errors::Error"]},{"text":"impl<C: Debug + Challenge> Debug for WwwAuthenticate<C>","synthetic":false,"types":["actix_web_httpauth::headers::www_authenticate::header::WwwAuthenticate"]},{"text":"impl<T: Debug, F: Debug> Debug for HttpAuthentication<T, F> where
        T: AuthExtractor
    ","synthetic":false,"types":["actix_web_httpauth::middleware::HttpAuthentication"]}]; -implementors["prost_example"] = [{"text":"impl Debug for MyObj","synthetic":false,"types":["prost_example::MyObj"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Freeze.js b/implementors/core/marker/trait.Freeze.js index dad323739..5b3976409 100644 --- a/implementors/core/marker/trait.Freeze.js +++ b/implementors/core/marker/trait.Freeze.js @@ -5,5 +5,4 @@ implementors["actix_protobuf"] = [{"text":"impl Freeze for Command","synthetic":true,"types":["actix_redis::redis::Command"]},{"text":"impl Freeze for RedisActor","synthetic":true,"types":["actix_redis::redis::RedisActor"]},{"text":"impl Freeze for RedisSession","synthetic":true,"types":["actix_redis::session::RedisSession"]},{"text":"impl Freeze for Error","synthetic":true,"types":["actix_redis::Error"]}]; implementors["actix_session"] = [{"text":"impl Freeze for CookieSession","synthetic":true,"types":["actix_session::cookie::CookieSession"]},{"text":"impl Freeze for Session","synthetic":true,"types":["actix_session::Session"]},{"text":"impl Freeze for SessionStatus","synthetic":true,"types":["actix_session::SessionStatus"]}]; implementors["actix_web_httpauth"] = [{"text":"impl Freeze for Config","synthetic":true,"types":["actix_web_httpauth::extractors::basic::Config"]},{"text":"impl Freeze for BasicAuth","synthetic":true,"types":["actix_web_httpauth::extractors::basic::BasicAuth"]},{"text":"impl Freeze for Error","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::errors::Error"]},{"text":"impl Freeze for Config","synthetic":true,"types":["actix_web_httpauth::extractors::bearer::Config"]},{"text":"impl Freeze for BearerAuth","synthetic":true,"types":["actix_web_httpauth::extractors::bearer::BearerAuth"]},{"text":"impl<C> Freeze for AuthenticationError<C> where
        C: Freeze, 
    ","synthetic":true,"types":["actix_web_httpauth::extractors::errors::AuthenticationError"]},{"text":"impl Freeze for ParseError","synthetic":true,"types":["actix_web_httpauth::headers::authorization::errors::ParseError"]},{"text":"impl<S> Freeze for Authorization<S> where
        S: Freeze, 
    ","synthetic":true,"types":["actix_web_httpauth::headers::authorization::header::Authorization"]},{"text":"impl Freeze for Basic","synthetic":true,"types":["actix_web_httpauth::headers::authorization::scheme::basic::Basic"]},{"text":"impl Freeze for Bearer","synthetic":true,"types":["actix_web_httpauth::headers::authorization::scheme::bearer::Bearer"]},{"text":"impl Freeze for Basic","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::basic::Basic"]},{"text":"impl Freeze for BearerBuilder","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::builder::BearerBuilder"]},{"text":"impl Freeze for Bearer","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::challenge::Bearer"]},{"text":"impl<C> Freeze for WwwAuthenticate<C> where
        C: Freeze, 
    ","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::header::WwwAuthenticate"]},{"text":"impl<T, F> Freeze for HttpAuthentication<T, F>","synthetic":true,"types":["actix_web_httpauth::middleware::HttpAuthentication"]}]; -implementors["prost_example"] = [{"text":"impl Freeze for MyObj","synthetic":true,"types":["prost_example::MyObj"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Send.js b/implementors/core/marker/trait.Send.js index 16e58e02e..af95cc52a 100644 --- a/implementors/core/marker/trait.Send.js +++ b/implementors/core/marker/trait.Send.js @@ -5,5 +5,4 @@ implementors["actix_protobuf"] = [{"text":"impl Send for Command","synthetic":true,"types":["actix_redis::redis::Command"]},{"text":"impl !Send for RedisActor","synthetic":true,"types":["actix_redis::redis::RedisActor"]},{"text":"impl !Send for RedisSession","synthetic":true,"types":["actix_redis::session::RedisSession"]},{"text":"impl Send for Error","synthetic":true,"types":["actix_redis::Error"]}]; implementors["actix_session"] = [{"text":"impl !Send for CookieSession","synthetic":true,"types":["actix_session::cookie::CookieSession"]},{"text":"impl !Send for Session","synthetic":true,"types":["actix_session::Session"]},{"text":"impl Send for SessionStatus","synthetic":true,"types":["actix_session::SessionStatus"]}]; implementors["actix_web_httpauth"] = [{"text":"impl Send for Config","synthetic":true,"types":["actix_web_httpauth::extractors::basic::Config"]},{"text":"impl Send for BasicAuth","synthetic":true,"types":["actix_web_httpauth::extractors::basic::BasicAuth"]},{"text":"impl Send for Error","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::errors::Error"]},{"text":"impl Send for Config","synthetic":true,"types":["actix_web_httpauth::extractors::bearer::Config"]},{"text":"impl Send for BearerAuth","synthetic":true,"types":["actix_web_httpauth::extractors::bearer::BearerAuth"]},{"text":"impl<C> Send for AuthenticationError<C>","synthetic":true,"types":["actix_web_httpauth::extractors::errors::AuthenticationError"]},{"text":"impl Send for ParseError","synthetic":true,"types":["actix_web_httpauth::headers::authorization::errors::ParseError"]},{"text":"impl<S> Send for Authorization<S>","synthetic":true,"types":["actix_web_httpauth::headers::authorization::header::Authorization"]},{"text":"impl Send for Basic","synthetic":true,"types":["actix_web_httpauth::headers::authorization::scheme::basic::Basic"]},{"text":"impl Send for Bearer","synthetic":true,"types":["actix_web_httpauth::headers::authorization::scheme::bearer::Bearer"]},{"text":"impl Send for Basic","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::basic::Basic"]},{"text":"impl Send for BearerBuilder","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::builder::BearerBuilder"]},{"text":"impl Send for Bearer","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::challenge::Bearer"]},{"text":"impl<C> Send for WwwAuthenticate<C>","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::header::WwwAuthenticate"]},{"text":"impl<T, F> Send for HttpAuthentication<T, F> where
        F: Send + Sync,
        T: Send
    ","synthetic":true,"types":["actix_web_httpauth::middleware::HttpAuthentication"]}]; -implementors["prost_example"] = [{"text":"impl Send for MyObj","synthetic":true,"types":["prost_example::MyObj"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.StructuralPartialEq.js b/implementors/core/marker/trait.StructuralPartialEq.js index e997f2eef..8ad584f52 100644 --- a/implementors/core/marker/trait.StructuralPartialEq.js +++ b/implementors/core/marker/trait.StructuralPartialEq.js @@ -1,5 +1,4 @@ (function() {var implementors = {}; implementors["actix_session"] = [{"text":"impl StructuralPartialEq for SessionStatus","synthetic":false,"types":["actix_session::SessionStatus"]}]; implementors["actix_web_httpauth"] = [{"text":"impl<S: Scheme> StructuralPartialEq for Authorization<S>","synthetic":false,"types":["actix_web_httpauth::headers::authorization::header::Authorization"]},{"text":"impl StructuralPartialEq for Basic","synthetic":false,"types":["actix_web_httpauth::headers::authorization::scheme::basic::Basic"]},{"text":"impl StructuralPartialEq for Bearer","synthetic":false,"types":["actix_web_httpauth::headers::authorization::scheme::bearer::Bearer"]},{"text":"impl StructuralPartialEq for Basic","synthetic":false,"types":["actix_web_httpauth::headers::www_authenticate::challenge::basic::Basic"]},{"text":"impl StructuralPartialEq for Bearer","synthetic":false,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::challenge::Bearer"]},{"text":"impl StructuralPartialEq for Error","synthetic":false,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::errors::Error"]},{"text":"impl<C: Challenge> StructuralPartialEq for WwwAuthenticate<C>","synthetic":false,"types":["actix_web_httpauth::headers::www_authenticate::header::WwwAuthenticate"]}]; -implementors["prost_example"] = [{"text":"impl StructuralPartialEq for MyObj","synthetic":false,"types":["prost_example::MyObj"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Sync.js b/implementors/core/marker/trait.Sync.js index a8b75270d..d6ef38ae3 100644 --- a/implementors/core/marker/trait.Sync.js +++ b/implementors/core/marker/trait.Sync.js @@ -5,5 +5,4 @@ implementors["actix_protobuf"] = [{"text":"impl Sync for Command","synthetic":true,"types":["actix_redis::redis::Command"]},{"text":"impl !Sync for RedisActor","synthetic":true,"types":["actix_redis::redis::RedisActor"]},{"text":"impl !Sync for RedisSession","synthetic":true,"types":["actix_redis::session::RedisSession"]},{"text":"impl Sync for Error","synthetic":true,"types":["actix_redis::Error"]}]; implementors["actix_session"] = [{"text":"impl !Sync for CookieSession","synthetic":true,"types":["actix_session::cookie::CookieSession"]},{"text":"impl !Sync for Session","synthetic":true,"types":["actix_session::Session"]},{"text":"impl Sync for SessionStatus","synthetic":true,"types":["actix_session::SessionStatus"]}]; implementors["actix_web_httpauth"] = [{"text":"impl Sync for Config","synthetic":true,"types":["actix_web_httpauth::extractors::basic::Config"]},{"text":"impl Sync for BasicAuth","synthetic":true,"types":["actix_web_httpauth::extractors::basic::BasicAuth"]},{"text":"impl Sync for Error","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::errors::Error"]},{"text":"impl Sync for Config","synthetic":true,"types":["actix_web_httpauth::extractors::bearer::Config"]},{"text":"impl Sync for BearerAuth","synthetic":true,"types":["actix_web_httpauth::extractors::bearer::BearerAuth"]},{"text":"impl<C> Sync for AuthenticationError<C>","synthetic":true,"types":["actix_web_httpauth::extractors::errors::AuthenticationError"]},{"text":"impl Sync for ParseError","synthetic":true,"types":["actix_web_httpauth::headers::authorization::errors::ParseError"]},{"text":"impl<S> Sync for Authorization<S>","synthetic":true,"types":["actix_web_httpauth::headers::authorization::header::Authorization"]},{"text":"impl Sync for Basic","synthetic":true,"types":["actix_web_httpauth::headers::authorization::scheme::basic::Basic"]},{"text":"impl Sync for Bearer","synthetic":true,"types":["actix_web_httpauth::headers::authorization::scheme::bearer::Bearer"]},{"text":"impl Sync for Basic","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::basic::Basic"]},{"text":"impl Sync for BearerBuilder","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::builder::BearerBuilder"]},{"text":"impl Sync for Bearer","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::challenge::Bearer"]},{"text":"impl<C> Sync for WwwAuthenticate<C>","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::header::WwwAuthenticate"]},{"text":"impl<T, F> Sync for HttpAuthentication<T, F> where
        F: Send + Sync,
        T: Sync
    ","synthetic":true,"types":["actix_web_httpauth::middleware::HttpAuthentication"]}]; -implementors["prost_example"] = [{"text":"impl Sync for MyObj","synthetic":true,"types":["prost_example::MyObj"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Unpin.js b/implementors/core/marker/trait.Unpin.js index 1296419f3..719826574 100644 --- a/implementors/core/marker/trait.Unpin.js +++ b/implementors/core/marker/trait.Unpin.js @@ -5,5 +5,4 @@ implementors["actix_protobuf"] = [{"text":"impl Unpin for Command","synthetic":true,"types":["actix_redis::redis::Command"]},{"text":"impl Unpin for RedisActor","synthetic":true,"types":["actix_redis::redis::RedisActor"]},{"text":"impl Unpin for RedisSession","synthetic":true,"types":["actix_redis::session::RedisSession"]},{"text":"impl Unpin for Error","synthetic":true,"types":["actix_redis::Error"]}]; implementors["actix_session"] = [{"text":"impl Unpin for CookieSession","synthetic":true,"types":["actix_session::cookie::CookieSession"]},{"text":"impl Unpin for Session","synthetic":true,"types":["actix_session::Session"]},{"text":"impl Unpin for SessionStatus","synthetic":true,"types":["actix_session::SessionStatus"]}]; implementors["actix_web_httpauth"] = [{"text":"impl Unpin for Config","synthetic":true,"types":["actix_web_httpauth::extractors::basic::Config"]},{"text":"impl Unpin for BasicAuth","synthetic":true,"types":["actix_web_httpauth::extractors::basic::BasicAuth"]},{"text":"impl Unpin for Error","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::errors::Error"]},{"text":"impl Unpin for Config","synthetic":true,"types":["actix_web_httpauth::extractors::bearer::Config"]},{"text":"impl Unpin for BearerAuth","synthetic":true,"types":["actix_web_httpauth::extractors::bearer::BearerAuth"]},{"text":"impl<C> Unpin for AuthenticationError<C> where
        C: Unpin
    ","synthetic":true,"types":["actix_web_httpauth::extractors::errors::AuthenticationError"]},{"text":"impl Unpin for ParseError","synthetic":true,"types":["actix_web_httpauth::headers::authorization::errors::ParseError"]},{"text":"impl<S> Unpin for Authorization<S> where
        S: Unpin
    ","synthetic":true,"types":["actix_web_httpauth::headers::authorization::header::Authorization"]},{"text":"impl Unpin for Basic","synthetic":true,"types":["actix_web_httpauth::headers::authorization::scheme::basic::Basic"]},{"text":"impl Unpin for Bearer","synthetic":true,"types":["actix_web_httpauth::headers::authorization::scheme::bearer::Bearer"]},{"text":"impl Unpin for Basic","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::basic::Basic"]},{"text":"impl Unpin for BearerBuilder","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::builder::BearerBuilder"]},{"text":"impl Unpin for Bearer","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::challenge::Bearer"]},{"text":"impl<C> Unpin for WwwAuthenticate<C> where
        C: Unpin
    ","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::header::WwwAuthenticate"]},{"text":"impl<T, F> Unpin for HttpAuthentication<T, F> where
        T: Unpin
    ","synthetic":true,"types":["actix_web_httpauth::middleware::HttpAuthentication"]}]; -implementors["prost_example"] = [{"text":"impl Unpin for MyObj","synthetic":true,"types":["prost_example::MyObj"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/prost/message/trait.Message.js b/implementors/prost/message/trait.Message.js deleted file mode 100644 index 008a88697..000000000 --- a/implementors/prost/message/trait.Message.js +++ /dev/null @@ -1,3 +0,0 @@ -(function() {var implementors = {}; -implementors["prost_example"] = [{"text":"impl Message for MyObj","synthetic":false,"types":["prost_example::MyObj"]}]; -if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/std/panic/trait.RefUnwindSafe.js b/implementors/std/panic/trait.RefUnwindSafe.js index dca140481..8191ffe3b 100644 --- a/implementors/std/panic/trait.RefUnwindSafe.js +++ b/implementors/std/panic/trait.RefUnwindSafe.js @@ -5,5 +5,4 @@ implementors["actix_protobuf"] = [{"text":"impl !RefUnwindSafe for Command","synthetic":true,"types":["actix_redis::redis::Command"]},{"text":"impl !RefUnwindSafe for RedisActor","synthetic":true,"types":["actix_redis::redis::RedisActor"]},{"text":"impl !RefUnwindSafe for RedisSession","synthetic":true,"types":["actix_redis::session::RedisSession"]},{"text":"impl !RefUnwindSafe for Error","synthetic":true,"types":["actix_redis::Error"]}]; implementors["actix_session"] = [{"text":"impl !RefUnwindSafe for CookieSession","synthetic":true,"types":["actix_session::cookie::CookieSession"]},{"text":"impl !RefUnwindSafe for Session","synthetic":true,"types":["actix_session::Session"]},{"text":"impl RefUnwindSafe for SessionStatus","synthetic":true,"types":["actix_session::SessionStatus"]}]; implementors["actix_web_httpauth"] = [{"text":"impl RefUnwindSafe for Config","synthetic":true,"types":["actix_web_httpauth::extractors::basic::Config"]},{"text":"impl RefUnwindSafe for BasicAuth","synthetic":true,"types":["actix_web_httpauth::extractors::basic::BasicAuth"]},{"text":"impl RefUnwindSafe for Error","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::errors::Error"]},{"text":"impl RefUnwindSafe for Config","synthetic":true,"types":["actix_web_httpauth::extractors::bearer::Config"]},{"text":"impl RefUnwindSafe for BearerAuth","synthetic":true,"types":["actix_web_httpauth::extractors::bearer::BearerAuth"]},{"text":"impl<C> RefUnwindSafe for AuthenticationError<C> where
        C: RefUnwindSafe
    ","synthetic":true,"types":["actix_web_httpauth::extractors::errors::AuthenticationError"]},{"text":"impl RefUnwindSafe for ParseError","synthetic":true,"types":["actix_web_httpauth::headers::authorization::errors::ParseError"]},{"text":"impl<S> RefUnwindSafe for Authorization<S> where
        S: RefUnwindSafe
    ","synthetic":true,"types":["actix_web_httpauth::headers::authorization::header::Authorization"]},{"text":"impl RefUnwindSafe for Basic","synthetic":true,"types":["actix_web_httpauth::headers::authorization::scheme::basic::Basic"]},{"text":"impl RefUnwindSafe for Bearer","synthetic":true,"types":["actix_web_httpauth::headers::authorization::scheme::bearer::Bearer"]},{"text":"impl RefUnwindSafe for Basic","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::basic::Basic"]},{"text":"impl RefUnwindSafe for BearerBuilder","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::builder::BearerBuilder"]},{"text":"impl RefUnwindSafe for Bearer","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::challenge::Bearer"]},{"text":"impl<C> RefUnwindSafe for WwwAuthenticate<C> where
        C: RefUnwindSafe
    ","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::header::WwwAuthenticate"]},{"text":"impl<T, F> RefUnwindSafe for HttpAuthentication<T, F> where
        F: RefUnwindSafe,
        T: RefUnwindSafe
    ","synthetic":true,"types":["actix_web_httpauth::middleware::HttpAuthentication"]}]; -implementors["prost_example"] = [{"text":"impl RefUnwindSafe for MyObj","synthetic":true,"types":["prost_example::MyObj"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/std/panic/trait.UnwindSafe.js b/implementors/std/panic/trait.UnwindSafe.js index f6bc7ea41..382c01805 100644 --- a/implementors/std/panic/trait.UnwindSafe.js +++ b/implementors/std/panic/trait.UnwindSafe.js @@ -5,5 +5,4 @@ implementors["actix_protobuf"] = [{"text":"impl !UnwindSafe for Command","synthetic":true,"types":["actix_redis::redis::Command"]},{"text":"impl !UnwindSafe for RedisActor","synthetic":true,"types":["actix_redis::redis::RedisActor"]},{"text":"impl !UnwindSafe for RedisSession","synthetic":true,"types":["actix_redis::session::RedisSession"]},{"text":"impl !UnwindSafe for Error","synthetic":true,"types":["actix_redis::Error"]}]; implementors["actix_session"] = [{"text":"impl UnwindSafe for CookieSession","synthetic":true,"types":["actix_session::cookie::CookieSession"]},{"text":"impl !UnwindSafe for Session","synthetic":true,"types":["actix_session::Session"]},{"text":"impl UnwindSafe for SessionStatus","synthetic":true,"types":["actix_session::SessionStatus"]}]; implementors["actix_web_httpauth"] = [{"text":"impl UnwindSafe for Config","synthetic":true,"types":["actix_web_httpauth::extractors::basic::Config"]},{"text":"impl UnwindSafe for BasicAuth","synthetic":true,"types":["actix_web_httpauth::extractors::basic::BasicAuth"]},{"text":"impl UnwindSafe for Error","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::errors::Error"]},{"text":"impl UnwindSafe for Config","synthetic":true,"types":["actix_web_httpauth::extractors::bearer::Config"]},{"text":"impl UnwindSafe for BearerAuth","synthetic":true,"types":["actix_web_httpauth::extractors::bearer::BearerAuth"]},{"text":"impl<C> UnwindSafe for AuthenticationError<C> where
        C: UnwindSafe
    ","synthetic":true,"types":["actix_web_httpauth::extractors::errors::AuthenticationError"]},{"text":"impl UnwindSafe for ParseError","synthetic":true,"types":["actix_web_httpauth::headers::authorization::errors::ParseError"]},{"text":"impl<S> UnwindSafe for Authorization<S> where
        S: UnwindSafe
    ","synthetic":true,"types":["actix_web_httpauth::headers::authorization::header::Authorization"]},{"text":"impl UnwindSafe for Basic","synthetic":true,"types":["actix_web_httpauth::headers::authorization::scheme::basic::Basic"]},{"text":"impl UnwindSafe for Bearer","synthetic":true,"types":["actix_web_httpauth::headers::authorization::scheme::bearer::Bearer"]},{"text":"impl UnwindSafe for Basic","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::basic::Basic"]},{"text":"impl UnwindSafe for BearerBuilder","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::builder::BearerBuilder"]},{"text":"impl UnwindSafe for Bearer","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::challenge::bearer::challenge::Bearer"]},{"text":"impl<C> UnwindSafe for WwwAuthenticate<C> where
        C: UnwindSafe
    ","synthetic":true,"types":["actix_web_httpauth::headers::www_authenticate::header::WwwAuthenticate"]},{"text":"impl<T, F> UnwindSafe for HttpAuthentication<T, F> where
        F: RefUnwindSafe,
        T: UnwindSafe
    ","synthetic":true,"types":["actix_web_httpauth::middleware::HttpAuthentication"]}]; -implementors["prost_example"] = [{"text":"impl UnwindSafe for MyObj","synthetic":true,"types":["prost_example::MyObj"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/light.css b/light.css index b7b8bca9e..ce8d94a3d 100644 --- a/light.css +++ b/light.css @@ -1 +1 @@ - body{background-color:white;color:black;}h1,h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){color:black;}h1.fqn{border-bottom-color:#D5D5D5;}h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){border-bottom-color:#DDDDDD;}.in-band{background-color:white;}.invisible{background:rgba(0,0,0,0);}.docblock code,.docblock-short code{background-color:#F5F5F5;}pre{background-color:#F5F5F5;}.sidebar{background-color:#F1F1F1;}*{scrollbar-color:rgba(36,37,39,0.6) #e6e6e6;}.sidebar{scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;}.logo-container.rust-logo>img{}::-webkit-scrollbar-track{background-color:#ecebeb;}::-webkit-scrollbar-thumb{background-color:rgba(36,37,39,0.6);}.sidebar::-webkit-scrollbar-track{background-color:#dcdcdc;}.sidebar::-webkit-scrollbar-thumb{background-color:rgba(36,37,39,0.6);}.sidebar .current{background-color:#fff;}.source .sidebar{background-color:#fff;}.sidebar .location{border-color:#000;background-color:#fff;color:#333;}.sidebar .version{border-bottom-color:#DDD;}.sidebar-title{border-top-color:#777;border-bottom-color:#777;}.block a:hover{background:#F5F5F5;}.line-numbers span{color:#c67e2d;}.line-numbers .line-highlighted{background-color:#f6fdb0 !important;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5{border-bottom-color:#ddd;}.docblock table,.docblock table td,.docblock table th{border-color:#ddd;}.content .method .where,.content .fn .where,.content .where.fmt-newline{color:#4E4C4C;}.content .highlighted{color:#000 !important;background-color:#ccc;}.content .highlighted a,.content .highlighted span{color:#000 !important;}.content .highlighted.trait{background-color:#c7b6ff;}.content .highlighted.traitalias{background-color:#c7b6ff;}.content .highlighted.mod,.content .highlighted.externcrate{background-color:#afc6e4;}.content .highlighted.enum{background-color:#b4d1b9;}.content .highlighted.struct{background-color:#e7b1a0;}.content .highlighted.union{background-color:#b7bd49;}.content .highlighted.fn,.content .highlighted.method,.content .highlighted.tymethod{background-color:#c6afb3;}.content .highlighted.type{background-color:#ffc891;}.content .highlighted.foreigntype{background-color:#f5c4ff;}.content .highlighted.attr,.content .highlighted.derive,.content .highlighted.macro{background-color:#8ce488;}.content .highlighted.constant,.content .highlighted.static{background-color:#c3e0ff;}.content .highlighted.primitive{background-color:#9aecff;}.content .highlighted.keyword{background-color:#f99650;}.content .item-info::before{color:#ccc;}.content span.enum,.content a.enum,.block a.current.enum{color:#508157;}.content span.struct,.content a.struct,.block a.current.struct{color:#ad448e;}.content span.type,.content a.type,.block a.current.type{color:#ba5d00;}.content span.foreigntype,.content a.foreigntype,.block a.current.foreigntype{color:#cd00e2;}.content span.attr,.content a.attr,.block a.current.attr,.content span.derive,.content a.derive,.block a.current.derive,.content span.macro,.content a.macro,.block a.current.macro{color:#068000;}.content span.union,.content a.union,.block a.current.union{color:#767b27;}.content span.constant,.content a.constant,.block a.current.constant,.content span.static,.content a.static,.block a.current.static{color:#546e8a;}.content span.primitive,.content a.primitive,.block a.current.primitive{color:#2c8093;}.content span.externcrate,.content span.mod,.content a.mod,.block a.current.mod{color:#4d76ae;}.content span.trait,.content a.trait,.block a.current.trait{color:#7c5af3;}.content span.traitalias,.content a.traitalias,.block a.current.traitalias{color:#6841f1;}.content span.fn,.content a.fn,.block a.current.fn,.content span.method,.content a.method,.block a.current.method,.content span.tymethod,.content a.tymethod,.block a.current.tymethod,.content .fnname{color:#9a6e31;}.content span.keyword,.content a.keyword,.block a.current.keyword{color:#de5249;}pre.rust .comment{color:#8E908C;}pre.rust .doccomment{color:#4D4D4C;}nav:not(.sidebar){border-bottom-color:#e0e0e0;}nav.main .current{border-top-color:#000;border-bottom-color:#000;}nav.main .separator{border:1px solid #000;}a{color:#000;}.docblock:not(.type-decl) a:not(.srclink):not(.test-arrow),.docblock-short a:not(.srclink):not(.test-arrow),.item-info a,#help a{color:#3873AD;}a.test-arrow{color:#f5f5f5;}.collapse-toggle{color:#999;}#crate-search{color:#555;background-color:white;border-color:#e0e0e0;box-shadow:0 0 0 1px #e0e0e0,0 0 0 2px transparent;}.search-input{color:#555;background-color:white;box-shadow:0 0 0 1px #e0e0e0,0 0 0 2px transparent;}.search-input:focus{border-color:#66afe9;}.search-focus:disabled{background-color:#e6e6e6;}#crate-search+.search-input:focus{box-shadow:0 0 8px #078dd8;}.module-item .stab{color:#000;}.stab.unstable{background:#FFF5D6;border-color:#FFC600;}.stab.deprecated{background:#ffc4c4;border-color:#db7b7b;}.stab.portability{background:#F3DFFF;border-color:#b07bdb;}.stab.portability>code{background:none;}#help>div{background:#e9e9e9;border-color:#bfbfbf;}#help>div>span{border-bottom-color:#bfbfbf;}.since{color:grey;}tr.result span.primitive::after,tr.result span.keyword::after{color:black;}.line-numbers :target{background-color:transparent;}pre.rust .kw{color:#8959A8;}pre.rust .kw-2,pre.rust .prelude-ty{color:#4271AE;}pre.rust .number,pre.rust .string{color:#718C00;}pre.rust .self,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .attribute,pre.rust .attribute .ident{color:#C82829;}pre.rust .macro,pre.rust .macro-nonterminal{color:#3E999F;}pre.rust .lifetime{color:#B76514;}pre.rust .question-mark{color:#ff9011;}.example-wrap>pre.line-number{border-color:#c7c7c7;}a.test-arrow{background-color:rgba(78,139,202,0.2);}a.test-arrow:hover{background-color:#4e8bca;}.toggle-label{color:#999;}:target>code,:target>.in-band{background:#FDFFD3;border-right:3px solid #ffb44c;}pre.compile_fail{border-left:2px solid rgba(255,0,0,.5);}pre.compile_fail:hover,.information:hover+pre.compile_fail{border-left:2px solid #f00;}pre.should_panic{border-left:2px solid rgba(255,0,0,.5);}pre.should_panic:hover,.information:hover+pre.should_panic{border-left:2px solid #f00;}pre.ignore{border-left:2px solid rgba(255,142,0,.6);}pre.ignore:hover,.information:hover+pre.ignore{border-left:2px solid #ff9200;}.tooltip.compile_fail{color:rgba(255,0,0,.5);}.information>.compile_fail:hover{color:#f00;}.tooltip.should_panic{color:rgba(255,0,0,.5);}.information>.should_panic:hover{color:#f00;}.tooltip.ignore{color:rgba(255,142,0,.6);}.information>.ignore:hover{color:#ff9200;}.search-failed a{color:#0089ff;}.tooltip::after{background-color:#000;color:#fff;}.tooltip::before{border-color:transparent black transparent transparent;}.notable-traits-tooltiptext{background-color:#eee;border-color:#999;}#titles>button:not(.selected){background-color:#e6e6e6;border-top-color:#e6e6e6;}#titles>button:hover,#titles>button.selected{background-color:#ffffff;border-top-color:#0089ff;}#titles>button>div.count{color:#888;}@media (max-width:700px){.sidebar-menu{background-color:#F1F1F1;border-bottom-color:#e0e0e0;border-right-color:#e0e0e0;}.sidebar-elems{background-color:#F1F1F1;border-right-color:#000;}#sidebar-filler{background-color:#F1F1F1;border-bottom-color:#e0e0e0;}}kbd{color:#000;background-color:#fafbfc;border-color:#d1d5da;border-bottom-color:#c6cbd1;box-shadow-color:#c6cbd1;}#theme-picker,#settings-menu,.help-button,#copy-path{border-color:#e0e0e0;background-color:#fff;}#theme-picker:hover,#theme-picker:focus,#settings-menu:hover,#settings-menu:focus,.help-button:hover,.help-button:focus,#copy-path:hover,#copy-path:focus{border-color:#717171;}#theme-choices{border-color:#ccc;background-color:#fff;}#theme-choices>button:not(:first-child){border-top-color:#e0e0e0;}#theme-choices>button:hover,#theme-choices>button:focus{background-color:#eee;}@media (max-width:700px){#theme-picker{background:#fff;}}#all-types{background-color:#fff;}#all-types:hover{background-color:#f9f9f9;}.search-results td span.alias{color:#000;}.search-results td span.grey{color:#999;}#sidebar-toggle{background-color:#F1F1F1;}#sidebar-toggle:hover{background-color:#E0E0E0;}#source-sidebar{background-color:#F1F1F1;}#source-sidebar>.title{border-bottom-color:#ccc;}div.files>a:hover,div.name:hover{background-color:#E0E0E0;}div.files>.selected{background-color:#fff;}.setting-line>.title{border-bottom-color:#D5D5D5;} \ No newline at end of file + body{background-color:white;color:black;}h1,h2,h3,h4{color:black;}h1.fqn{border-bottom-color:#D5D5D5;}h2,h3,h4{border-bottom-color:#DDDDDD;}.in-band{background-color:white;}.invisible{background:rgba(0,0,0,0);}.docblock code,.docblock-short code{background-color:#F5F5F5;}pre,.rustdoc.source .example-wrap{background-color:#F5F5F5;}.sidebar{background-color:#F1F1F1;}*{scrollbar-color:rgba(36,37,39,0.6) #e6e6e6;}.sidebar{scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;}.logo-container.rust-logo>img{}::-webkit-scrollbar-track{background-color:#ecebeb;}::-webkit-scrollbar-thumb{background-color:rgba(36,37,39,0.6);}.sidebar::-webkit-scrollbar-track{background-color:#dcdcdc;}.sidebar::-webkit-scrollbar-thumb{background-color:rgba(36,37,39,0.6);}.sidebar .current{background-color:#fff;}.source .sidebar{background-color:#fff;}.sidebar .location{border-color:#000;background-color:#fff;color:#333;}.sidebar .version{border-bottom-color:#DDD;}.sidebar-title{border-top-color:#777;border-bottom-color:#777;}.block a:hover{background:#F5F5F5;}.line-numbers span{color:#c67e2d;}.line-numbers .line-highlighted{background-color:#f6fdb0 !important;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5{border-bottom-color:#ddd;}.docblock table,.docblock table td,.docblock table th{border-color:#ddd;}.content .method .where,.content .fn .where,.content .where.fmt-newline{color:#4E4C4C;}.search-results a:hover{background-color:#ddd;}.search-results a:focus{color:#000 !important;background-color:#ccc;}.search-results a:focus span{color:#000 !important;}a.result-trait:focus{background-color:#c7b6ff;}a.result-traitalias:focus{background-color:#c7b6ff;}a.result-mod:focus,a.result-externcrate:focus{background-color:#afc6e4;}a.result-enum:focus{background-color:#b4d1b9;}a.result-struct:focus{background-color:#e7b1a0;}a.result-union:focus{background-color:#b7bd49;}a.result-fn:focus,a.result-method:focus,a.result-tymethod:focus{background-color:#c6afb3;}a.result-type:focus{background-color:#ffc891;}a.result-foreigntype:focus{background-color:#f5c4ff;}a.result-attr:focus,a.result-derive:focus,a.result-macro:focus{background-color:#8ce488;}a.result-constant:focus,a.result-static:focus{background-color:#c3e0ff;}a.result-primitive:focus{background-color:#9aecff;}a.result-keyword:focus{background-color:#f99650;}.content .item-info::before{color:#ccc;}.content span.enum,.content a.enum,.block a.current.enum{color:#508157;}.content span.struct,.content a.struct,.block a.current.struct{color:#ad448e;}.content span.type,.content a.type,.block a.current.type{color:#ba5d00;}.content span.foreigntype,.content a.foreigntype,.block a.current.foreigntype{color:#cd00e2;}.content span.attr,.content a.attr,.block a.current.attr,.content span.derive,.content a.derive,.block a.current.derive,.content span.macro,.content a.macro,.block a.current.macro{color:#068000;}.content span.union,.content a.union,.block a.current.union{color:#767b27;}.content span.constant,.content a.constant,.block a.current.constant,.content span.static,.content a.static,.block a.current.static{color:#546e8a;}.content span.primitive,.content a.primitive,.block a.current.primitive{color:#2c8093;}.content span.externcrate,.content span.mod,.content a.mod,.block a.current.mod{color:#4d76ae;}.content span.trait,.content a.trait,.block a.current.trait{color:#7c5af3;}.content span.traitalias,.content a.traitalias,.block a.current.traitalias{color:#6841f1;}.content span.fn,.content a.fn,.block a.current.fn,.content span.method,.content a.method,.block a.current.method,.content span.tymethod,.content a.tymethod,.block a.current.tymethod,.content .fnname{color:#9a6e31;}.content span.keyword,.content a.keyword,.block a.current.keyword{color:#de5249;}pre.rust .comment{color:#8E908C;}pre.rust .doccomment{color:#4D4D4C;}nav:not(.sidebar){border-bottom-color:#e0e0e0;}nav.main .current{border-top-color:#000;border-bottom-color:#000;}nav.main .separator{border:1px solid #000;}a{color:#000;}.docblock:not(.type-decl) a:not(.srclink):not(.test-arrow),.docblock-short a:not(.srclink):not(.test-arrow),.item-info a,#help a{color:#3873AD;}a.test-arrow{color:#f5f5f5;}details.rustdoc-toggle>summary.hideme>span,details.rustdoc-toggle>summary::before,details.undocumented>summary::before{color:#999;}#crate-search{color:#555;background-color:white;border-color:#e0e0e0;box-shadow:0 0 0 1px #e0e0e0,0 0 0 2px transparent;}.search-input{color:#555;background-color:white;box-shadow:0 0 0 1px #e0e0e0,0 0 0 2px transparent;}.search-input:focus{border-color:#66afe9;}.search-input:disabled{background-color:#e6e6e6;}#crate-search+.search-input:focus{box-shadow:0 0 8px #078dd8;}.module-item .stab,.import-item .stab{color:#000;}.stab.unstable{background:#FFF5D6;border-color:#FFC600;}.stab.deprecated{background:#ffc4c4;border-color:#db7b7b;}.stab.portability{background:#F3DFFF;border-color:#b07bdb;}.stab.portability>code{background:none;}#help>div{background:#e9e9e9;border-color:#bfbfbf;}#help>div>span{border-bottom-color:#bfbfbf;}.since{color:grey;}tr.result span.primitive::after,tr.result span.keyword::after{color:black;}.line-numbers :target{background-color:transparent;}pre.rust .kw{color:#8959A8;}pre.rust .kw-2,pre.rust .prelude-ty{color:#4271AE;}pre.rust .number,pre.rust .string{color:#718C00;}pre.rust .self,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .attribute,pre.rust .attribute .ident{color:#C82829;}pre.rust .macro,pre.rust .macro-nonterminal{color:#3E999F;}pre.rust .lifetime{color:#B76514;}pre.rust .question-mark{color:#ff9011;}.example-wrap>pre.line-number{border-color:#c7c7c7;}a.test-arrow{background-color:rgba(78,139,202,0.2);}a.test-arrow:hover{background-color:#4e8bca;}.toggle-label,.code-attribute{color:#999;}:target,:target*{background:#FDFFD3;}:target{border-right:3px solid #ffb44c;}pre.compile_fail{border-left:2px solid rgba(255,0,0,.5);}pre.compile_fail:hover,.information:hover+pre.compile_fail{border-left:2px solid #f00;}pre.should_panic{border-left:2px solid rgba(255,0,0,.5);}pre.should_panic:hover,.information:hover+pre.should_panic{border-left:2px solid #f00;}pre.ignore{border-left:2px solid rgba(255,142,0,.6);}pre.ignore:hover,.information:hover+pre.ignore{border-left:2px solid #ff9200;}.tooltip.compile_fail{color:rgba(255,0,0,.5);}.information>.compile_fail:hover{color:#f00;}.tooltip.should_panic{color:rgba(255,0,0,.5);}.information>.should_panic:hover{color:#f00;}.tooltip.ignore{color:rgba(255,142,0,.6);}.information>.ignore:hover{color:#ff9200;}.search-failed a{color:#0089ff;}.tooltip::after{background-color:#000;color:#fff;}.tooltip::before{border-color:transparent black transparent transparent;}.notable-traits-tooltiptext{background-color:#eee;border-color:#999;}.notable-traits-tooltiptext .notable{border-bottom-color:#DDDDDD;}#titles>button:not(.selected){background-color:#e6e6e6;border-top-color:#e6e6e6;}#titles>button:hover,#titles>button.selected{background-color:#ffffff;border-top-color:#0089ff;}#titles>button>div.count{color:#888;}@media (max-width:700px){.sidebar-menu{background-color:#F1F1F1;border-bottom-color:#e0e0e0;border-right-color:#e0e0e0;}.sidebar-elems{background-color:#F1F1F1;border-right-color:#000;}#sidebar-filler{background-color:#F1F1F1;border-bottom-color:#e0e0e0;}}kbd{color:#000;background-color:#fafbfc;border-color:#d1d5da;border-bottom-color:#c6cbd1;box-shadow-color:#c6cbd1;}#theme-picker,#settings-menu,#help-button{border-color:#e0e0e0;background-color:#fff;}#theme-picker:hover,#theme-picker:focus,#settings-menu:hover,#settings-menu:focus,#help-button:hover,#help-button:focus{border-color:#717171;}#copy-path{color:#999;}#copy-path>img{filter:invert(50%);}#copy-path:hover>img{filter:invert(35%);}#theme-choices{border-color:#ccc;background-color:#fff;}#theme-choices>button:not(:first-child){border-top-color:#e0e0e0;}#theme-choices>button:hover,#theme-choices>button:focus{background-color:#eee;}@media (max-width:700px){#theme-picker{background:#fff;}}#all-types{background-color:#fff;}#all-types:hover{background-color:#f9f9f9;}.search-results .result-name span.alias{color:#000;}.search-results .result-name span.grey{color:#999;}#sidebar-toggle{background-color:#F1F1F1;}#sidebar-toggle:hover{background-color:#E0E0E0;}#source-sidebar{background-color:#F1F1F1;}#source-sidebar>.title{border-bottom-color:#ccc;}div.files>a:hover,div.name:hover{background-color:#E0E0E0;}div.files>.selected{background-color:#fff;}.setting-line>.title{border-bottom-color:#D5D5D5;} \ No newline at end of file diff --git a/main.js b/main.js index b2163ddc0..eaae31edb 100644 --- a/main.js +++ b/main.js @@ -1,8 +1,8 @@ -if(!String.prototype.startsWith){String.prototype.startsWith=function(searchString,position){position=position||0;return this.indexOf(searchString,position)===position}}if(!String.prototype.endsWith){String.prototype.endsWith=function(suffix,length){var l=length||this.length;return this.indexOf(suffix,l-suffix.length)!==-1}}if(!DOMTokenList.prototype.add){DOMTokenList.prototype.add=function(className){if(className&&!hasClass(this,className)){if(this.className&&this.className.length>0){this.className+=" "+className}else{this.className=className}}}}if(!DOMTokenList.prototype.remove){DOMTokenList.prototype.remove=function(className){if(className&&this.className){this.className=(" "+this.className+" ").replace(" "+className+" "," ").trim()}}}(function(){var rustdocVars=document.getElementById("rustdoc-vars");if(rustdocVars){window.rootPath=rustdocVars.attributes["data-root-path"].value;window.currentCrate=rustdocVars.attributes["data-current-crate"].value;window.searchJS=rustdocVars.attributes["data-search-js"].value}var sidebarVars=document.getElementById("sidebar-vars");if(sidebarVars){window.sidebarCurrent={name:sidebarVars.attributes["data-name"].value,ty:sidebarVars.attributes["data-ty"].value,relpath:sidebarVars.attributes["data-relpath"].value,}}}());function getVirtualKey(ev){if("key"in ev&&typeof ev.key!="undefined"){return ev.key}var c=ev.charCode||ev.keyCode;if(c==27){return"Escape"}return String.fromCharCode(c)}function getSearchInput(){return document.getElementsByClassName("search-input")[0]}function getSearchElement(){return document.getElementById("search")}var THEME_PICKER_ELEMENT_ID="theme-picker";var THEMES_ELEMENT_ID="theme-choices";function getThemesElement(){return document.getElementById(THEMES_ELEMENT_ID)}function getThemePickerElement(){return document.getElementById(THEME_PICKER_ELEMENT_ID)}function getNakedUrl(){return window.location.href.split("?")[0].split("#")[0]}function focusSearchBar(){getSearchInput().focus()}function defocusSearchBar(){getSearchInput().blur()}function showThemeButtonState(){var themePicker=getThemePickerElement();var themeChoices=getThemesElement();themeChoices.style.display="block";themePicker.style.borderBottomRightRadius="0";themePicker.style.borderBottomLeftRadius="0"}function hideThemeButtonState(){var themePicker=getThemePickerElement();var themeChoices=getThemesElement();themeChoices.style.display="none";themePicker.style.borderBottomRightRadius="3px";themePicker.style.borderBottomLeftRadius="3px"}(function(){var themeChoices=getThemesElement();var themePicker=getThemePickerElement();var availableThemes=["ayu","dark","light"];function switchThemeButtonState(){if(themeChoices.style.display==="block"){hideThemeButtonState()}else{showThemeButtonState()}}function handleThemeButtonsBlur(e){var active=document.activeElement;var related=e.relatedTarget;if(active.id!==THEME_PICKER_ELEMENT_ID&&(!active.parentNode||active.parentNode.id!==THEMES_ELEMENT_ID)&&(!related||(related.id!==THEME_PICKER_ELEMENT_ID&&(!related.parentNode||related.parentNode.id!==THEMES_ELEMENT_ID)))){hideThemeButtonState()}}themePicker.onclick=switchThemeButtonState;themePicker.onblur=handleThemeButtonsBlur;availableThemes.forEach(function(item){var but=document.createElement("button");but.textContent=item;but.onclick=function(){switchTheme(window.currentTheme,window.mainTheme,item,true);useSystemTheme(false)};but.onblur=handleThemeButtonsBlur;themeChoices.appendChild(but)})}());(function(){"use strict";var itemTypes=["mod","externcrate","import","struct","enum","fn","type","static","trait","impl","tymethod","method","structfield","variant","macro","primitive","associatedtype","constant","associatedconstant","union","foreigntype","keyword","existential","attr","derive","traitalias"];var disableShortcuts=getSettingValue("disable-shortcuts")==="true";var search_input=getSearchInput();var searchTimeout=null;var toggleAllDocsId="toggle-all-docs";var currentTab=0;var mouseMovedAfterSearch=true;var titleBeforeSearch=document.title;var searchTitle=null;function removeEmptyStringsFromArray(x){for(var i=0,len=x.length;i0){return tmp}}return null}function showSidebar(){var elems=document.getElementsByClassName("sidebar-elems")[0];if(elems){addClass(elems,"show-it")}var sidebar=document.getElementsByClassName("sidebar")[0];if(sidebar){addClass(sidebar,"mobile");var filler=document.getElementById("sidebar-filler");if(!filler){var div=document.createElement("div");div.id="sidebar-filler";sidebar.appendChild(div)}}}function hideSidebar(){var elems=document.getElementsByClassName("sidebar-elems")[0];if(elems){removeClass(elems,"show-it")}var sidebar=document.getElementsByClassName("sidebar")[0];removeClass(sidebar,"mobile");var filler=document.getElementById("sidebar-filler");if(filler){filler.remove()}document.getElementsByTagName("body")[0].style.marginTop=""}function showSearchResults(search){if(search===null||typeof search==='undefined'){search=getSearchElement()}addClass(main,"hidden");removeClass(search,"hidden");mouseMovedAfterSearch=false;document.title=searchTitle}function hideSearchResults(search){if(search===null||typeof search==='undefined'){search=getSearchElement()}addClass(search,"hidden");removeClass(main,"hidden");document.title=titleBeforeSearch;if(browserSupportsHistoryApi()){history.replaceState("",window.currentCrate+" - Rust",getNakedUrl()+window.location.hash)}}var TY_PRIMITIVE=itemTypes.indexOf("primitive");var TY_KEYWORD=itemTypes.indexOf("keyword");function getQueryStringParams(){var params={};window.location.search.substring(1).split("&").map(function(s){var pair=s.split("=");params[decodeURIComponent(pair[0])]=typeof pair[1]==="undefined"?null:decodeURIComponent(pair[1])});return params}function browserSupportsHistoryApi(){return window.history&&typeof window.history.pushState==="function"}function isHidden(elem){return elem.offsetHeight===0}var main=document.getElementById("main");var savedHash="";function handleHashes(ev){var elem;var search=getSearchElement();if(ev!==null&&search&&!hasClass(search,"hidden")&&ev.newURL){hideSearchResults(search);var hash=ev.newURL.slice(ev.newURL.indexOf("#")+1);if(browserSupportsHistoryApi()){history.replaceState(hash,"",getNakedUrl()+window.location.search+"#"+hash)}elem=document.getElementById(hash);if(elem){elem.scrollIntoView()}}if(savedHash!==window.location.hash){savedHash=window.location.hash;if(savedHash.length===0){return}elem=document.getElementById(savedHash.slice(1));if(!elem||!isHidden(elem)){return}var parent=elem.parentNode;if(parent&&hasClass(parent,"impl-items")){onEachLazy(parent.getElementsByClassName("collapsed"),function(e){if(e.parentNode===parent){e.click();return true}});if(isHidden(elem)){if(hasClass(parent.lastElementChild,"collapse-toggle")){parent.lastElementChild.click()}}}}}function highlightSourceLines(match,ev){if(typeof match==="undefined"){hideSidebar();match=window.location.hash.match(/^#?(\d+)(?:-(\d+))?$/)}if(!match){return}var from=parseInt(match[1],10);var to=from;if(typeof match[2]!=="undefined"){to=parseInt(match[2],10)}if(to0){collapseDocs(collapses[0],"show")}}}}function getHelpElement(build){if(build!==false){buildHelperPopup()}return document.getElementById("help")}function displayHelp(display,ev,help){if(display===true){help=help?help:getHelpElement(true);if(hasClass(help,"hidden")){ev.preventDefault();removeClass(help,"hidden");addClass(document.body,"blur")}}else{help=help?help:getHelpElement(false);if(help&&hasClass(help,"hidden")===false){ev.preventDefault();addClass(help,"hidden");removeClass(document.body,"blur")}}}function handleEscape(ev){var help=getHelpElement(false);var search=getSearchElement();if(hasClass(help,"hidden")===false){displayHelp(false,ev,help)}else if(hasClass(search,"hidden")===false){clearInputTimeout();ev.preventDefault();hideSearchResults(search)}defocusSearchBar();hideThemeButtonState()}function handleShortcut(ev){if(ev.ctrlKey||ev.altKey||ev.metaKey||disableShortcuts===true){return}if(document.activeElement.tagName==="INPUT"){switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break}}else{switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break;case"s":case"S":displayHelp(false,ev);ev.preventDefault();focusSearchBar();break;case"+":case"-":ev.preventDefault();toggleAllDocs();break;case"?":displayHelp(true,ev);break;case"t":case"T":displayHelp(false,ev);ev.preventDefault();var themePicker=getThemePickerElement();themePicker.click();themePicker.focus();break;default:if(getThemePickerElement().parentNode.contains(ev.target)){handleThemeKeyDown(ev)}}}}function handleThemeKeyDown(ev){var active=document.activeElement;var themes=getThemesElement();switch(getVirtualKey(ev)){case"ArrowUp":ev.preventDefault();if(active.previousElementSibling&&ev.target.id!==THEME_PICKER_ELEMENT_ID){active.previousElementSibling.focus()}else{showThemeButtonState();themes.lastElementChild.focus()}break;case"ArrowDown":ev.preventDefault();if(active.nextElementSibling&&ev.target.id!==THEME_PICKER_ELEMENT_ID){active.nextElementSibling.focus()}else{showThemeButtonState();themes.firstElementChild.focus()}break;case"Enter":case"Return":case"Space":if(ev.target.id===THEME_PICKER_ELEMENT_ID&&themes.style.display==="none"){ev.preventDefault();showThemeButtonState();themes.firstElementChild.focus()}break;case"Home":ev.preventDefault();themes.firstElementChild.focus();break;case"End":ev.preventDefault();themes.lastElementChild.focus();break}}function findParentElement(elem,tagName){do{if(elem&&elem.tagName===tagName){return elem}elem=elem.parentNode}while(elem);return null}document.addEventListener("keypress",handleShortcut);document.addEventListener("keydown",handleShortcut);document.addEventListener("mousemove",function(){mouseMovedAfterSearch=true});var handleSourceHighlight=(function(){var prev_line_id=0;var set_fragment=function(name){var x=window.scrollX,y=window.scrollY;if(browserSupportsHistoryApi()){history.replaceState(null,null,"#"+name);highlightSourceLines()}else{location.replace("#"+name)}window.scrollTo(x,y)};return function(ev){var cur_line_id=parseInt(ev.target.id,10);ev.preventDefault();if(ev.shiftKey&&prev_line_id){if(prev_line_id>cur_line_id){var tmp=prev_line_id;prev_line_id=cur_line_id;cur_line_id=tmp}set_fragment(prev_line_id+"-"+cur_line_id)}else{prev_line_id=cur_line_id;set_fragment(cur_line_id)}}}());document.addEventListener("click",function(ev){var helpElem=getHelpElement(false);if(hasClass(ev.target,"help-button")){displayHelp(true,ev)}else if(hasClass(ev.target,"collapse-toggle")){collapseDocs(ev.target,"toggle")}else if(hasClass(ev.target.parentNode,"collapse-toggle")){collapseDocs(ev.target.parentNode,"toggle")}else if(ev.target.tagName==="SPAN"&&hasClass(ev.target.parentNode,"line-numbers")){handleSourceHighlight(ev)}else if(helpElem&&hasClass(helpElem,"hidden")===false){var is_inside_help_popup=ev.target!==helpElem&&helpElem.contains(ev.target);if(is_inside_help_popup===false){addClass(helpElem,"hidden");removeClass(document.body,"blur")}}else{var a=findParentElement(ev.target,"A");if(a&&a.hash){expandSection(a.hash.replace(/^#/,""))}}});(function(){var x=document.getElementsByClassName("version-selector");if(x.length>0){x[0].onchange=function(){var i,match,url=document.location.href,stripped="",len=window.rootPath.match(/\.\.\//g).length+1;for(i=0;i-1){var obj=searchIndex[results[i].id];obj.lev=results[i].lev;if(isType!==true||obj.type){var res=buildHrefAndPath(obj);obj.displayPath=pathSplitter(res[0]);obj.fullPath=obj.displayPath+obj.name;obj.fullPath+="|"+obj.ty;obj.href=res[1];out.push(obj);if(out.length>=MAX_RESULTS){break}}}}return out}function sortResults(results,isType){var ar=[];for(var entry in results){if(hasOwnProperty(results,entry)){ar.push(results[entry])}}results=ar;var i,len,result;for(i=0,len=results.length;ib?+1:-1)}a=(aaa.index<0);b=(bbb.index<0);if(a!==b){return a-b}a=aaa.index;b=bbb.index;if(a!==b){return a-b}if((aaa.item.ty===TY_PRIMITIVE&&bbb.item.ty!==TY_KEYWORD)||(aaa.item.ty===TY_KEYWORD&&bbb.item.ty!==TY_PRIMITIVE)){return-1}if((bbb.item.ty===TY_PRIMITIVE&&aaa.item.ty!==TY_PRIMITIVE)||(bbb.item.ty===TY_KEYWORD&&aaa.item.ty!==TY_KEYWORD)){return 1}a=(aaa.item.desc==="");b=(bbb.item.desc==="");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});for(i=0,len=results.length;i"));return{name:val.substring(0,val.indexOf("<")),generics:values.split(/\s*,\s*/),}}return{name:val,generics:[],}}function getObjectNameFromId(id){if(typeof id==="number"){return searchIndex[id].name}return id}function checkGenerics(obj,val){var tmp_lev,elem_name;if(val.generics.length>0){if(obj.length>GENERICS_DATA&&obj[GENERICS_DATA].length>=val.generics.length){var elems=Object.create(null);var elength=object[GENERICS_DATA].length;for(var x=0;xGENERICS_DATA&&obj[GENERICS_DATA].length>=val.generics.length){var elems=Object.create(null);len=obj[GENERICS_DATA].length;for(x=0;xGENERICS_DATA&&obj[GENERICS_DATA].length!==0){var tmp_lev=checkGenerics(obj,val);if(tmp_lev<=MAX_LEV_DISTANCE){return tmp_lev}}else{return 0}}if(literalSearch===true){if(obj.length>GENERICS_DATA&&obj[GENERICS_DATA].length>0){return obj[GENERICS_DATA].some(function(name){return name===val.name})}return false}lev_distance=Math.min(levenshtein(obj[NAME],val.name),lev_distance);if(lev_distance<=MAX_LEV_DISTANCE){lev_distance=Math.ceil((checkGenerics(obj,val)+lev_distance)/2)}else if(obj.length>GENERICS_DATA&&obj[GENERICS_DATA].length>0){var olength=obj[GENERICS_DATA].length;for(x=0;x0){var length=obj.type[INPUTS_DATA].length;for(var i=0;iOUTPUT_DATA){var ret=obj.type[OUTPUT_DATA];if(typeof ret[0]==="string"){ret=[ret]}for(var x=0,len=ret.length;xlength){return MAX_LEV_DISTANCE+1}for(var i=0;ilength){break}var lev_total=0;var aborted=false;for(var x=0;xMAX_LEV_DISTANCE){aborted=true;break}lev_total+=lev}if(aborted===false){ret_lev=Math.min(ret_lev,Math.round(lev_total/clength))}}return ret_lev}function typePassesFilter(filter,type){if(filter<=NO_TYPE_FILTER)return true;if(filter===type)return true;var 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,desc:item.desc,ty:item.ty,parent:item.parent,type:item.type,is_alias:true,}}function handleAliases(ret,query,filterCrates){var aliases=[];var crateAliases=[];if(filterCrates!==undefined){if(ALIASES[filterCrates]&&ALIASES[filterCrates][query.search]){var query_aliases=ALIASES[filterCrates][query.search];var len=query_aliases.length;for(var i=0;iMAX_RESULTS){ret.others.pop()}};onEach(aliases,pushFunc);onEach(crateAliases,pushFunc)}var nSearchWords=searchWords.length;var i,it;var ty;var fullId;var returned;var in_args;var len;if((val.charAt(0)==="\""||val.charAt(0)==="'")&&val.charAt(val.length-1)===val.charAt(0)){val=extractGenerics(val.substr(1,val.length-2));for(i=0;i")>-1){var trimmer=function(s){return s.trim()};var parts=val.split("->").map(trimmer);var input=parts[0];var inputs=input.split(",").map(trimmer).sort();for(i=0,len=inputs.length;i1?paths.length-1:1);var lev,j;for(j=0;j1){lev=checkPath(contains,paths[paths.length-1],ty);if(lev>MAX_LEV_DISTANCE){continue}else if(lev>0){lev_add=lev/10}}returned=MAX_LEV_DISTANCE+1;in_args=MAX_LEV_DISTANCE+1;var index=-1;lev=MAX_LEV_DISTANCE+1;fullId=ty.id;if(searchWords[j].indexOf(split[i])>-1||searchWords[j].indexOf(val)>-1||ty.normalizedName.indexOf(val)>-1){if(typePassesFilter(typeFilter,ty.ty)&&results[fullId]===undefined){index=ty.normalizedName.indexOf(val)}}if((lev=levenshtein(searchWords[j],val))<=MAX_LEV_DISTANCE){if(typePassesFilter(typeFilter,ty.ty)===false){lev=MAX_LEV_DISTANCE+1}else{lev+=1}}in_args=findArg(ty,valGenerics,false,typeFilter);returned=checkReturned(ty,valGenerics,false,typeFilter);lev+=lev_add;if(lev>0&&val.length>3&&searchWords[j].indexOf(val)>-1){if(val.length<6){lev-=1}else{lev=0}}if(in_args<=MAX_LEV_DISTANCE){if(results_in_args[fullId]===undefined){results_in_args[fullId]={id:j,index:index,lev:in_args,}}results_in_args[fullId].lev=Math.min(results_in_args[fullId].lev,in_args)}if(returned<=MAX_LEV_DISTANCE){if(results_returned[fullId]===undefined){results_returned[fullId]={id:j,index:index,lev:returned,}}results_returned[fullId].lev=Math.min(results_returned[fullId].lev,returned)}if(index!==-1||lev<=MAX_LEV_DISTANCE){if(index!==-1&&paths.length<2){lev=0}if(results[fullId]===undefined){results[fullId]={id:j,index:index,lev:lev,}}results[fullId].lev=Math.min(results[fullId].lev,lev)}}}var ret={"in_args":sortResults(results_in_args,true),"returned":sortResults(results_returned,true),"others":sortResults(results),};handleAliases(ret,query,filterCrates);return ret}function validateResult(name,path,keys,parent){for(var i=0,len=keys.length;i-1||path.indexOf(keys[i])>-1||(parent!==undefined&&parent.name!==undefined&&parent.name.toLowerCase().indexOf(keys[i])>-1)||levenshtein(name,keys[i])<=MAX_LEV_DISTANCE)){return false}}return true}function getQuery(raw){var matches,type,query;query=raw;matches=query.match(/^(fn|mod|struct|enum|trait|type|const|macro)\s*:\s*/i);if(matches){type=matches[1].replace(/^const$/,"constant");query=query.substring(matches[0].length)}return{raw:raw,query:query,type:type,id:query+type}}function initSearchNav(){var hoverTimeout;var click_func=function(e){var el=e.target;while(el.tagName!=="TR"){el=el.parentNode}var dst=e.target.getElementsByTagName("a");if(dst.length<1){return}dst=dst[0];if(window.location.pathname===dst.pathname){hideSearchResults();document.location.href=dst.href}};var mouseover_func=function(e){if(mouseMovedAfterSearch){var el=e.target;while(el.tagName!=="TR"){el=el.parentNode}clearTimeout(hoverTimeout);hoverTimeout=setTimeout(function(){onEachLazy(document.getElementsByClassName("search-results"),function(e){onEachLazy(e.getElementsByClassName("result"),function(i_e){removeClass(i_e,"highlighted")})});addClass(el,"highlighted")},20)}};onEachLazy(document.getElementsByClassName("search-results"),function(e){onEachLazy(e.getElementsByClassName("result"),function(i_e){i_e.onclick=click_func;i_e.onmouseover=mouseover_func})});search_input.onkeydown=function(e){var actives=[[],[],[]];var current=0;onEachLazy(document.getElementById("results").childNodes,function(e){onEachLazy(e.getElementsByClassName("highlighted"),function(h_e){actives[current].push(h_e)});current+=1});if(e.which===38){if(e.ctrlKey){printTab(currentTab>0?currentTab-1:2)}else{if(!actives[currentTab].length||!actives[currentTab][0].previousElementSibling){return}addClass(actives[currentTab][0].previousElementSibling,"highlighted");removeClass(actives[currentTab][0],"highlighted")}e.preventDefault()}else if(e.which===40){if(e.ctrlKey){printTab(currentTab>1?0:currentTab+1)}else if(!actives[currentTab].length){var results=document.getElementById("results").childNodes;if(results.length>0){var res=results[currentTab].getElementsByClassName("result");if(res.length>0){addClass(res[0],"highlighted")}}}else if(actives[currentTab][0].nextElementSibling){addClass(actives[currentTab][0].nextElementSibling,"highlighted");removeClass(actives[currentTab][0],"highlighted")}e.preventDefault()}else if(e.which===13){if(actives[currentTab].length){document.location.href=actives[currentTab][0].getElementsByTagName("a")[0].href}}else if(e.which===16){}else if(actives[currentTab].length>0){removeClass(actives[currentTab][0],"highlighted")}}}function buildHrefAndPath(item){var displayPath;var href;var type=itemTypes[item.ty];var name=item.name;var path=item.path;if(type==="mod"){displayPath=path+"::";href=window.rootPath+path.replace(/::/g,"/")+"/"+name+"/index.html"}else if(type==="primitive"||type==="keyword"){displayPath="";href=window.rootPath+path.replace(/::/g,"/")+"/"+type+"."+name+".html"}else if(type==="externcrate"){displayPath="";href=window.rootPath+name+"/index.html"}else if(item.parent!==undefined){var myparent=item.parent;var anchor="#"+type+"."+name;var parentType=itemTypes[myparent.ty];var pageType=parentType;var pageName=myparent.name;if(parentType==="primitive"){displayPath=myparent.name+"::"}else if(type==="structfield"&&parentType==="variant"){var enumNameIdx=item.path.lastIndexOf("::");var 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+"::"}href=window.rootPath+path.replace(/::/g,"/")+"/"+pageType+"."+pageName+".html"+anchor}else{displayPath=item.path+"::";href=window.rootPath+item.path.replace(/::/g,"/")+"/"+type+"."+name+".html"}return[displayPath,href]}function escape(content){var h1=document.createElement("h1");h1.textContent=content;return h1.innerHTML}function pathSplitter(path){var tmp=""+path.replace(/::/g,"::");if(tmp.endsWith("")){return tmp.slice(0,tmp.length-6)}return tmp}function addTab(array,query,display){var extraStyle="";if(display===false){extraStyle=" style=\"display: none;\""}var output="";var duplicates={};var length=0;if(array.length>0){output="";array.forEach(function(item){var name,type;name=item.name;type=itemTypes[item.ty];if(item.is_alias!==true){if(duplicates[item.fullPath]){return}duplicates[item.fullPath]=true}length+=1;output+=""});output+="
    "+""+(item.is_alias===true?(""+item.alias+"  - see "):"")+item.displayPath+""+name+""+""+""+item.desc+" 
    "}else{output="
    No results :(
    "+"Try on DuckDuckGo?

    "+"Or try looking in one of these:
    "}return[output,length]}function makeTabHeader(tabNb,text,nbElems){if(currentTab===tabNb){return""}return""}function showResults(results){var search=getSearchElement();if(results.others.length===1&&getSettingValue("go-to-only-result")==="true"&&(!search.firstChild||search.firstChild.innerText!==getSearchLoadingText())){var elem=document.createElement("a");elem.href=results.others[0].href;elem.style.display="none";document.body.appendChild(elem);elem.click();return}var query=getQuery(search_input.value);currentResults=query.id;var ret_others=addTab(results.others,query);var ret_in_args=addTab(results.in_args,query,false);var ret_returned=addTab(results.returned,query,false);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}}var output="

    Results for "+escape(query.query)+(query.type?" (type: "+escape(query.type)+")":"")+"

    "+"
    "+makeTabHeader(0,"In Names",ret_others[1])+makeTabHeader(1,"In Parameters",ret_in_args[1])+makeTabHeader(2,"In Return Types",ret_returned[1])+"
    "+ret_others[0]+ret_in_args[0]+ret_returned[0]+"
    ";search.innerHTML=output;showSearchResults(search);initSearchNav();var elems=document.getElementById("titles").childNodes;elems[0].onclick=function(){printTab(0)};elems[1].onclick=function(){printTab(1)};elems[2].onclick=function(){printTab(2)};printTab(currentTab)}function execSearch(query,searchWords,filterCrates){function getSmallest(arrays,positions,notDuplicates){var start=null;for(var it=0,len=positions.length;itpositions[it]&&(start===null||start>arrays[it][positions[it]].lev)&&!notDuplicates[arrays[it][positions[it]].fullPath]){start=arrays[it][positions[it]].lev}}return start}function mergeArrays(arrays){var ret=[];var positions=[];var notDuplicates={};for(var x=0,arrays_len=arrays.length;xpositions[x]&&arrays[x][positions[x]].lev===smallest&&!notDuplicates[arrays[x][positions[x]].fullPath]){ret.push(arrays[x][positions[x]]);notDuplicates[arrays[x][positions[x]].fullPath]=true;positions[x]+=1}}}return ret}var queries=query.raw.split(",");var results={"in_args":[],"returned":[],"others":[],};for(var i=0,len=queries.length;i1){return{"in_args":mergeArrays(results.in_args),"returned":mergeArrays(results.returned),"others":mergeArrays(results.others),}}return{"in_args":results.in_args[0],"returned":results.returned[0],"others":results.others[0],}}function getFilterCrates(){var elem=document.getElementById("crate-search");if(elem&&elem.value!=="All crates"&&hasOwnProperty(rawSearchIndex,elem.value)){return elem.value}return undefined}function search(e,forced){var params=getQueryStringParams();var query=getQuery(search_input.value.trim());if(e){e.preventDefault()}if(query.query.length===0){return}if(forced!==true&&query.id===currentResults){if(query.query.length>0){putBackSearch(search_input)}return}searchTitle="Results for "+query.query+" - Rust";if(browserSupportsHistoryApi()){var newURL=getNakedUrl()+"?search="+encodeURIComponent(query.raw)+window.location.hash;if(!history.state&&!params.search){history.pushState(query,"",newURL)}else{history.replaceState(query,"",newURL)}}var filterCrates=getFilterCrates();showResults(execSearch(query,index,filterCrates))}function buildIndex(rawSearchIndex){searchIndex=[];var searchWords=[];var i,word;var currentIndex=0;var id=0;for(var crate in rawSearchIndex){if(!hasOwnProperty(rawSearchIndex,crate)){continue}var crateSize=0;searchWords.push(crate);var normalizedName=crate.indexOf("_")===-1?crate:crate.replace(/_/g,"");var crateRow={crate:crate,ty:1,name:crate,path:"",desc:rawSearchIndex[crate].doc,parent:undefined,type:null,id:id,normalizedName:normalizedName,};id+=1;searchIndex.push(crateRow);currentIndex+=1;var itemTypes=rawSearchIndex[crate].t;var itemNames=rawSearchIndex[crate].n;var itemPaths=rawSearchIndex[crate].q;var itemDescs=rawSearchIndex[crate].d;var itemParentIdxs=rawSearchIndex[crate].i;var itemFunctionSearchTypes=rawSearchIndex[crate].f;var paths=rawSearchIndex[crate].p;var aliases=rawSearchIndex[crate].a;var len=paths.length;for(i=0;i0?paths[itemParentIdxs[i]-1]:undefined,type:itemFunctionSearchTypes[i],id:id,normalizedName:normalizedName,};id+=1;searchIndex.push(row);lastPath=row.path;crateSize+=1}if(aliases){ALIASES[crate]={};var j,local_aliases;for(var alias_name in aliases){if(!aliases.hasOwnProperty(alias_name)){continue}if(!ALIASES[crate].hasOwnProperty(alias_name)){ALIASES[crate][alias_name]=[]}local_aliases=aliases[alias_name];for(j=0,len=local_aliases.length;j0){search_input.value=params.search;search(e)}else{search_input.value="";hideSearchResults()}})}window.onpageshow=function(){var qSearch=getQueryStringParams().search;if(search_input.value===""&&qSearch){search_input.value=qSearch}search()}}index=buildIndex(rawSearchIndex);registerSearchEvents();if(getQueryStringParams().search){search()}};function addSidebarCrates(crates){if(window.rootPath==="../"||window.rootPath==="./"){var sidebar=document.getElementsByClassName("sidebar-elems")[0];if(sidebar){var div=document.createElement("div");div.className="block crate";div.innerHTML="

    Crates

    ";var ul=document.createElement("ul");div.appendChild(ul);for(var i=0;i"+""+"
    "+code.outerHTML+"
    ";list.appendChild(display)}}};if(window.pending_implementors){window.register_implementors(window.pending_implementors)}function labelForToggleButton(sectionIsCollapsed){if(sectionIsCollapsed){return"+"}return"\u2212"}function onEveryMatchingChild(elem,className,func){if(elem&&className&&func){var length=elem.childNodes.length;var nodes=elem.childNodes;for(var i=0;i"+labelForToggleButton(sectionIsCollapsed)+"
    ]";return toggle}function createToggle(toggle,otherMessage,fontSize,extraClass,show){var span=document.createElement("span");span.className="toggle-label";if(show){span.style.display="none"}if(!otherMessage){span.innerHTML=" Expand description"}else{span.innerHTML=otherMessage}if(fontSize){span.style.fontSize=fontSize}var mainToggle=toggle.cloneNode(true);mainToggle.appendChild(span);var wrapper=document.createElement("div");wrapper.className="toggle-wrapper";if(!show){addClass(wrapper,"collapsed");var inner=mainToggle.getElementsByClassName("inner");if(inner&&inner.length>0){inner[0].innerHTML="+"}}if(extraClass){addClass(wrapper,extraClass)}wrapper.appendChild(mainToggle);return wrapper}(function(){var toggles=document.getElementById(toggleAllDocsId);if(toggles){toggles.onclick=toggleAllDocs}var toggle=createSimpleToggle(false);var hideMethodDocs=getSettingValue("auto-hide-method-docs")==="true";var hideImplementors=getSettingValue("auto-collapse-implementors")!=="false";var func=function(e){var next=e.nextElementSibling;if(next&&hasClass(next,"item-info")){next=next.nextElementSibling}if(!next){return}if(hasClass(next,"docblock")){var newToggle=toggle.cloneNode(true);insertAfter(newToggle,e.childNodes[e.childNodes.length-1]);if(hideMethodDocs===true&&hasClass(e,"method")===true){collapseDocs(newToggle,"hide")}}};var funcImpl=function(e){var next=e.nextElementSibling;if(next&&hasClass(next,"item-info")){next=next.nextElementSibling}if(next&&hasClass(next,"docblock")){next=next.nextElementSibling}if(!next){return}if(hasClass(e,"impl")&&(next.getElementsByClassName("method").length>0||next.getElementsByClassName("associatedconstant").length>0)){var newToggle=toggle.cloneNode(true);insertAfter(newToggle,e.childNodes[e.childNodes.length-1]);if(hideImplementors===true&&e.parentNode.id==="implementors-list"){collapseDocs(newToggle,"hide")}}};onEachLazy(document.getElementsByClassName("method"),func);onEachLazy(document.getElementsByClassName("associatedconstant"),func);onEachLazy(document.getElementsByClassName("impl"),funcImpl);var impl_call=function(){};if(hideMethodDocs===true){impl_call=function(e,newToggle){if(e.id.match(/^impl(?:-\d+)?$/)===null){if(hasClass(e,"impl")===true){collapseDocs(newToggle,"hide")}}}}var newToggle=document.createElement("a");newToggle.href="javascript:void(0)";newToggle.className="collapse-toggle hidden-default collapsed";newToggle.innerHTML="["+labelForToggleButton(true)+"] Show hidden undocumented items";function toggleClicked(){if(hasClass(this,"collapsed")){removeClass(this,"collapsed");onEachLazy(this.parentNode.getElementsByClassName("hidden"),function(x){if(hasClass(x,"content")===false){removeClass(x,"hidden");addClass(x,"x")}},true);this.innerHTML="["+labelForToggleButton(false)+"] Hide undocumented items"}else{addClass(this,"collapsed");onEachLazy(this.parentNode.getElementsByClassName("x"),function(x){if(hasClass(x,"content")===false){addClass(x,"hidden");removeClass(x,"x")}},true);this.innerHTML="["+labelForToggleButton(true)+"] Show hidden undocumented items"}}onEachLazy(document.getElementsByClassName("impl-items"),function(e){onEachLazy(e.getElementsByClassName("associatedconstant"),func);var hiddenElems=Array.prototype.slice.call(e.getElementsByClassName("hidden"));var needToggle=hiddenElems.some(function(hiddenElem){return hasClass(hiddenElem,"content")===false&&hasClass(hiddenElem,"docblock")===false});if(needToggle===true){var inner_toggle=newToggle.cloneNode(true);inner_toggle.onclick=toggleClicked;e.insertBefore(inner_toggle,e.firstChild);impl_call(e.previousSibling,inner_toggle)}});var currentType=document.getElementsByClassName("type-decl")[0];var className=null;if(currentType){currentType=currentType.getElementsByClassName("rust")[0];if(currentType){currentType.classList.forEach(function(item){if(item!=="main"){className=item;return true}})}}var showItemDeclarations=getSettingValue("auto-hide-"+className);if(showItemDeclarations===null){if(className==="enum"||className==="macro"){showItemDeclarations="false"}else if(className==="struct"||className==="union"||className==="trait"){showItemDeclarations="true"}else{showItemDeclarations=getSettingValue("auto-hide-declarations")}}showItemDeclarations=showItemDeclarations==="false";function buildToggleWrapper(e){if(hasClass(e,"autohide")){var wrap=e.previousElementSibling;if(wrap&&hasClass(wrap,"toggle-wrapper")){var inner_toggle=wrap.childNodes[0];var extra=e.childNodes[0].tagName==="H3";e.style.display="none";addClass(wrap,"collapsed");onEachLazy(inner_toggle.getElementsByClassName("inner"),function(e){e.innerHTML=labelForToggleButton(true)});onEachLazy(inner_toggle.getElementsByClassName("toggle-label"),function(e){e.style.display="inline-block";if(extra===true){e.innerHTML=" Show "+e.childNodes[0].innerHTML}})}}if(e.parentNode.id==="main"){var otherMessage="";var fontSize;var extraClass;if(hasClass(e,"type-decl")){fontSize="20px";otherMessage=" Show declaration";if(showItemDeclarations===false){extraClass="collapsed"}}else if(hasClass(e,"sub-variant")){otherMessage=" Show fields"}else if(hasClass(e,"non-exhaustive")){otherMessage=" This ";if(hasClass(e,"non-exhaustive-struct")){otherMessage+="struct"}else if(hasClass(e,"non-exhaustive-enum")){otherMessage+="enum"}else if(hasClass(e,"non-exhaustive-variant")){otherMessage+="enum variant"}else if(hasClass(e,"non-exhaustive-type")){otherMessage+="type"}otherMessage+=" is marked as non-exhaustive"}else if(hasClass(e.childNodes[0],"impl-items")){extraClass="marg-left"}e.parentNode.insertBefore(createToggle(toggle,otherMessage,fontSize,extraClass,hasClass(e,"type-decl")===false||showItemDeclarations===true),e);if(hasClass(e,"type-decl")===true&&showItemDeclarations===true){collapseDocs(e.previousSibling.childNodes[0],"toggle")}if(hasClass(e,"non-exhaustive")===true){collapseDocs(e.previousSibling.childNodes[0],"toggle")}}}onEachLazy(document.getElementsByClassName("docblock"),buildToggleWrapper);onEachLazy(document.getElementsByClassName("sub-variant"),buildToggleWrapper);autoCollapse(getSettingValue("collapse")==="true");var pageId=getPageId();if(pageId!==null){expandSection(pageId)}}());function createToggleWrapper(tog){var span=document.createElement("span");span.className="toggle-label";span.style.display="none";span.innerHTML=" Expand attributes";tog.appendChild(span);var wrapper=document.createElement("div");wrapper.className="toggle-wrapper toggle-attributes";wrapper.appendChild(tog);return wrapper}(function(){var itemAttributesFunc=function(){};if(getSettingValue("auto-hide-attributes")!=="false"){itemAttributesFunc=function(x){collapseDocs(x.previousSibling.childNodes[0],"toggle")}}var attributesToggle=createToggleWrapper(createSimpleToggle(false));onEachLazy(main.getElementsByClassName("attributes"),function(i_e){var attr_tog=attributesToggle.cloneNode(true);if(hasClass(i_e,"top-attr")===true){addClass(attr_tog,"top-attr")}i_e.parentNode.insertBefore(attr_tog,i_e);itemAttributesFunc(i_e)})}());(function(){var lineNumbersFunc=function(){};if(getSettingValue("line-numbers")==="true"){lineNumbersFunc=function(x){var count=x.textContent.split("\n").length;var elems=[];for(var i=0;i"+getSearchLoadingText()+"";showSearchResults(search)}var sidebar_menu=document.getElementsByClassName("sidebar-menu")[0];if(sidebar_menu){sidebar_menu.onclick=function(){var sidebar=document.getElementsByClassName("sidebar")[0];if(hasClass(sidebar,"mobile")===true){hideSidebar()}else{showSidebar()}}}if(main){onEachLazy(main.getElementsByClassName("loading-content"),function(e){e.remove()});onEachLazy(main.childNodes,function(e){if(e.tagName==="H2"||e.tagName==="H3"){var nextTagName=e.nextElementSibling.tagName;if(nextTagName=="H2"||nextTagName=="H3"){e.nextElementSibling.style.display="flex"}else{e.nextElementSibling.style.display="block"}}})}function addSearchOptions(crates){var elem=document.getElementById("crate-search");if(!elem){return}var savedCrate=getSettingValue("saved-filter-crate");for(var i=0,len=crates.length;ithe rustdoc book.";var container=document.createElement("div");var shortcuts=[["?","Show this help dialog"],["S","Focus the search field"],["T","Focus the theme picker menu"],["↑","Move up in search results"],["↓","Move down in search results"],["ctrl + ↑ / ↓","Switch result tab"],["⏎","Go to active search result"],["+","Expand all sections"],["-","Collapse all sections"],].map(function(x){return"
    "+x[0].split(" ").map(function(y,index){return(index&1)===0?""+y+"":" "+y+" "}).join("")+"
    "+x[1]+"
    "}).join("");var div_shortcuts=document.createElement("div");addClass(div_shortcuts,"shortcuts");div_shortcuts.innerHTML="

    Keyboard Shortcuts

    "+shortcuts+"
    ";var infos=["Prefix searches with a type followed by a colon (e.g., fn:) to \ +if(!String.prototype.startsWith){String.prototype.startsWith=function(searchString,position){position=position||0;return this.indexOf(searchString,position)===position}}if(!String.prototype.endsWith){String.prototype.endsWith=function(suffix,length){var l=length||this.length;return this.indexOf(suffix,l-suffix.length)!==-1}}if(!DOMTokenList.prototype.add){DOMTokenList.prototype.add=function(className){if(className&&!hasClass(this,className)){if(this.className&&this.className.length>0){this.className+=" "+className}else{this.className=className}}}}if(!DOMTokenList.prototype.remove){DOMTokenList.prototype.remove=function(className){if(className&&this.className){this.className=(" "+this.className+" ").replace(" "+className+" "," ").trim()}}}(function(){var rustdocVars=document.getElementById("rustdoc-vars");if(rustdocVars){window.rootPath=rustdocVars.attributes["data-root-path"].value;window.currentCrate=rustdocVars.attributes["data-current-crate"].value;window.searchJS=rustdocVars.attributes["data-search-js"].value;window.searchIndexJS=rustdocVars.attributes["data-search-index-js"].value}var sidebarVars=document.getElementById("sidebar-vars");if(sidebarVars){window.sidebarCurrent={name:sidebarVars.attributes["data-name"].value,ty:sidebarVars.attributes["data-ty"].value,relpath:sidebarVars.attributes["data-relpath"].value,}}}());function getVirtualKey(ev){if("key"in ev&&typeof ev.key!="undefined"){return ev.key}var c=ev.charCode||ev.keyCode;if(c==27){return"Escape"}return String.fromCharCode(c)}var THEME_PICKER_ELEMENT_ID="theme-picker";var THEMES_ELEMENT_ID="theme-choices";function getThemesElement(){return document.getElementById(THEMES_ELEMENT_ID)}function getThemePickerElement(){return document.getElementById(THEME_PICKER_ELEMENT_ID)}function getNakedUrl(){return window.location.href.split("?")[0].split("#")[0]}function showThemeButtonState(){var themePicker=getThemePickerElement();var themeChoices=getThemesElement();themeChoices.style.display="block";themePicker.style.borderBottomRightRadius="0";themePicker.style.borderBottomLeftRadius="0"}function hideThemeButtonState(){var themePicker=getThemePickerElement();var themeChoices=getThemesElement();themeChoices.style.display="none";themePicker.style.borderBottomRightRadius="3px";themePicker.style.borderBottomLeftRadius="3px"}(function(){var themeChoices=getThemesElement();var themePicker=getThemePickerElement();var availableThemes=["ayu","dark","light"];function switchThemeButtonState(){if(themeChoices.style.display==="block"){hideThemeButtonState()}else{showThemeButtonState()}}function handleThemeButtonsBlur(e){var active=document.activeElement;var related=e.relatedTarget;if(active.id!==THEME_PICKER_ELEMENT_ID&&(!active.parentNode||active.parentNode.id!==THEMES_ELEMENT_ID)&&(!related||(related.id!==THEME_PICKER_ELEMENT_ID&&(!related.parentNode||related.parentNode.id!==THEMES_ELEMENT_ID)))){hideThemeButtonState()}}themePicker.onclick=switchThemeButtonState;themePicker.onblur=handleThemeButtonsBlur;availableThemes.forEach(function(item){var but=document.createElement("button");but.textContent=item;but.onclick=function(){switchTheme(window.currentTheme,window.mainTheme,item,true);useSystemTheme(false)};but.onblur=handleThemeButtonsBlur;themeChoices.appendChild(but)})}());(function(){"use strict";window.searchState={loadingText:"Loading search results...",input:document.getElementsByClassName("search-input")[0],outputElement:function(){return document.getElementById("search")},title:document.title,titleBeforeSearch:document.title,timeout:null,currentTab:0,focusedByTab:[null,null,null],clearInputTimeout:function(){if(searchState.timeout!==null){clearTimeout(searchState.timeout);searchState.timeout=null}},focus:function(){searchState.input.focus()},defocus:function(){searchState.input.blur()},showResults:function(search){if(search===null||typeof search==='undefined'){search=searchState.outputElement()}addClass(main,"hidden");removeClass(search,"hidden");searchState.mouseMovedAfterSearch=false;document.title=searchState.title},hideResults:function(search){if(search===null||typeof search==='undefined'){search=searchState.outputElement()}addClass(search,"hidden");removeClass(main,"hidden");document.title=searchState.titleBeforeSearch;if(searchState.browserSupportsHistoryApi()){history.replaceState("",window.currentCrate+" - Rust",getNakedUrl()+window.location.hash)}},getQueryStringParams:function(){var params={};window.location.search.substring(1).split("&").map(function(s){var pair=s.split("=");params[decodeURIComponent(pair[0])]=typeof pair[1]==="undefined"?null:decodeURIComponent(pair[1])});return params},putBackSearch:function(search_input){var search=searchState.outputElement();if(search_input.value!==""&&hasClass(search,"hidden")){searchState.showResults(search);if(searchState.browserSupportsHistoryApi()){var extra="?search="+encodeURIComponent(search_input.value);history.replaceState(search_input.value,"",getNakedUrl()+extra+window.location.hash)}document.title=searchState.title}},browserSupportsHistoryApi:function(){return window.history&&typeof window.history.pushState==="function"},setup:function(){var search_input=searchState.input;if(!searchState.input){return}function loadScript(url){var script=document.createElement('script');script.src=url;document.head.append(script)}var searchLoaded=false;function loadSearch(){if(!searchLoaded){searchLoaded=true;loadScript(window.searchJS);loadScript(window.searchIndexJS)}}search_input.addEventListener("focus",function(){searchState.putBackSearch(this);search_input.origPlaceholder=searchState.input.placeholder;search_input.placeholder="Type your search here.";loadSearch()});search_input.addEventListener("blur",function(){search_input.placeholder=searchState.input.origPlaceholder});search_input.removeAttribute('disabled');searchState.addCrateDropdown(window.ALL_CRATES);var params=searchState.getQueryStringParams();if(params.search!==undefined){var search=searchState.outputElement();search.innerHTML="

    "+searchState.loadingText+"

    ";searchState.showResults(search);loadSearch()}},addCrateDropdown:function(crates){var elem=document.getElementById("crate-search");if(!elem){return}var savedCrate=getSettingValue("saved-filter-crate");for(var i=0,len=crates.length;i0){return tmp}}return null}function showSidebar(){var elems=document.getElementsByClassName("sidebar-elems")[0];if(elems){addClass(elems,"show-it")}var sidebar=document.getElementsByClassName("sidebar")[0];if(sidebar){addClass(sidebar,"mobile");var filler=document.getElementById("sidebar-filler");if(!filler){var div=document.createElement("div");div.id="sidebar-filler";sidebar.appendChild(div)}}}function hideSidebar(){var elems=document.getElementsByClassName("sidebar-elems")[0];if(elems){removeClass(elems,"show-it")}var sidebar=document.getElementsByClassName("sidebar")[0];removeClass(sidebar,"mobile");var filler=document.getElementById("sidebar-filler");if(filler){filler.remove()}document.getElementsByTagName("body")[0].style.marginTop=""}var toggleAllDocsId="toggle-all-docs";var main=document.getElementById("main");var savedHash="";function handleHashes(ev){var elem;var search=searchState.outputElement();if(ev!==null&&search&&!hasClass(search,"hidden")&&ev.newURL){searchState.hideResults(search);var hash=ev.newURL.slice(ev.newURL.indexOf("#")+1);if(searchState.browserSupportsHistoryApi()){history.replaceState(hash,"",getNakedUrl()+window.location.search+"#"+hash)}elem=document.getElementById(hash);if(elem){elem.scrollIntoView()}}if(savedHash!==window.location.hash){savedHash=window.location.hash;if(savedHash.length===0){return}expandSection(savedHash.slice(1))}}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 getHelpElement(build){if(build){buildHelperPopup()}return document.getElementById("help")}function displayHelp(display,ev,help){if(display){help=help?help:getHelpElement(true);if(hasClass(help,"hidden")){ev.preventDefault();removeClass(help,"hidden");addClass(document.body,"blur")}}else{help=help?help:getHelpElement(false);if(help&&!hasClass(help,"hidden")){ev.preventDefault();addClass(help,"hidden");removeClass(document.body,"blur")}}}function handleEscape(ev){var help=getHelpElement(false);var search=searchState.outputElement();if(help&&!hasClass(help,"hidden")){displayHelp(false,ev,help)}else if(search&&!hasClass(search,"hidden")){searchState.clearInputTimeout();ev.preventDefault();searchState.hideResults(search)}searchState.defocus();hideThemeButtonState()}var disableShortcuts=getSettingValue("disable-shortcuts")==="true";function handleShortcut(ev){if(ev.ctrlKey||ev.altKey||ev.metaKey||disableShortcuts){return}if(document.activeElement.tagName==="INPUT"){switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break}}else{switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break;case"s":case"S":displayHelp(false,ev);ev.preventDefault();searchState.focus();break;case"+":case"-":ev.preventDefault();toggleAllDocs();break;case"?":displayHelp(true,ev);break;case"t":case"T":displayHelp(false,ev);ev.preventDefault();var themePicker=getThemePickerElement();themePicker.click();themePicker.focus();break;default:if(getThemePickerElement().parentNode.contains(ev.target)){handleThemeKeyDown(ev)}}}}function handleThemeKeyDown(ev){var active=document.activeElement;var themes=getThemesElement();switch(getVirtualKey(ev)){case"ArrowUp":ev.preventDefault();if(active.previousElementSibling&&ev.target.id!==THEME_PICKER_ELEMENT_ID){active.previousElementSibling.focus()}else{showThemeButtonState();themes.lastElementChild.focus()}break;case"ArrowDown":ev.preventDefault();if(active.nextElementSibling&&ev.target.id!==THEME_PICKER_ELEMENT_ID){active.nextElementSibling.focus()}else{showThemeButtonState();themes.firstElementChild.focus()}break;case"Enter":case"Return":case"Space":if(ev.target.id===THEME_PICKER_ELEMENT_ID&&themes.style.display==="none"){ev.preventDefault();showThemeButtonState();themes.firstElementChild.focus()}break;case"Home":ev.preventDefault();themes.firstElementChild.focus();break;case"End":ev.preventDefault();themes.lastElementChild.focus();break}}document.addEventListener("keypress",handleShortcut);document.addEventListener("keydown",handleShortcut);(function(){var x=document.getElementsByClassName("version-selector");if(x.length>0){x[0].onchange=function(){var i,match,url=document.location.href,stripped="",len=window.rootPath.match(/\.\.\//g).length+1;for(i=0;i"+""+"
    "+code.outerHTML+"
    ";list.appendChild(display)}}};if(window.pending_implementors){window.register_implementors(window.pending_implementors)}function labelForToggleButton(sectionIsCollapsed){if(sectionIsCollapsed){return"+"}return"\u2212"}function toggleAllDocs(){var innerToggle=document.getElementById(toggleAllDocsId);if(!innerToggle){return}var sectionIsCollapsed=false;if(hasClass(innerToggle,"will-expand")){removeClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("rustdoc-toggle"),function(e){if(!hasClass(e,"type-contents-toggle")){e.open=true}});innerToggle.title="collapse all docs"}else{addClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("rustdoc-toggle"),function(e){if(e.parentNode.id!=="main"||(!hasClass(e,"implementors-toggle")&&!hasClass(e,"type-contents-toggle"))){e.open=false}});sectionIsCollapsed=true;innerToggle.title="expand all docs"}innerToggle.children[0].innerText=labelForToggleButton(sectionIsCollapsed)}function insertAfter(newNode,referenceNode){referenceNode.parentNode.insertBefore(newNode,referenceNode.nextSibling)}(function(){var toggles=document.getElementById(toggleAllDocsId);if(toggles){toggles.onclick=toggleAllDocs}var hideMethodDocs=getSettingValue("auto-hide-method-docs")==="true";var hideImplementations=getSettingValue("auto-hide-trait-implementations")==="true";var hideLargeItemContents=getSettingValue("auto-hide-large-items")!=="false";function setImplementorsTogglesOpen(id,open){var list=document.getElementById(id);if(list!==null){onEachLazy(list.getElementsByClassName("implementors-toggle"),function(e){e.open=open})}}if(hideImplementations){setImplementorsTogglesOpen("trait-implementations-list",false);setImplementorsTogglesOpen("blanket-implementations-list",false)}onEachLazy(document.getElementsByClassName("rustdoc-toggle"),function(e){if(!hideLargeItemContents&&hasClass(e,"type-contents-toggle")){e.open=true}if(hideMethodDocs&&hasClass(e,"method-toggle")){e.open=false}});var pageId=getPageId();if(pageId!==null){expandSection(pageId)}}());(function(){var lineNumbersFunc=function(){};if(getSettingValue("line-numbers")==="true"){lineNumbersFunc=function(x){var count=x.textContent.split("\n").length;var elems=[];for(var i=0;ithe rustdoc book.";var container=document.createElement("div");var shortcuts=[["?","Show this help dialog"],["S","Focus the search field"],["T","Focus the theme picker menu"],["↑","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(function(x){return"
    "+x[0].split(" ").map(function(y,index){return(index&1)===0?""+y+"":" "+y+" "}).join("")+"
    "+x[1]+"
    "}).join("");var div_shortcuts=document.createElement("div");addClass(div_shortcuts,"shortcuts");div_shortcuts.innerHTML="

    Keyboard Shortcuts

    "+shortcuts+"
    ";var infos=["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)","Search multiple things at once by splitting your query with comma (e.g., \ str,u8 or String,struct:Vec,test)","You can look for items with an exact name by putting double quotes around \ - your request: \"string\"","Look for items inside another one by searching for a path: vec::Vec",].map(function(x){return"

    "+x+"

    "}).join("");var div_infos=document.createElement("div");addClass(div_infos,"infos");div_infos.innerHTML="

    Search Tricks

    "+infos;container.appendChild(book_info);container.appendChild(div_shortcuts);container.appendChild(div_infos);popup.appendChild(container);insertAfter(popup,getSearchElement());buildHelperPopup=function(){}}function loadScript(url){var script=document.createElement('script');script.src=url;document.head.append(script)}function setupSearchLoader(){var searchLoaded=false;function loadSearch(){if(!searchLoaded){searchLoaded=true;loadScript(window.searchJS)}}addSearchOptions(window.ALL_CRATES);addSidebarCrates(window.ALL_CRATES);search_input.addEventListener("focus",function(){search_input.origPlaceholder=search_input.placeholder;search_input.placeholder="Type your search here.";loadSearch()});search_input.addEventListener("blur",function(){search_input.placeholder=search_input.origPlaceholder});search_input.removeAttribute('disabled');var crateSearchDropDown=document.getElementById("crate-search");if(crateSearchDropDown){crateSearchDropDown.addEventListener("focus",loadSearch)}var params=getQueryStringParams();if(params.search!==undefined){loadSearch()}}onHashChange(null);window.onhashchange=onHashChange;setupSearchLoader()}());function copy_path(but){var parent=but.parentElement;var path=[];onEach(parent.childNodes,function(child){if(child.tagName==='A'){path.push(child.textContent)}});var el=document.createElement('textarea');el.value='use '+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.textContent='✓'} \ No newline at end of file + your request: \"string\"","Look for items inside another one by searching for a path: vec::Vec",].map(function(x){return"

    "+x+"

    "}).join("");var div_infos=document.createElement("div");addClass(div_infos,"infos");div_infos.innerHTML="

    Search Tricks

    "+infos;container.appendChild(book_info);container.appendChild(div_shortcuts);container.appendChild(div_infos);popup.appendChild(container);insertAfter(popup,searchState.outputElement());buildHelperPopup=function(){}};onHashChange(null);window.addEventListener("hashchange",onHashChange);searchState.setup()}());(function(){var reset_button_timeout=null;window.copy_path=function(but){var parent=but.parentElement;var path=[];onEach(parent.childNodes,function(child){if(child.tagName==='A'){path.push(child.textContent)}});var el=document.createElement('textarea');el.value='use '+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';var tmp;if(but.childNodes.length<2){tmp=document.createTextNode('✓');but.appendChild(tmp)}else{onEachLazy(but.childNodes,function(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/noscript.css b/noscript.css index 807cd868f..aea68efbc 100644 --- a/noscript.css +++ b/noscript.css @@ -1 +1 @@ - #main>h2+div,#main>h2+h3,#main>h3+div{display:block;}.loading-content{display:none;}#main>h2+div,#main>h3+div{display:block;}#main>h2+h3{display:flex;}#main .impl-items .hidden{display:block !important;}#main .impl-items h4.hidden{display:flex !important;}#main .attributes{margin-left:0 !important;}#copy-path{display:none;} \ No newline at end of file + #main .attributes{margin-left:0 !important;}#copy-path{display:none;} \ No newline at end of file diff --git a/noto-sans-kr-v13-korean-regular-LICENSE.txt b/noto-sans-kr-v13-korean-regular-LICENSE.txt new file mode 100644 index 000000000..922d5fdc1 --- /dev/null +++ b/noto-sans-kr-v13-korean-regular-LICENSE.txt @@ -0,0 +1,93 @@ +Copyright 2014, 2015 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries. + +This Font Software is licensed under the SIL Open Font License, Version 1.1. + +This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/noto-sans-kr-v13-korean-regular.woff b/noto-sans-kr-v13-korean-regular.woff new file mode 100644 index 000000000..01d6b6b54 Binary files /dev/null and b/noto-sans-kr-v13-korean-regular.woff differ diff --git a/prost_example/all.html b/prost_example/all.html deleted file mode 100644 index dc89cc124..000000000 --- a/prost_example/all.html +++ /dev/null @@ -1,7 +0,0 @@ -List of all items in this crate - -

    List of all items[] - -

    Structs

    Functions

    - \ No newline at end of file diff --git a/prost_example/fn.index.html b/prost_example/fn.index.html deleted file mode 100644 index eca1eb9d6..000000000 --- a/prost_example/fn.index.html +++ /dev/null @@ -1,5 +0,0 @@ -prost_example::index - Rust - -

    Function prost_example::index[][src]

    pub(crate) async fn index(msg: ProtoBuf<MyObj>) -> Result<HttpResponse>
    - \ No newline at end of file diff --git a/prost_example/fn.main.html b/prost_example/fn.main.html deleted file mode 100644 index ca20712af..000000000 --- a/prost_example/fn.main.html +++ /dev/null @@ -1,5 +0,0 @@ -prost_example::main - Rust - -

    Function prost_example::main[][src]

    pub(crate) fn main() -> Result<()>
    - \ No newline at end of file diff --git a/prost_example/index.html b/prost_example/index.html deleted file mode 100644 index 1bd63a269..000000000 --- a/prost_example/index.html +++ /dev/null @@ -1,7 +0,0 @@ -prost_example - Rust - -

    Crate prost_example[][src]

    Structs

    -
    MyObj

    Functions

    -
    index
    main
    - \ No newline at end of file diff --git a/prost_example/sidebar-items.js b/prost_example/sidebar-items.js deleted file mode 100644 index 86fee7d81..000000000 --- a/prost_example/sidebar-items.js +++ /dev/null @@ -1 +0,0 @@ -initSidebarItems({"fn":[["index",""],["main",""]],"struct":[["MyObj",""]]}); \ No newline at end of file diff --git a/prost_example/struct.MyObj.html b/prost_example/struct.MyObj.html deleted file mode 100644 index 41f476fd8..000000000 --- a/prost_example/struct.MyObj.html +++ /dev/null @@ -1,43 +0,0 @@ -prost_example::MyObj - Rust - -

    Struct prost_example::MyObj[][src]

    pub struct MyObj {
    -    pub number: i32,
    -    pub name: String,
    -}

    - Fields

    number: i32name: String

    Trait Implementations

    impl Clone for MyObj[src]

    impl Debug for MyObj[src]

    impl Default for MyObj[src]

    impl Message for MyObj[src]

    impl PartialEq<MyObj> for MyObj[src]

    impl StructuralPartialEq for MyObj[src]

    Auto Trait Implementations

    impl RefUnwindSafe for MyObj

    impl Send for MyObj

    impl Sync for MyObj

    impl Unpin for MyObj

    impl UnwindSafe for MyObj

    Blanket Implementations

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

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

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

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

    impl<T> Instrument for T[src]

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

    impl<T> Same<T> for T

    type Output = T

    Should always be Self

    -

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

    type Owned = T

    The resulting type after obtaining ownership.

    -

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

    type Error = Infallible

    The type returned in the event of a conversion error.

    -

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

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

    The type returned in the event of a conversion error.

    -

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

    - \ No newline at end of file diff --git a/rustdoc.css b/rustdoc.css index e86df6115..91a1f447b 100644 --- a/rustdoc.css +++ b/rustdoc.css @@ -1 +1 @@ - @font-face {font-family:'Fira Sans';font-style:normal;font-weight:400;src:local('Fira Sans'),url("FiraSans-Regular.woff2") format("woff2"),url("FiraSans-Regular.woff") format('woff');font-display:swap;}@font-face {font-family:'Fira Sans';font-style:normal;font-weight:500;src:local('Fira Sans Medium'),url("FiraSans-Medium.woff2") format("woff2"),url("FiraSans-Medium.woff") format('woff');font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:400;src:local('Source Serif 4'),url("SourceSerif4-Regular.ttf.woff") format('woff');font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:italic;font-weight:400;src:local('Source Serif 4 Italic'),url("SourceSerif4-It.ttf.woff") format('woff');font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:700;src:local('Source Serif 4 Bold'),url("SourceSerif4-Bold.ttf.woff") format('woff');font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:400;src:url("SourceCodePro-Regular.ttf.woff") format('woff');font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:italic;font-weight:400;src:url("SourceCodePro-It.ttf.woff") format('woff');font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:600;src:url("SourceCodePro-Semibold.ttf.woff") format('woff');font-display:swap;}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}html{content:"";}@media (prefers-color-scheme:light){html{content:"light";}}@media (prefers-color-scheme:dark){html{content:"dark";}}body{font:16px/1.4 "Source Serif 4",serif;margin:0;position:relative;padding:10px 15px 20px 15px;-webkit-font-feature-settings:"kern","liga";-moz-font-feature-settings:"kern","liga";font-feature-settings:"kern","liga";}h1{font-size:1.5em;}h2{font-size:1.4em;}h3{font-size:1.3em;}h1,h2,h3:not(.impl):not(.method):not(.type):not(.tymethod):not(.notable),h4:not(.method):not(.type):not(.tymethod):not(.associatedconstant){font-weight:500;margin:20px 0 15px 0;padding-bottom:6px;}h1.fqn{border-bottom:1px dashed;margin-top:0;}h1.fqn>.in-band>a:hover{text-decoration:underline;}h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod):not(.associatedconstant){border-bottom:1px solid;}h3.impl,h3.method,h4.method,h3.type,h4.type,h4.associatedconstant{flex-basis:100%;font-weight:600;margin-top:16px;margin-bottom:10px;position:relative;}h3.impl,h3.method,h3.type{padding-left:15px;}h1,h2,h3,h4,.sidebar,a.source,.search-input,.content table td:first-child>a,.collapse-toggle,div.item-list .out-of-band,#source-sidebar,#sidebar-toggle,#main>ul.docblock>li>a{font-family:"Fira Sans",Arial,sans-serif;}.content ul.crate a.crate{font-size:16px/1.6;font-family:"Fira Sans",Arial,sans-serif;}ol,ul{padding-left:25px;}ul ul,ol ul,ul ol,ol ol{margin-bottom:.6em;}p{margin:0 0 .6em 0;}summary{outline:none;}code,pre,a.test-arrow{font-family:"Source Code Pro",monospace;}.docblock code,.docblock-short code{border-radius:3px;padding:0 0.1em;}.docblock pre code,.docblock-short pre code{padding:0;padding-right:1ex;}pre{padding:14px;}.source .content pre{padding:20px;}img{max-width:100%;}li{position:relative;}.source .content{margin-top:50px;max-width:none;overflow:visible;margin-left:0px;min-width:70em;}nav.sub{font-size:16px;text-transform:uppercase;}.sidebar{width:200px;position:fixed;left:0;top:0;bottom:0;overflow:auto;}*{scrollbar-width:initial;}.sidebar{scrollbar-width:thin;}::-webkit-scrollbar{width:12px;}.sidebar::-webkit-scrollbar{width:8px;}::-webkit-scrollbar-track{-webkit-box-shadow:inset 0;}.sidebar .block>ul>li{margin-right:-10px;}.content,nav{max-width:960px;}.hidden{display:none !important;}.logo-container{height:100px;width:100px;position:relative;margin:20px auto;display:block;margin-top:10px;}.logo-container>img{max-width:100px;max-height:100px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:block;}.sidebar .location{border:1px solid;font-size:17px;margin:30px 10px 20px 10px;text-align:center;word-wrap:break-word;}.sidebar .version{font-size:15px;text-align:center;border-bottom:1px solid;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;}.location:empty{border:none;}.location a:first-child{font-weight:500;}.block{padding:0;margin-bottom:14px;}.block h2,.block h3{margin-top:0;margin-bottom:8px;text-align:center;}.block ul,.block li{margin:0 10px;padding:0;list-style:none;}.block a{display:block;text-overflow:ellipsis;overflow:hidden;line-height:15px;padding:7px 5px;font-size:14px;font-weight:300;transition:border 500ms ease-out;}.sidebar-title{border-top:1px solid;border-bottom:1px solid;text-align:center;font-size:17px;margin-bottom:5px;}.sidebar-links{margin-bottom:15px;}.sidebar-links>a{padding-left:10px;width:100%;}.sidebar-menu{display:none;}.content{padding:15px 0;}.source .content pre.rust{white-space:pre;overflow:auto;padding-left:0;}.rustdoc:not(.source) .example-wrap{display:inline-flex;margin-bottom:10px;}.example-wrap{position:relative;width:100%;}.example-wrap>pre.line-number{overflow:initial;border:1px solid;border-top-left-radius:5px;border-bottom-left-radius:5px;padding:13px 8px;text-align:right;}.rustdoc:not(.source) .example-wrap>pre.rust{width:100%;overflow-x:auto;}.rustdoc:not(.source) .example-wrap>pre{margin:0;}#search{margin-left:230px;position:relative;}#results{position:absolute;right:0;left:0;overflow:auto;}#results>table{width:100%;table-layout:fixed;margin-bottom:40px;}.content pre.line-numbers{float:left;border:none;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}.line-numbers span{cursor:pointer;}.docblock-short{overflow-wrap:anywhere;}.docblock-short p{display:inline;}.docblock-short p{overflow:hidden;text-overflow:ellipsis;margin:0;}.docblock>:not(pre)>code,.docblock-short>:not(pre)>code{white-space:pre-wrap;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5{border-bottom:1px solid;}#main>.docblock h1{font-size:1.3em;}#main>.docblock h2{font-size:1.15em;}#main>.docblock h3,#main>.docblock h4,#main>.docblock h5{font-size:1em;}#main>h2+div,#main>h2+h3,#main>h3+div{display:none;flex-wrap:wrap;}.docblock h1{font-size:1em;}.docblock h2{font-size:0.95em;}.docblock h3,.docblock h4,.docblock h5{font-size:0.9em;}.docblock{margin-left:24px;position:relative;}.content .out-of-band{float:right;font-size:23px;margin:0px;padding:0px;font-weight:normal;}h3.impl>.out-of-band{font-size:21px;}h4.method>.out-of-band{font-size:19px;}h4>code,h3>code,.invisible>code{max-width:calc(100% - 41px);display:block;}.invisible{width:100%;display:inline-block;}.content .in-band{margin:0px;padding:0px;}.in-band>code{display:inline-block;}#main{position:relative;}#main>.since{top:inherit;font-family:"Fira Sans",Arial,sans-serif;}.content table:not(.table-display){border-spacing:0 5px;}.content td{vertical-align:top;}.content td:first-child{padding-right:20px;}.content td p:first-child{margin-top:0;}.content td h1,.content td h2{margin-left:0;font-size:1.1em;}.content tr:first-child td{border-top:0;}.docblock table{margin:.5em 0;width:calc(100% - 2px);border:1px dashed;}.docblock table td{padding:.5em;border:1px dashed;}.docblock table th{padding:.5em;text-align:left;border:1px solid;}.fields+table{margin-bottom:1em;}.content .item-list{list-style-type:none;padding:0;}.content .multi-column{-moz-column-count:5;-moz-column-gap:2.5em;-webkit-column-count:5;-webkit-column-gap:2.5em;column-count:5;column-gap:2.5em;}.content .multi-column li{width:100%;display:inline-block;}.content .method{font-size:1em;position:relative;}.content .method .where,.content .fn .where,.content .where.fmt-newline{display:block;font-size:0.8em;}.content .methods>div:not(.notable-traits){margin-left:40px;margin-bottom:15px;}.content .docblock>.impl-items{margin-left:20px;margin-top:-34px;}.content .docblock>.impl-items>h4{border-bottom:0;}.content .docblock>.impl-items .table-display{margin:0;}.content .docblock>.impl-items table td{padding:0;}.toggle-wrapper.marg-left>.collapse-toggle{left:-24px;}.content .docblock>.impl-items .table-display,.impl-items table td{border:none;}.content .item-info code{font-size:90%;}.content .item-info{position:relative;margin-left:33px;margin-top:-13px;}.sub-variant>div>.item-info{margin-top:initial;}.content .item-info::before{content:'⬑';font-size:25px;position:absolute;top:-6px;left:-19px;}.content .impl-items .method,.content .impl-items>.type,.impl-items>.associatedconstant{margin-left:20px;}.content .impl-items .docblock,.content .impl-items .item-info{margin-bottom:.6em;}.content .impl-items>.item-info{margin-left:40px;}.methods>.item-info,.content .impl-items>.item-info{margin-top:-8px;}.impl-items{flex-basis:100%;}#main>.item-info{margin-top:0;}nav:not(.sidebar){border-bottom:1px solid;padding-bottom:10px;margin-bottom:10px;}nav.main{padding:20px 0;text-align:center;}nav.main .current{border-top:1px solid;border-bottom:1px solid;}nav.main .separator{border:1px solid;display:inline-block;height:23px;margin:0 20px;}nav.sum{text-align:right;}nav.sub form{display:inline;}nav.sub,.content{margin-left:230px;}a{text-decoration:none;background:transparent;}.small-section-header:hover>.anchor{display:initial;}.in-band:hover>.anchor,.impl:hover>.anchor{display:inline-block;position:absolute;}.anchor{display:none;position:absolute;left:-7px;}.anchor.field{left:-5px;}.small-section-header>.anchor{left:-28px;padding-right:10px;}.anchor:before{content:'\2002\00a7\2002';}.docblock a:not(.srclink):not(.test-arrow):hover,.docblock-short a:not(.srclink):not(.test-arrow):hover,.item-info a{text-decoration:underline;}.invisible>.srclink,h4>code+.srclink,h3>code+.srclink{position:absolute;top:0;right:0;font-size:17px;font-weight:normal;}.block a.current.crate{font-weight:500;}.search-container{position:relative;}.search-container>div{display:inline-flex;width:calc(100% - 63px);}#crate-search{min-width:115px;margin-top:5px;padding:6px;padding-right:19px;flex:none;border:0;border-right:0;border-radius:4px 0 0 4px;outline:none;cursor:pointer;border-right:1px solid;-moz-appearance:none;-webkit-appearance:none;text-indent:0.01px;text-overflow:"";background-repeat:no-repeat;background-color:transparent;background-size:20px;background-position:calc(100% - 1px) 56%;}.search-container>.top-button{position:absolute;right:0;top:10px;}.search-input{-moz-box-sizing:border-box !important;box-sizing:border-box !important;outline:none;border:none;border-radius:1px;margin-top:5px;padding:10px 16px;font-size:17px;transition:border-color 300ms ease;transition:border-radius 300ms ease-in-out;transition:box-shadow 300ms ease-in-out;width:100%;}#crate-search+.search-input{border-radius:0 1px 1px 0;width:calc(100% - 32px);}.search-input:focus{border-radius:2px;border:0;outline:0;}.search-results .desc{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:block;}.search-results a{display:block;}.content .search-results td:first-child{padding-right:0;width:50%;}.content .search-results td:first-child a{padding-right:10px;}.content .search-results td:first-child a:after{clear:both;content:"";display:block;}.content .search-results td:first-child a span{float:left;}tr.result span.primitive::after{content:' (primitive type)';font-style:italic;}tr.result span.keyword::after{content:' (keyword)';font-style:italic;}body.blur>:not(#help){filter:blur(8px);-webkit-filter:blur(8px);opacity:.7;}#help{width:100%;height:100vh;position:fixed;top:0;left:0;display:flex;justify-content:center;align-items:center;}#help>div{flex:0 0 auto;box-shadow:0 0 6px rgba(0,0,0,.2);width:550px;height:auto;border:1px solid;}#help dt{float:left;clear:left;display:block;margin-right:0.5rem;}#help>div>span{text-align:center;display:block;margin:10px 0;font-size:18px;border-bottom:1px solid #ccc;padding-bottom:4px;margin-bottom:6px;}#help dd{margin:5px 35px;}#help .infos{padding-left:0;}#help h1,#help h2{margin-top:0;}#help>div div{width:50%;float:left;padding:0 20px 20px 17px;;}.stab{display:table;border-width:1px;border-style:solid;padding:3px;margin-bottom:5px;font-size:90%;}.stab p{display:inline;}.stab summary{display:list-item;}.stab .emoji{font-size:1.5em;}.emoji{text-shadow:1px 0 0 black,-1px 0 0 black,0 1px 0 black,0 -1px 0 black;}.module-item .stab{border-radius:3px;display:inline-block;font-size:80%;line-height:1.2;margin-bottom:0;margin-right:.3em;padding:2px;vertical-align:text-bottom;}.module-item.unstable{opacity:0.65;}.since{font-weight:normal;font-size:initial;position:absolute;right:0;top:0;}.impl-items .since,.impl .since,.methods .since{flex-grow:0;padding-left:12px;padding-right:2px;position:initial;}.impl-items .srclink,.impl .srclink,.methods .srclink{flex-grow:0;font-size:17px;font-weight:normal;}.impl-items code,.impl code,.methods code{flex-grow:1;}.impl-items h4,h4.impl,h3.impl,.methods h3{display:flex;flex-basis:100%;font-size:16px;margin-bottom:12px;justify-content:space-between;}.variants_table{width:100%;}.variants_table tbody tr td:first-child{width:1%;}td.summary-column{width:100%;}.summary{padding-right:0px;}pre.rust .question-mark{font-weight:bold;}a.test-arrow{display:inline-block;position:absolute;padding:5px 10px 5px 10px;border-radius:5px;font-size:130%;top:5px;right:5px;z-index:1;}a.test-arrow:hover{text-decoration:none;}.section-header:hover a:before{position:absolute;left:-25px;padding-right:10px;content:'\2002\00a7\2002';}.section-header:hover a{text-decoration:none;}.section-header a{color:inherit;}.collapse-toggle{font-weight:300;position:absolute;left:-23px;top:0;}h3>.collapse-toggle,h4>.collapse-toggle{font-size:0.8em;top:5px;}.toggle-wrapper>.collapse-toggle{left:-24px;margin-top:0px;}.toggle-wrapper{position:relative;margin-top:0;}.toggle-wrapper.collapsed{height:25px;transition:height .2s;margin-bottom:.6em;}.collapse-toggle>.inner{display:inline-block;width:1.2ch;text-align:center;}.collapse-toggle.hidden-default{position:relative;margin-left:20px;}.since+.srclink{display:table-cell;padding-left:10px;}.item-spacer{width:100%;height:12px;}.out-of-band>span.since{position:initial;font-size:20px;margin-right:5px;}.toggle-wrapper>.collapse-toggle{left:0;}.variant+.toggle-wrapper+.docblock>p{margin-top:5px;}.sub-variant,.sub-variant>h3{margin-top:1px !important;}#main>.sub-variant>h3{font-size:15px;margin-left:25px;margin-bottom:5px;}.sub-variant>div{margin-left:20px;margin-bottom:10px;}.sub-variant>div>span{display:block;position:relative;}.toggle-label{display:inline-block;margin-left:4px;margin-top:3px;}.enum>.toggle-wrapper+.docblock,.struct>.toggle-wrapper+.docblock{margin-left:30px;margin-bottom:20px;margin-top:5px;}.docblock>.section-header:first-child{margin-left:15px;margin-top:0;}.docblock>.section-header:first-child:hover>a:before{left:-10px;}.enum>.collapsed,.struct>.collapsed{margin-bottom:25px;}#main>.variant,#main>.structfield{display:block;}.attributes{display:block;margin-top:0px !important;margin-right:0px;margin-bottom:0px !important;margin-left:30px;}.toggle-attributes.collapsed{margin-bottom:0;}.impl-items>.toggle-attributes{margin-left:20px;}.impl-items .attributes{font-weight:500;}:target>code{opacity:1;}.information{position:absolute;left:-25px;margin-top:7px;z-index:1;}.tooltip{position:relative;display:inline-block;cursor:pointer;}.tooltip::after{display:none;text-align:center;padding:5px 3px 3px 3px;border-radius:6px;margin-left:5px;font-size:16px;}.tooltip.ignore::after{content:"This example is not tested";}.tooltip.compile_fail::after{content:"This example deliberately fails to compile";}.tooltip.should_panic::after{content:"This example panics";}.tooltip.edition::after{content:"This code runs with edition " attr(data-edition);}.tooltip::before{content:" ";position:absolute;top:50%;left:16px;margin-top:-5px;border-width:5px;border-style:solid;display:none;}.tooltip:hover::before,.tooltip:hover::after{display:inline;}.tooltip.compile_fail,.tooltip.should_panic,.tooltip.ignore{font-weight:bold;font-size:20px;}.notable-traits-tooltip{display:inline-block;cursor:pointer;}.notable-traits:hover .notable-traits-tooltiptext,.notable-traits .notable-traits-tooltiptext.force-tooltip{display:inline-block;}.notable-traits .notable-traits-tooltiptext{display:none;padding:5px 3px 3px 3px;border-radius:6px;margin-left:5px;z-index:10;font-size:16px;cursor:default;position:absolute;border:1px solid;}.notable-traits-tooltip::after{content:"\00a0\00a0\00a0";}.notable-traits .notable,.notable-traits .docblock{margin:0;}.notable-traits .docblock code.content{margin:0;padding:0;font-size:20px;}pre.rust.rust-example-rendered{position:relative;}pre.rust{tab-size:4;-moz-tab-size:4;}.search-failed{text-align:center;margin-top:20px;}.search-failed>ul{text-align:left;max-width:570px;margin-left:auto;margin-right:auto;}#titles{height:35px;}#titles>button{float:left;width:33.3%;text-align:center;font-size:18px;cursor:pointer;border:0;border-top:2px solid;}#titles>button:not(:last-child){margin-right:1px;width:calc(33.3% - 1px);}#titles>button>div.count{display:inline-block;font-size:16px;}.notable-traits{cursor:pointer;z-index:2;margin-left:5px;}h4>.notable-traits{position:absolute;left:-44px;top:2px;}#all-types{text-align:center;border:1px solid;margin:0 10px;margin-bottom:10px;display:block;border-radius:7px;}#all-types>p{margin:5px 0;}#sidebar-toggle{position:fixed;top:30px;left:300px;z-index:10;padding:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;cursor:pointer;font-weight:bold;transition:left .5s;font-size:1.2em;border:1px solid;border-left:0;}#source-sidebar{position:fixed;top:0;bottom:0;left:0;width:300px;z-index:1;overflow:auto;transition:left .5s;border-right:1px solid;}#source-sidebar>.title{font-size:1.5em;text-align:center;border-bottom:1px solid;margin-bottom:6px;}.theme-picker{position:absolute;left:211px;top:19px;}.theme-picker button{outline:none;}#settings-menu,.help-button{position:absolute;top:10px;}#settings-menu{right:0;outline:none;}#theme-picker,#settings-menu,.help-button,#copy-path{padding:4px;width:27px;height:29px;border:1px solid;border-radius:3px;cursor:pointer;}.help-button{right:30px;font-family:"Fira Sans",Arial,sans-serif;text-align:center;font-size:17px;padding-top:2px;}#copy-path{height:30px;font-size:18px;margin-left:10px;padding:0 6px;width:28px;}#theme-choices{display:none;position:absolute;left:0;top:28px;border:1px solid;border-radius:3px;z-index:1;cursor:pointer;}#theme-choices>button{border:none;width:100%;padding:4px 8px;text-align:center;background:rgba(0,0,0,0);}#theme-choices>button:not(:first-child){border-top:1px solid;}@media (min-width:701px){.docblock>.information:first-child>.tooltip{margin-top:16px;}}@media (max-width:700px){body{padding-top:0px;}.rustdoc>.sidebar{height:45px;min-height:40px;margin:0;margin-left:-15px;padding:0 15px;position:static;z-index:11;}.sidebar>.location{float:right;margin:0px;margin-top:2px;padding:3px 10px 1px 10px;min-height:39px;background:inherit;text-align:left;font-size:24px;}.sidebar .location:empty{padding:0;}.sidebar .logo-container{width:35px;height:35px;margin-top:5px;margin-bottom:5px;float:left;margin-left:50px;}.sidebar .logo-container>img{max-width:35px;max-height:35px;}.sidebar-menu{position:fixed;z-index:10;font-size:2rem;cursor:pointer;width:45px;left:0;text-align:center;display:block;border-bottom:1px solid;border-right:1px solid;height:45px;}.rustdoc.source>.sidebar>.sidebar-menu{display:none;}.sidebar-elems{position:fixed;z-index:1;left:0;top:45px;bottom:0;overflow-y:auto;border-right:1px solid;display:none;}.sidebar>.block.version{border-bottom:none;margin-top:12px;margin-bottom:0;}nav.sub{width:calc(100% - 32px);float:right;}.content{margin-left:0px;}#main,#search{margin-top:45px;padding:0;}.content .in-band{width:100%;}.content h4>.out-of-band{position:inherit;}.toggle-wrapper>.collapse-toggle{left:0px;}.toggle-wrapper{height:1.5em;}#search{margin-left:0;}.content .impl-items .method,.content .impl-items>.type,.impl-items>.associatedconstant{display:flex;}.anchor{display:none !important;}h1.fqn{overflow:initial;}.theme-picker{left:10px;top:54px;z-index:1;}h4>.notable-traits{position:absolute;left:-22px;top:24px;}#titles>button>div.count{float:left;width:100%;}#titles{height:50px;}.sidebar.mobile{position:fixed;width:100%;margin-left:0;background-color:rgba(0,0,0,0);height:100%;}.sidebar.mobile>div.version{overflow:hidden;max-height:33px;}.sidebar{width:calc(100% + 30px);}.show-it{display:block;width:246px;}.show-it>.block.items{margin:8px 0;}.show-it>.block.items>ul{margin:0;}.show-it>.block.items>ul>li{text-align:center;margin:2px 0;}.show-it>.block.items>ul>li>a{font-size:21px;}#sidebar-filler{position:fixed;left:45px;width:calc(100% - 45px);top:0;height:45px;z-index:-1;border-bottom:1px solid;}.collapse-toggle{left:-20px;}.impl>.collapse-toggle{left:-10px;}#all-types{margin:10px;}#sidebar-toggle{top:100px;width:30px;font-size:1.5rem;text-align:center;padding:0;}#source-sidebar{z-index:11;}#main>.line-numbers{margin-top:0;}.notable-traits .notable-traits-tooltiptext{left:0;top:100%;}.help-button{display:none;}.search-container>div{width:calc(100% - 32px);}}@media print{nav.sub,.content .out-of-band,.collapse-toggle{display:none;}}@media (max-width:464px){#titles,#titles>button{height:73px;}#main,#search{margin-top:100px;}#main>table:not(.table-display) td{word-break:break-word;width:50%;}.search-container>div{display:block;width:calc(100% - 37px);}#crate-search{width:100%;border-radius:4px;border:0;}#crate-search+.search-input{width:calc(100% + 71px);margin-left:-36px;}#theme-picker,#settings-menu{padding:5px;width:31px;height:31px;}#theme-picker{margin-top:-2px;}#settings-menu{top:7px;}.docblock{margin-left:12px;}}h3.notable{margin:0;margin-bottom:13px;font-size:19px;}kbd{display:inline-block;padding:3px 5px;font:15px monospace;line-height:10px;vertical-align:middle;border:solid 1px;border-radius:3px;box-shadow:inset 0 -1px 0;cursor:default;}.hidden-by-impl-hider,.hidden-by-usual-hider{display:none !important;}#implementations-list>h3>span.in-band{width:100%;}.table-display{width:100%;border:0;border-collapse:collapse;border-spacing:0;font-size:16px;}.table-display tr td:first-child{padding-right:0;}.table-display tr td:last-child{float:right;}.table-display .out-of-band{position:relative;font-size:19px;display:block;}#implementors-list>.impl-items .table-display .out-of-band{font-size:17px;}.table-display td:hover .anchor{display:block;top:2px;left:-5px;}#main>ul{padding-left:10px;}#main>ul>li{list-style:none;}.non-exhaustive{margin-bottom:1em;}div.children{padding-left:27px;display:none;}div.name{cursor:pointer;position:relative;margin-left:16px;}div.files>a{display:block;padding:0 3px;}div.files>a:hover,div.name:hover{background-color:#a14b4b;}div.name.expand+.children{display:block;}div.name::before{content:"\25B6";padding-left:4px;font-size:0.7em;position:absolute;left:-16px;top:4px;}div.name.expand::before{transform:rotate(90deg);left:-15px;top:2px;}.type-decl>pre>.toggle-wrapper.toggle-attributes.top-attr{margin-left:0 !important;}.type-decl>pre>.docblock.attributes.top-attr{margin-left:1.8em !important;}.type-decl>pre>.toggle-attributes{margin-left:2.2em;}.type-decl>pre>.docblock.attributes{margin-left:4em;} \ No newline at end of file + @font-face {font-family:'Fira Sans';font-style:normal;font-weight:400;src:local('Fira Sans'),url("FiraSans-Regular.woff2") format("woff2"),url("FiraSans-Regular.woff") format('woff');font-display:swap;}@font-face {font-family:'Fira Sans';font-style:normal;font-weight:500;src:local('Fira Sans Medium'),url("FiraSans-Medium.woff2") format("woff2"),url("FiraSans-Medium.woff") format('woff');font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:400;src:local('Source Serif 4'),url("SourceSerif4-Regular.ttf.woff2") format("woff2"),url("SourceSerif4-Regular.ttf.woff") format("woff");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:italic;font-weight:400;src:local('Source Serif 4 Italic'),url("SourceSerif4-It.ttf.woff2") format("woff2"),url("SourceSerif4-It.ttf.woff") format("woff");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:700;src:local('Source Serif 4 Bold'),url("SourceSerif4-Bold.ttf.woff2") format("woff2"),url("SourceSerif4-Bold.ttf.woff") format("woff");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:400;src:url("SourceCodePro-Regular.ttf.woff2") format("woff2"),url("SourceCodePro-Regular.ttf.woff") format("woff");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:italic;font-weight:400;src:url("SourceCodePro-It.ttf.woff2") format("woff2"),url("SourceCodePro-It.ttf.woff") format("woff");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:600;src:url("SourceCodePro-Semibold.ttf.woff2") format("woff2"),url("SourceCodePro-Semibold.ttf.woff") format("woff");font-display:swap;}@font-face {font-family:'Noto Sans KR';src:url("noto-sans-kr-v13-korean-regular.woff") format("woff");font-display:swap;unicode-range:U+A960-A97F,U+AC00-D7AF,U+D7B0-D7FF;}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}html{content:"";}@media (prefers-color-scheme:light){html{content:"light";}}@media (prefers-color-scheme:dark){html{content:"dark";}}body{font:16px/1.4 "Source Serif 4","Noto Sans KR",serif;margin:0;position:relative;padding:10px 15px 20px 15px;-webkit-font-feature-settings:"kern","liga";-moz-font-feature-settings:"kern","liga";font-feature-settings:"kern","liga";}h1{font-size:1.5em;}h2{font-size:1.4em;}h3{font-size:1.3em;}h1,h2,h3,h4{font-weight:500;margin:20px 0 15px 0;padding-bottom:6px;}h1.fqn{display:flex;border-bottom:1px dashed;margin-top:0;padding-left:1px;}h1.fqn>.in-band>a:hover{text-decoration:underline;}h2,h3,h4{border-bottom:1px solid;}.impl,.impl-items .method,.impl-items .type,.impl-items .associatedconstant,.impl-items .associatedtype{flex-basis:100%;font-weight:600;margin-top:16px;margin-bottom:10px;position:relative;}.impl,.method.trait-impl,.type.trait-impl,.associatedconstant.trait-impl,.associatedtype.trait-impl{padding-left:15px;}div.impl-items>div{padding-left:0;}h1,h2,h3,h4,.sidebar,a.source,.search-input,.search-results .result-name,.content table td:first-child>a,.item-left>a,div.item-list .out-of-band,span.since,#source-sidebar,#sidebar-toggle,details.rustdoc-toggle>summary::before,details.undocumented>summary::before,div.impl-items>div:not(.docblock):not(.item-info),.content ul.crate a.crate,a.srclink,#main>ul.docblock>li>a{font-family:"Fira Sans",Arial,sans-serif;}.content ul.crate a.crate{font-size:16px/1.6;}ol,ul{padding-left:25px;}ul ul,ol ul,ul ol,ol ol{margin-bottom:.6em;}p{margin:0 0 .6em 0;}summary{outline:none;}code,pre,a.test-arrow{font-family:"Source Code Pro",monospace;}.docblock code,.docblock-short code{border-radius:3px;padding:0 0.1em;}.docblock pre code,.docblock-short pre code{padding:0;padding-right:1ex;}pre{padding:14px;}.source .content pre{padding:20px;}img{max-width:100%;}li{position:relative;}.source .content{margin-top:50px;max-width:none;overflow:visible;margin-left:0px;}nav.sub{font-size:16px;text-transform:uppercase;}.sidebar{width:200px;position:fixed;left:0;top:0;bottom:0;overflow:auto;}*{scrollbar-width:initial;}.sidebar{scrollbar-width:thin;}::-webkit-scrollbar{width:12px;}.sidebar::-webkit-scrollbar{width:8px;}::-webkit-scrollbar-track{-webkit-box-shadow:inset 0;}.sidebar .block>ul>li{margin-right:-10px;}.content,nav{max-width:960px;}.hidden{display:none !important;}.logo-container{height:100px;width:100px;position:relative;margin:20px auto;display:block;margin-top:10px;}.logo-container>img{max-width:100px;max-height:100px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:block;}.sidebar .location{border:1px solid;font-size:17px;margin:30px 10px 20px 10px;text-align:center;word-wrap:break-word;}.sidebar .version{font-size:15px;text-align:center;border-bottom:1px solid;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;}.location:empty{border:none;}.location a:first-of-type{font-weight:500;}.location a:hover{text-decoration:underline;}.block{padding:0;margin-bottom:14px;}.block h2,.block h3{text-align:center;}.block ul,.block li{margin:0 10px;padding:0;list-style:none;}.block a{display:block;text-overflow:ellipsis;overflow:hidden;line-height:15px;padding:7px 5px;font-size:14px;font-weight:300;transition:border 500ms ease-out;}.sidebar-title{border-top:1px solid;border-bottom:1px solid;text-align:center;font-size:17px;margin-bottom:5px;}.sidebar-links{margin-bottom:15px;}.sidebar-links>a{padding-left:10px;width:100%;}.sidebar-menu{display:none;}.content{padding:15px 0;}.source .content pre.rust{white-space:pre;overflow:auto;padding-left:0;}.rustdoc .example-wrap{display:inline-flex;margin-bottom:10px;}.example-wrap{position:relative;width:100%;}.example-wrap>pre.line-number{overflow:initial;border:1px solid;padding:13px 8px;text-align:right;border-top-left-radius:5px;border-bottom-left-radius:5px;}.rustdoc:not(.source) .example-wrap>pre.rust{width:100%;overflow-x:auto;}.rustdoc .example-wrap>pre{margin:0;}#search{margin-left:230px;position:relative;}#results>table{width:100%;table-layout:fixed;}.content>.example-wrap pre.line-numbers{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}.line-numbers span{cursor:pointer;}.docblock-short{overflow-wrap:anywhere;}.docblock-short p{display:inline;}.docblock-short p{overflow:hidden;text-overflow:ellipsis;margin:0;}.docblock>:not(pre)>code,.docblock-short>:not(pre)>code{white-space:pre-wrap;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5{border-bottom:1px solid;}.top-doc .docblock h1{font-size:1.3em;}.top-doc .docblock h2{font-size:1.15em;}.top-doc .docblock h3,.top-doc .docblock h4,.top-doc .docblock h5{font-size:1em;}.docblock h1{font-size:1em;}.docblock h2{font-size:0.95em;}.docblock h3,.docblock h4,.docblock h5{font-size:0.9em;}.docblock{margin-left:24px;position:relative;}.content .out-of-band{flex-grow:0;text-align:right;font-size:23px;margin:0px;padding:0 0 0 12px;font-weight:normal;}.method>code,.trait-impl>code,.invisible>code{max-width:calc(100% - 41px);display:block;}.invisible{width:100%;display:inline-block;}.content .in-band{flex-grow:1;margin:0px;padding:0px;}.in-band>code{display:inline-block;}#main{position:relative;}#main>.since{top:inherit;font-family:"Fira Sans",Arial,sans-serif;}.content table:not(.table-display){border-spacing:0 5px;}.content td{vertical-align:top;}.content td:first-child{padding-right:20px;}.content td p:first-child{margin-top:0;}.content td h1,.content td h2{margin-left:0;font-size:1.1em;}.content tr:first-child td{border-top:0;}.docblock table{margin:.5em 0;width:calc(100% - 2px);border:1px dashed;}.docblock table td{padding:.5em;border:1px dashed;}.docblock table th{padding:.5em;text-align:left;border:1px solid;}.fields+table{margin-bottom:1em;}.content .item-list{list-style-type:none;padding:0;}.content .multi-column{-moz-column-count:5;-moz-column-gap:2.5em;-webkit-column-count:5;-webkit-column-gap:2.5em;column-count:5;column-gap:2.5em;}.content .multi-column li{width:100%;display:inline-block;}.content>.methods>.method{font-size:1em;position:relative;}.content .method .where,.content .fn .where,.content .where.fmt-newline{display:block;font-size:0.8em;}.content .methods>div:not(.notable-traits):not(.method){margin-left:40px;margin-bottom:15px;}.content .docblock>.impl-items{margin-left:20px;margin-top:-34px;}.content .docblock>.impl-items .table-display{margin:0;}.content .docblock>.impl-items table td{padding:0;}.content .docblock>.impl-items .table-display,.impl-items table td{border:none;}.content .item-info code{font-size:90%;}.content .item-info{position:relative;margin-left:33px;}.sub-variant>div>.item-info{margin-top:initial;}.content .item-info::before{content:'⬑';font-size:25px;position:absolute;top:-6px;left:-19px;}.content .impl-items .method,.content .impl-items>.type,.impl-items>.associatedconstant,.impl-items>.associatedtype,.content .impl-items details>summary>.type,.impl-items details>summary>.associatedconstant,.impl-items details>summary>.associatedtype{margin-left:20px;}.content .impl-items .docblock,.content .impl-items .item-info{margin-bottom:.6em;}.content .impl-items>.item-info{margin-left:40px;}.methods>.item-info,.content .impl-items>.item-info{margin-top:-8px;}.impl-items{flex-basis:100%;}#main>.item-info{margin-top:0;}nav:not(.sidebar){border-bottom:1px solid;padding-bottom:10px;margin-bottom:10px;}nav.main{padding:20px 0;text-align:center;}nav.main .current{border-top:1px solid;border-bottom:1px solid;}nav.main .separator{border:1px solid;display:inline-block;height:23px;margin:0 20px;}nav.sum{text-align:right;}nav.sub form{display:inline;}nav.sub,.content{margin-left:230px;}a{text-decoration:none;background:transparent;}.small-section-header{display:flex;justify-content:space-between;position:relative;}.small-section-header:hover>.anchor{display:initial;}.in-band:hover>.anchor,.impl:hover>.anchor,.method.trait-impl:hover>.anchor,.type.trait-impl:hover>.anchor,.associatedconstant.trait-impl:hover>.anchor,.associatedtype.trait-impl:hover>.anchor{display:inline-block;position:absolute;}.anchor{display:none;position:absolute;left:-7px;}.anchor.field{left:-5px;}.small-section-header>.anchor{left:-28px;padding-right:10px;}.anchor:before{content:'\2002\00a7\2002';}.docblock a:not(.srclink):not(.test-arrow):hover,.docblock-short a:not(.srclink):not(.test-arrow):hover,.item-info a{text-decoration:underline;}.invisible>.srclink,.method>code+.srclink{position:absolute;top:0;right:0;font-size:17px;font-weight:normal;}.block a.current.crate{font-weight:500;}.item-table{display:grid;column-gap:1.2rem;row-gap:0.0rem;grid-template-columns:auto 1fr;justify-items:start;}.item-left,.item-right{display:block;}.item-left{grid-column:1;}.item-right{grid-column:2;}.search-container{position:relative;}.search-container>div{display:inline-flex;width:calc(100% - 63px);}#crate-search{min-width:115px;margin-top:5px;padding:6px;padding-right:19px;flex:none;border:0;border-right:0;border-radius:4px 0 0 4px;outline:none;cursor:pointer;border-right:1px solid;-moz-appearance:none;-webkit-appearance:none;text-indent:0.01px;text-overflow:"";background-repeat:no-repeat;background-color:transparent;background-size:20px;background-position:calc(100% - 1px) 56%;}.search-container>.top-button{position:absolute;right:0;top:10px;}.search-input{-moz-box-sizing:border-box !important;box-sizing:border-box !important;outline:none;border:none;border-radius:1px;margin-top:5px;padding:10px 16px;font-size:17px;transition:border-color 300ms ease;transition:border-radius 300ms ease-in-out;transition:box-shadow 300ms ease-in-out;width:100%;}#crate-search+.search-input{border-radius:0 1px 1px 0;width:calc(100% - 32px);}.search-input:focus{border-radius:2px;border:0;outline:0;}.search-results{display:none;padding-bottom:2em;}.search-results.active{display:block;clear:both;}.search-results .desc>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:block;}.search-results>a{display:block;width:100%;margin-left:2px;margin-right:2px;border-bottom:1px solid #aaa3;}.search-results>a>div{display:flex;flex-flow:row wrap;}.search-results .result-name,.search-results div.desc,.search-results .result-description{width:50%;}.search-results .result-name{padding-right:1em;}.search-results .result-name>span{display:inline-block;margin:0;font-weight:normal;}body.blur>:not(#help){filter:blur(8px);-webkit-filter:blur(8px);opacity:.7;}#help{width:100%;height:100vh;position:fixed;top:0;left:0;display:flex;justify-content:center;align-items:center;}#help>div{flex:0 0 auto;box-shadow:0 0 6px rgba(0,0,0,.2);width:550px;height:auto;border:1px solid;}#help dt{float:left;clear:left;display:block;margin-right:0.5rem;}#help>div>span{text-align:center;display:block;margin:10px 0;font-size:18px;border-bottom:1px solid #ccc;padding-bottom:4px;margin-bottom:6px;}#help dd{margin:5px 35px;}#help .infos{padding-left:0;}#help h1,#help h2{margin-top:0;}#help>div div{width:50%;float:left;padding:0 20px 20px 17px;;}.stab{border-width:1px;border-style:solid;padding:3px;margin-bottom:5px;font-size:90%;font-weight:normal;}.stab p{display:inline;}.stab summary{display:list-item;}.stab .emoji{font-size:1.5em;}.emoji{text-shadow:1px 0 0 black,-1px 0 0 black,0 1px 0 black,0 -1px 0 black;}.module-item .stab,.import-item .stab{border-radius:3px;display:inline-block;font-size:80%;line-height:1.2;margin-bottom:0;margin-right:.3em;padding:2px;vertical-align:text-bottom;}.module-item.unstable,.import-item.unstable{opacity:0.65;}.since{font-weight:normal;font-size:initial;}.impl-items .since,.impl .since,.methods .since{padding-left:12px;padding-right:2px;position:initial;}.impl-items .srclink,.impl .srclink,.methods .srclink{font-size:17px;font-weight:normal;}.rightside{float:right;}.has-srclink{font-size:16px;margin-bottom:12px;justify-content:space-between;}.variants_table{width:100%;}.variants_table tbody tr td:first-child{width:1%;}td.summary-column{width:100%;}.summary{padding-right:0px;}pre.rust .question-mark{font-weight:bold;}a.test-arrow{display:inline-block;position:absolute;padding:5px 10px 5px 10px;border-radius:5px;font-size:130%;top:5px;right:5px;z-index:1;}a.test-arrow:hover{text-decoration:none;}.section-header:hover a:before{position:absolute;left:-25px;padding-right:10px;content:'\2002\00a7\2002';}.section-header:hover a{text-decoration:none;}.section-header a{color:inherit;}.code-attribute{font-weight:300;}.since+.srclink{padding-left:10px;}.item-spacer{width:100%;height:12px;}.out-of-band>span.since{position:initial;font-size:20px;margin-right:5px;}.sub-variant,.sub-variant>h3{margin-top:0px !important;padding-top:1px;}#main>details>.sub-variant>h3{font-size:15px;margin-left:25px;margin-bottom:5px;}.sub-variant>div{margin-left:20px;margin-bottom:10px;}.sub-variant>div>span{display:block;position:relative;}.toggle-label{display:inline-block;margin-left:4px;margin-top:3px;}.docblock>.section-header:first-child{margin-left:15px;margin-top:0;}.docblock>.section-header:first-child:hover>a:before{left:-10px;}#main>.variant,#main>.structfield{display:block;}:target>code{opacity:1;}:target{padding-right:3px;}.information{position:absolute;left:-25px;margin-top:7px;z-index:1;}.tooltip{position:relative;display:inline-block;cursor:pointer;}.tooltip::after{display:none;text-align:center;padding:5px 3px 3px 3px;border-radius:6px;margin-left:5px;font-size:16px;}.tooltip.ignore::after{content:"This example is not tested";}.tooltip.compile_fail::after{content:"This example deliberately fails to compile";}.tooltip.should_panic::after{content:"This example panics";}.tooltip.edition::after{content:"This code runs with edition " attr(data-edition);}.tooltip::before{content:" ";position:absolute;top:50%;left:16px;margin-top:-5px;border-width:5px;border-style:solid;display:none;}.tooltip:hover::before,.tooltip:hover::after{display:inline;}.tooltip.compile_fail,.tooltip.should_panic,.tooltip.ignore{font-weight:bold;font-size:20px;}.notable-traits-tooltip{display:inline-block;cursor:pointer;}.notable-traits:hover .notable-traits-tooltiptext,.notable-traits .notable-traits-tooltiptext.force-tooltip{display:inline-block;}.notable-traits .notable-traits-tooltiptext{display:none;padding:5px 3px 3px 3px;border-radius:6px;margin-left:5px;z-index:10;font-size:16px;cursor:default;position:absolute;border:1px solid;}.notable-traits-tooltip::after{content:"\00a0\00a0\00a0";}.notable-traits .notable,.notable-traits .docblock{margin:0;}.notable-traits .notable{margin:0;margin-bottom:13px;font-size:19px;font-weight:600;}.notable-traits .docblock code.content{margin:0;padding:0;font-size:20px;}pre.rust.rust-example-rendered{position:relative;}pre.rust{tab-size:4;-moz-tab-size:4;}.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;}#titles{height:35px;}#titles>button{float:left;width:33.3%;text-align:center;font-size:18px;cursor:pointer;border:0;border-top:2px solid;}#titles>button:not(:last-child){margin-right:1px;width:calc(33.3% - 1px);}#titles>button>div.count{display:inline-block;font-size:16px;}.notable-traits{cursor:pointer;z-index:2;margin-left:5px;}#all-types{text-align:center;border:1px solid;margin:0 10px;margin-bottom:10px;display:block;border-radius:7px;}#all-types>p{margin:5px 0;}#sidebar-toggle{position:fixed;top:30px;left:300px;z-index:10;padding:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;cursor:pointer;font-weight:bold;transition:left .5s;font-size:1.2em;border:1px solid;border-left:0;}#source-sidebar{position:fixed;top:0;bottom:0;left:0;width:300px;z-index:1;overflow:auto;transition:left .5s;border-right:1px solid;}#source-sidebar>.title{font-size:1.5em;text-align:center;border-bottom:1px solid;margin-bottom:6px;}.theme-picker{position:absolute;left:211px;top:19px;}.theme-picker button{outline:none;}#settings-menu,#help-button{position:absolute;top:10px;}#settings-menu{right:0;outline:none;}#theme-picker,#settings-menu,#help-button,#copy-path{padding:4px;width:27px;height:29px;border:1px solid;border-radius:3px;cursor:pointer;}#help-button{right:30px;font-family:"Fira Sans",Arial,sans-serif;text-align:center;font-size:17px;padding-top:2px;}#copy-path{background:initial;margin-left:10px;padding:0;padding-left:2px;border:0;}#theme-choices{display:none;position:absolute;left:0;top:28px;border:1px solid;border-radius:3px;z-index:1;cursor:pointer;}#theme-choices>button{border:none;width:100%;padding:4px 8px;text-align:center;background:rgba(0,0,0,0);}#theme-choices>button:not(:first-child){border-top:1px solid;}kbd{display:inline-block;padding:3px 5px;font:15px monospace;line-height:10px;vertical-align:middle;border:solid 1px;border-radius:3px;box-shadow:inset 0 -1px 0;cursor:default;}.hidden-by-impl-hider,.hidden-by-usual-hider{display:none !important;}#implementations-list>h3>span.in-band{width:100%;}.table-display{width:100%;border:0;border-collapse:collapse;border-spacing:0;font-size:16px;}.table-display tr td:first-child{padding-right:0;}.table-display tr td:last-child{float:right;}.table-display .out-of-band{position:relative;font-size:19px;display:block;}#implementors-list>.impl-items .table-display .out-of-band{font-size:17px;}.table-display td:hover .anchor{display:block;top:2px;left:-5px;}#main>ul{padding-left:10px;}#main>ul>li{list-style:none;}.non-exhaustive{margin-bottom:1em;}div.children{padding-left:27px;display:none;}div.name{cursor:pointer;position:relative;margin-left:16px;}div.files>a{display:block;padding:0 3px;}div.files>a:hover,div.name:hover{background-color:#a14b4b;}div.name.expand+.children{display:block;}div.name::before{content:"\25B6";padding-left:4px;font-size:0.7em;position:absolute;left:-16px;top:4px;}div.name.expand::before{transform:rotate(90deg);left:-15px;top:2px;}details.rustdoc-toggle>summary.hideme{cursor:pointer;}details.rustdoc-toggle>summary,details.undocumented>summary{list-style:none;}details.rustdoc-toggle>summary::-webkit-details-marker,details.rustdoc-toggle>summary::marker,details.undocumented>summary::-webkit-details-marker,details.undocumented>summary::marker{display:none;}details.rustdoc-toggle>summary.hideme>span{margin-left:9px;}details.rustdoc-toggle>summary::before{content:"[+]";font-weight:300;font-size:0.8em;letter-spacing:1px;cursor:pointer;}details.rustdoc-toggle.top-doc>summary,details.rustdoc-toggle.top-doc>summary::before,details.rustdoc-toggle.non-exhaustive>summary,details.rustdoc-toggle.non-exhaustive>summary::before{font-family:'Fira Sans';font-size:16px;}details.non-exhaustive{margin-bottom:8px;}details.rustdoc-toggle>summary.hideme::before{position:relative;}details.rustdoc-toggle>summary:not(.hideme)::before{position:absolute;left:-23px;top:3px;}.impl-items>details.rustdoc-toggle>summary:not(.hideme)::before,.undocumented>details.rustdoc-toggle>summary:not(.hideme)::before{position:absolute;left:-2px;}details.rustdoc-toggle[open] >summary.hideme{position:absolute;}details.rustdoc-toggle,details.undocumented{position:relative;}details.rustdoc-toggle[open] >summary.hideme>span{display:none;}details.rustdoc-toggle[open] >summary::before{content:"[−]";display:inline;}details.undocumented>summary::before{content:"[+] Show hidden undocumented items";cursor:pointer;font-size:16px;font-weight:300;}details.undocumented[open] >summary::before{content:"[−] Hide undocumented items";}@media (min-width:701px){.docblock>.information:first-child>.tooltip{margin-top:16px;}}@media (max-width:700px){body{padding-top:0px;}.rustdoc>.sidebar{height:45px;min-height:40px;margin:0;margin-left:-15px;padding:0 15px;position:static;z-index:11;}.sidebar>.location{float:right;margin:0px;margin-top:2px;padding:3px 10px 1px 10px;min-height:39px;background:inherit;text-align:left;font-size:24px;}.sidebar .location:empty{padding:0;}.sidebar .logo-container{width:35px;height:35px;margin-top:5px;margin-bottom:5px;float:left;margin-left:50px;}.sidebar .logo-container>img{max-width:35px;max-height:35px;}.sidebar-menu{position:fixed;z-index:10;font-size:2rem;cursor:pointer;width:45px;left:0;text-align:center;display:block;border-bottom:1px solid;border-right:1px solid;height:45px;}.rustdoc.source>.sidebar>.sidebar-menu{display:none;}.sidebar-elems{position:fixed;z-index:1;left:0;top:45px;bottom:0;overflow-y:auto;border-right:1px solid;display:none;}.sidebar>.block.version{overflow:hidden;border-bottom:none;margin-bottom:0;height:100%;padding-left:12px;}.sidebar>.block.version>div.narrow-helper{float:left;width:1px;height:100%;}.sidebar>.block.version>p{margin:0;min-width:55px;display:flex;align-items:center;height:100%;}nav.sub{width:calc(100% - 32px);float:right;}.content{margin-left:0px;}#main,#search{margin-top:45px;padding:0;}#search{margin-left:0;}.anchor{display:none !important;}.theme-picker{left:10px;top:54px;z-index:1;}.notable-traits{position:absolute;left:-22px;top:24px;}#titles>button>div.count{float:left;width:100%;}#titles{height:50px;}.sidebar.mobile{position:fixed;width:100%;margin-left:0;background-color:rgba(0,0,0,0);height:100%;}.sidebar.mobile>div.version{overflow:hidden;max-height:33px;}.sidebar{width:calc(100% + 30px);}.show-it{display:block;width:246px;}.show-it>.block.items{margin:8px 0;}.show-it>.block.items>ul{margin:0;}.show-it>.block.items>ul>li{text-align:center;margin:2px 0;}.show-it>.block.items>ul>li>a{font-size:21px;}#sidebar-filler{position:fixed;left:45px;width:calc(100% - 45px);top:0;height:45px;z-index:-1;border-bottom:1px solid;}#main>details.rustdoc-toggle>summary::before,#main>div>details.rustdoc-toggle>summary::before{left:-11px;}#all-types{margin:10px;}#sidebar-toggle{top:100px;width:30px;font-size:1.5rem;text-align:center;padding:0;}#source-sidebar{z-index:11;}#main>.line-numbers{margin-top:0;}.notable-traits .notable-traits-tooltiptext{left:0;top:100%;}#help-button{display:none;}.item-table{display:flex;flex-flow:column wrap;}.item-left,.item-right{width:100%;}.search-container>div{width:calc(100% - 32px);}.search-results>a{border-bottom:1px solid #aaa9;padding:5px 0px;}.search-results .result-name,.search-results div.desc,.search-results .result-description{width:100%;}.search-results div.desc,.search-results .result-description,.item-right{padding-left:2em;}}@media print{nav.sub,.content .out-of-band{display:none;}}@media (max-width:464px){#titles,#titles>button{height:73px;}#main,#search{margin-top:100px;}#main>table:not(.table-display) td{word-break:break-word;width:50%;}.search-container>div{display:block;width:calc(100% - 37px);}#crate-search{width:100%;border-radius:4px;border:0;}#crate-search+.search-input{width:calc(100% + 71px);margin-left:-36px;}#theme-picker,#settings-menu{padding:5px;width:31px;height:31px;}#theme-picker{margin-top:-2px;}#settings-menu{top:7px;}.docblock{margin-left:12px;}} \ No newline at end of file diff --git a/search-index.js b/search-index.js index 81ffc2263..65a85f7e6 100644 --- a/search-index.js +++ b/search-index.js @@ -1,10 +1,9 @@ var searchIndex = JSON.parse('{\ "actix_cors":{"doc":"Cross-Origin Resource Sharing (CORS) controls for Actix …","t":[13,13,3,4,13,13,13,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["BadRequestHeaders","BadRequestMethod","Cors","CorsError","HeadersNotAllowed","MethodNotAllowed","MissingOrigin","MissingRequestMethod","OriginNotAllowed","WildcardOrigin","allow_any_header","allow_any_method","allow_any_origin","allowed_header","allowed_headers","allowed_methods","allowed_origin","allowed_origin_fn","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":["actix_cors","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["Request header Access-Control-Request-Headers has an …","Request header Access-Control-Request-Method has an …","Builder for CORS middleware.","Errors that can occur when processing CORS guarded …","One or more request headers are not allowed.","Request method is not allowed.","Request header Origin is required but was not provided.","Request header Access-Control-Request-Method is required …","Origin is not allowed to make this request.","Allowed origin argument must not be wildcard (*).","Resets allowed request header list to a state where any …","Resets allowed methods list to all methods.","Resets allowed origin list to a state where any origin is …","Add an allowed request header.","Set a list of request header field names which can be …","Set a list of methods which allowed origins can perform.","Add an origin that is allowed to make requests.","Determinate allowed origins by processing requests which …","","","","","","","A restrictive (security paranoid) set of defaults.","Disable support for preflight requests.","Disable Vary header support.","","Resets exposed response header list to a state where any …","Set a list of headers which are safe to expose to the API …","","","","","","","","Set a maximum time (in seconds) for which this CORS …","","A very permissive set of default for quick development. …","Set to use wildcard origins.","","Allows users to make authenticated requests","","","","","","","","","",""],"i":[1,1,0,0,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,1,2,1,1,1,2,2,2,1,2,2,2,1,1,2,1,2,1,2,2,2,2,1,2,1,1,2,1,2,1,2,1,2,1],"f":[null,null,null,null,null,null,null,null,null,null,[[],["cors",3]],[[],["cors",3]],[[],["cors",3]],[[],["cors",3]],[[],["cors",3]],[[],["cors",3]],[[["str",15]],["cors",3]],[[],["cors",3]],[[]],[[]],[[]],[[]],[[],["corserror",4]],[[]],[[],["cors",3]],[[],["cors",3]],[[],["cors",3]],[[],["httpresponse",3]],[[],["cors",3]],[[],["cors",3]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[],["cors",3]],[[]],[[]],[[],["cors",3]],[[],["statuscode",3]],[[],["cors",3]],[[]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]]],"p":[[4,"CorsError"],[3,"Cors"]]},\ -"actix_identity":{"doc":"Opinionated request identity service for Actix Web apps.","t":[3,16,3,8,3,8,16,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["CookieIdentityPolicy","Future","Identity","IdentityPolicy","IdentityService","RequestIdentity","ResponseFuture","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","domain","forget","from","from","from","from_request","from_request","from_request","get_identity","http_only","identity","into","into","into","login_deadline","max_age","max_age_secs","name","new","new","new_transform","path","remember","same_site","secure","to_owned","to_response","to_response","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","visit_deadline","vzip","vzip","vzip"],"q":["actix_identity","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["Use cookies for request identity storage.","The return type of the middleware","The extractor type to obtain your identity from a request.","Identity policy.","Request identity middleware","Helper trait that allows to get Identity.","The return type of the middleware","","","","","","","","","Sets the Domain attribute of issued cookies.","This method is used to ‘forget’ the current identity …","","","","Parse the session from request and load data from a …","","","","Sets the HttpOnly attribute of issued cookies.","Return the claimed identity of the user associated …","","","","Accepts only users who authenticated within the given …","Sets the Max-Age attribute of issued cookies.","Sets the Max-Age attribute of issued cookies with given …","Sets the name of issued cookies.","Create new CookieIdentityPolicy instance.","Create new identity service with specified backend.","","Sets the Path attribute of issued cookies.","Remember identity.","Sets the SameSite attribute of issued cookies.","Sets the Secure attribute of issued cookies.","","Write changes to response","","","","","","","","","","","Accepts only users who have visited within given deadline.","","",""],"i":[0,1,0,0,0,0,1,2,3,4,2,3,4,4,4,2,4,2,3,4,1,2,4,5,2,4,2,3,4,2,2,2,2,2,3,3,2,4,2,2,4,1,2,2,3,4,2,3,4,2,3,4,2,2,3,4],"f":[null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[],["identity",3]],[[]],[[],["cookieidentitypolicy",3]],[[]],[[]],[[]],[[]],[[["servicerequest",3]]],[[["servicerequest",3]]],[[["httprequest",3],["payload",4]]],[[],[["option",4],["string",3]]],[[["bool",15]]],[[],[["option",4],["string",3]]],[[]],[[]],[[]],[[["duration",3]],["cookieidentitypolicy",3]],[[["duration",3]],["cookieidentitypolicy",3]],[[["i64",15]],["cookieidentitypolicy",3]],[[],["cookieidentitypolicy",3]],[[],["cookieidentitypolicy",3]],[[]],[[]],[[],["cookieidentitypolicy",3]],[[["string",3]]],[[["samesite",4]]],[[["bool",15]],["cookieidentitypolicy",3]],[[]],[[["serviceresponse",3],["option",4],["string",3],["bool",15]]],[[["serviceresponse",3],["option",4],["string",3],["bool",15]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[["duration",3]],["cookieidentitypolicy",3]],[[]],[[]],[[]]],"p":[[8,"IdentityPolicy"],[3,"CookieIdentityPolicy"],[3,"IdentityService"],[3,"Identity"],[8,"RequestIdentity"]]},\ -"actix_protobuf":{"doc":"","t":[12,13,13,13,13,3,3,3,4,8,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["0","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":["actix_protobuf","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["","Content type error","Deserialize error","Payload size is bigger than 256k","Payload error","","","","","","Serialize error","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Change max size of payload. By default max size is 256Kb","Change max size of payload. By default max size is 256Kb","Create ProtoBufMessage for request.","","","","","","","","","","","","","","","","","","","","","",""],"i":[1,2,2,2,2,0,0,0,0,0,2,1,3,4,2,1,3,4,2,3,1,1,2,1,1,2,2,1,3,4,2,2,2,1,1,3,4,2,4,3,4,4,4,5,1,1,2,1,3,4,2,1,3,4,2,4,1,3,4,2,1,3,4,2],"f":[null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["httpresponse",3]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[["protobufdecodeerror",3]],["protobufpayloaderror",4]],[[["payloaderror",4]],["protobufpayloaderror",4]],[[["payload",4],["httprequest",3]]],[[]],[[]],[[]],[[]],[[]],[[["usize",15]]],[[["usize",15]]],[[["payload",4],["httprequest",3]]],[[["pin",3],["context",3]],["poll",4]],[[["message",8]],[["error",3],["result",4],["httpresponse",3]]],[[["httprequest",3]],["httpresponse",3]],[[],["string",3]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["pin",3],["context",3]],["poll",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],[[]],[[]]],"p":[[3,"ProtoBuf"],[4,"ProtoBufPayloadError"],[3,"ProtoBufConfig"],[3,"ProtoBufMessage"],[8,"ProtoBufResponseBuilder"]]},\ -"actix_redis":{"doc":"Redis integration for Actix and session store for Actix …","t":[12,13,13,3,13,13,4,13,13,13,13,13,13,13,13,13,13,3,3,13,4,4,4,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["0","Array","BulkString","Command","Connection","Disconnected","Error","Error","IO","Integer","Internal","Lax","Nil","None","NotConnected","RESP","Redis","RedisActor","RedisSession","Remote","RespError","RespValue","SameSite","SimpleString","Strict","Unexpected","append","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cache_keygen","clone","clone","clone_into","clone_into","cookie_domain","cookie_http_only","cookie_max_age","cookie_name","cookie_path","cookie_same_site","cookie_secure","eq","eq","equivalent","equivalent","error","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_resp_int","get_hash","handle","handle","hash","into","into","into","into","into","into","into","is_lax","is_none","is_strict","ne","new","new_transform","push","restarting","source","source","start","started","to_owned","to_owned","to_string","to_string","to_string","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","ttl","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip"],"q":["actix_redis","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["","Zero, one or more other RespValues.","A bulk string. In Redis terminology a string is a …","Command for send data to Redis","Error creating a connection, or an error with a …","Cancel all waters when connection get dropped","General purpose actix redis error","An error from the Redis server","An IO error occurred","Redis documentation defines an integer as being a signed …","A non-specific internal error that prevented an operation …","The “Lax” SameSite attribute.","","The “None” SameSite attribute.","Receiving message during reconnecting","A RESP parsing/serialising error occurred","","Redis communication actor","Use redis as session storage.","A remote error","","A single RESP value, this owns the data that is …","The SameSite cookie attribute.","","The “Strict” SameSite attribute.","An unexpected error. In this context “unexpected” …","Convenience function for building dynamic Redis commands …","","","","","","","","","","","","","","","Set a custom cache key generation strategy, expecting …","","","","","Set custom cookie domain.","Set custom cookie HttpOnly policy.","Set custom cookie max-age.","Set custom cookie name for session ID.","Set custom cookie path.","Set custom cookie SameSite attribute.","Set custom cookie secure.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns true if self is SameSite::Lax and false otherwise.","Returns true if self is SameSite::None and false …","Returns true if self is SameSite::Strict and false …","","Create new redis session backend","","Push item to Resp array","","","","Start new Supervisor with RedisActor.","","","","","","","","","","","","","","","","","","","","","Set time to live in seconds for session value.","","","","","","","","","","","","","",""],"i":[1,2,2,0,3,4,0,2,3,2,3,5,2,5,4,3,4,0,0,3,0,0,0,2,5,3,2,6,7,1,4,2,3,5,6,7,1,4,2,3,5,7,2,5,2,5,7,7,7,7,7,7,7,2,5,2,5,6,1,4,4,2,3,3,5,5,6,7,1,4,4,2,2,2,2,2,2,2,2,3,3,3,5,2,5,6,6,5,6,7,1,4,2,3,5,5,5,5,2,7,7,2,6,4,3,6,6,2,5,4,3,5,6,7,1,4,2,3,5,6,7,1,4,2,3,5,7,6,7,1,4,2,3,5,6,7,1,4,2,3,5],"f":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["respvalue",4]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["box",3],["fn",8]]],[[],["respvalue",4]],[[],["samesite",4]],[[]],[[]],[[["str",15]]],[[["bool",15]]],[[]],[[["str",15]]],[[["str",15]]],[[["samesite",4]]],[[["bool",15]]],[[["respvalue",4]],["bool",15]],[[["samesite",4]],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[["error",3]],["running",4]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],[["error",3],["result",4]]],[[["formatter",3]],[["error",3],["result",4]]],[[["formatter",3]],[["error",3],["result",4]]],[[["formatter",3]],[["error",3],["result",4]]],[[["formatter",3]],[["error",3],["result",4]]],[[]],[[]],[[]],[[]],[[["error",4]],["error",4]],[[["string",3]],["respvalue",4]],[[["str",15]],["respvalue",4]],[[],["respvalue",4]],[[["str",15],["arc",3]],["respvalue",4]],[[["string",3]],["respvalue",4]],[[["vec",3],["global",3],["u8",15]],["respvalue",4]],[[["usize",15]],["respvalue",4]],[[]],[[["error",3]],["error",4]],[[["trysenderror",3]],["error",4]],[[]],[[]],[[["respvalue",4]],[["result",4],["respvalue",4],["error",4]]],[[],["u64",15]],[[["command",3]]],[[["result",4],["respvalue",4],["resperror",4]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[["respvalue",4]],["bool",15]],[[["into",8],["string",3]],["redissession",3]],[[]],[[]],[[]],[[],[["error",8],["option",4]]],[[],[["error",8],["option",4]]],[[["into",8],["string",3]],[["addr",3],["redisactor",3]]],[[["context",3]]],[[]],[[]],[[],["string",3]],[[],["string",3]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["u32",15]]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]]],"p":[[3,"Command"],[4,"RespValue"],[4,"RespError"],[4,"Error"],[4,"SameSite"],[3,"RedisActor"],[3,"RedisSession"]]},\ -"actix_session":{"doc":"Sessions for Actix Web.","t":[13,3,13,13,3,4,13,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["Changed","CookieSession","Purged","Renewed","Session","SessionStatus","Unchanged","UserSession","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clear","clone","clone_into","default","domain","entries","eq","expires_in","expires_in_time","fmt","from","from","from","from_request","get","get_changes","get_session","http_only","insert","into","into","into","lazy","max_age","max_age_time","name","new_transform","path","private","purge","remove","remove_as","renew","same_site","secure","set_session","signed","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip"],"q":["actix_session","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["Session has been updated and requires a new persist …","Use cookies for session storage.","Session is flagged for deletion and should be removed …","Session is flagged for refresh.","The high-level interface you use to modify session data.","Status of a [Session].","Session is unchanged from when last seen (if exists).","Extraction of a [Session] object.","","","","","","","Clear the session.","","","","Sets the domain field in the session cookie being built.","Get all raw key-value data from the session.","","Sets the expires field in the session cookie being built.","Sets the expires field in the session cookie being built.","","","","","","Get a value from the session.","Returns session status and iterator of key-value pairs of …","Extract the [Session] object","Sets the http_only field in the session cookie being …","Inserts a key-value pair into the session.","","","","When true, prevents adding session cookies to responses …","Sets the max-age field in the session cookie being built.","Sets the max-age field in the session cookie being built.","Sets the name field in the session cookie being built.","","Sets the path field in the session cookie being built.","Construct new private CookieSession instance.","Removes session both client and server side.","Remove value from the session.","Remove value from the session and deserialize.","Renews the session key, assigning existing session state …","Sets the same_site field in the session cookie being …","Sets the secure field in the session cookie being built.","Adds the given key-value pairs to the session on the …","Construct new signed CookieSession instance.","","","","","","","","","","","","",""],"i":[1,0,1,1,0,0,1,0,2,3,1,2,3,1,3,1,1,1,2,3,1,2,2,1,2,3,1,3,3,3,4,2,3,2,3,1,2,2,2,2,2,2,2,3,3,3,3,2,2,3,2,1,2,3,1,2,3,1,2,3,1,2,3,1],"f":[null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["sessionstatus",4]],[[]],[[],["sessionstatus",4]],[[["into",8],["string",3]],["cookiesession",3]],[[],[["hashmap",3],["ref",3]]],[[["sessionstatus",4]],["bool",15]],[[["i64",15]],["cookiesession",3]],[[["duration",3]],["cookiesession",3]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[["httprequest",3],["payload",4]]],[[["str",15]],[["result",4],["option",4],["error",3]]],[[["serviceresponse",3]]],[[],["session",3]],[[["bool",15]],["cookiesession",3]],[[],[["result",4],["error",3]]],[[]],[[]],[[]],[[["bool",15]],["cookiesession",3]],[[["i64",15]],["cookiesession",3]],[[["duration",3]],["cookiesession",3]],[[["into",8],["string",3]],["cookiesession",3]],[[]],[[["into",8],["string",3]],["cookiesession",3]],[[],["cookiesession",3]],[[]],[[["str",15]],[["option",4],["string",3]]],[[["str",15]],[["option",4],["result",4]]],[[]],[[["samesite",4]],["cookiesession",3]],[[["bool",15]],["cookiesession",3]],[[["servicerequest",3]]],[[],["cookiesession",3]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],[[]]],"p":[[4,"SessionStatus"],[3,"CookieSession"],[3,"Session"],[8,"UserSession"]]},\ -"actix_web_httpauth":{"doc":"HTTP authentication schemes for actix-web.","t":[0,0,0,8,8,3,16,16,16,0,0,11,11,11,11,11,11,11,11,10,11,10,11,11,11,11,11,11,11,11,11,11,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,4,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,3,13,3,3,13,13,13,4,8,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,8,3,0,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,4,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["extractors","headers","middleware","AuthExtractor","AuthExtractorConfig","AuthenticationError","Error","Future","Inner","basic","bearer","borrow","borrow_mut","challenge_mut","error_response","fmt","fmt","from","from","from_service_request","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_request","from_service_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","equivalent","fmt","fmt","fmt","fmt","from","from","from","from_request","from_service_request","get_hash","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","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","get_hash","hash","into","into","into","into","into_scheme","name","ne","ne","ne","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_header_pair","try_into_value","try_into_value","try_into_value","type_id","type_id","type_id","type_id","user_id","vzip","vzip","vzip","vzip","0","Challenge","WwwAuthenticate","basic","bearer","borrow","borrow_mut","clone","clone_into","cmp","default","eq","equivalent","fmt","from","get_hash","hash","into","name","ne","parse","partial_cmp","to_bytes","to_owned","try_from","try_into","try_into_header_pair","try_into_value","type_id","vzip","Basic","borrow","borrow_mut","clone","clone_into","cmp","default","eq","equivalent","fmt","fmt","from","get_hash","hash","into","ne","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","equivalent","error","error_description","error_uri","finish","fmt","fmt","fmt","from","from","get_hash","hash","into","into","ne","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":["actix_web_httpauth","","","actix_web_httpauth::extractors","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","actix_web_httpauth::extractors::basic","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","actix_web_httpauth::extractors::bearer","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","actix_web_httpauth::headers","","actix_web_httpauth::headers::authorization","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","actix_web_httpauth::headers::www_authenticate","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","actix_web_httpauth::headers::www_authenticate::basic","","","","","","","","","","","","","","","","","","","","","","","","","","actix_web_httpauth::headers::www_authenticate::bearer","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","actix_web_httpauth::middleware","","","","","","","","","","","","","","","",""],"d":["Type-safe authentication information extractors","Typed HTTP headers","HTTP Authentication middleware.","Trait implemented by types that can extract HTTP …","Trait implemented for types that provides configuration …","Authentication error returned by authentication …","The associated error which can be returned.","Future that resolves into extracted credentials type.","Associated challenge type.","Extractor for the “Basic” HTTP Authentication Scheme","Extractor for the “Bearer” HTTP Authentication Scheme","","","Returns mutable reference to the inner challenge instance.","","","","","","Parse the authentication credentials from the actix’ …","","Convert the config instance into a HTTP challenge.","Creates new authentication error from the provided …","","Returns mutable reference to the inner status code.","","","","","","Attach Error to the current Authentication error.","Attach error description to the current Authentication …","Attach error URI to the current Authentication error.","Extractor for HTTP Basic auth.","BasicAuth extractor configuration, used for …","","","","","","","","","","","","","","","","","","","","Returns client’s password.","Set challenge realm attribute.","","","","","","","","","Returns client’s user-ID.","","","Extractor for HTTP Bearer auth","BearerAuth extractor configuration.","Bearer authorization error types, described in RFC 6750","The request requires higher privileges than provided by …","The request is missing a required parameter, includes an …","The access token provided is expired, revoked, malformed, …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Set challenge realm attribute.","Set challenge scope attribute.","Returns HTTP status code suitable for current error type.","","","","","Returns bearer token provided by client.","","","","","","","","","","","","","Authorization header and various auth schemes","WWW-Authenticate header and various auth challenges","Authorization header, defined in RFC 7235","Malformed base64 string","Credentials for Basic authentication scheme, defined in …","Credentials for Bearer authentication scheme, defined in …","Header value is malformed","Required authentication field is missing","Authentication scheme is missing","Possible errors while parsing Authorization header.","Authentication scheme for Authorization header.","Unable to convert header into the str","Malformed UTF-8 string","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Consumes Authorization header and returns inner Scheme …","","","","","Creates Basic credentials with provided user_id and …","Creates new Bearer credentials with the token provided.","Try to parse the authentication scheme from the …","","","","","","","Returns client’s password if provided.","","","","","","","","","Gets reference to the credentials token.","","","","","","","","","","","","","","","","","Returns client’s user-ID.","","","","","","Authentication challenge for WWW-Authenticate header.","WWW-Authenticate header, described in RFC 7235","Challenge for the “Basic” HTTP Authentication Scheme","Challenge for the “Bearer” HTTP Authentication Scheme","","","","","","","","","","","","","","","","","","Converts the challenge into a bytes suitable for HTTP …","","","","","","","","Challenge for WWW-Authenticate header with HTTP Basic …","","","","","","","","","","","","","","","","Creates new Basic challenge with an empty realm field.","","","","","","","","","Creates new Basic challenge from the provided realm field …","Challenge for WWW-Authenticate header with HTTP Bearer …","Builder for the Bearer challenge.","Bearer authorization error types, described in RFC 6750","The request requires higher privileges than provided by …","The request is missing a required parameter, includes an …","The access token provided is expired, revoked, malformed, …","","","","","Creates the builder for Bearer challenge.","","","","","","","","Provides the error attribute, as defined in RFC6750, …","Provides the error_description attribute, as defined in …","Provides the error_uri attribute, as defined in RFC6750, …","Consumes the builder and returns built Bearer instance.","","","","","","","","","","","","Provides the realm attribute, as defined in RFC2617","Provides the scope attribute, as defined in RFC6749, …","","","","","","","","","","","","Middleware for checking HTTP authentication.","Construct HttpAuthentication middleware for the HTTP “…","Construct HttpAuthentication middleware for the HTTP “…","","","","","","","","","","","","","","Construct HttpAuthentication middleware with the provided …"],"i":[0,0,0,0,0,0,1,1,2,0,0,3,3,3,3,3,3,3,3,1,3,2,3,3,3,3,3,3,3,3,3,3,3,0,0,4,4,5,4,5,4,5,4,5,4,4,5,4,5,5,5,4,5,4,5,4,4,5,4,5,4,5,4,5,5,4,5,0,0,0,6,6,6,7,7,8,6,7,8,6,7,8,6,7,8,6,6,7,6,6,7,8,6,6,7,8,6,8,8,6,6,7,8,6,7,6,7,7,6,7,8,6,6,8,7,8,6,7,8,6,7,8,6,7,8,6,0,0,0,9,0,0,9,9,9,0,0,9,9,10,10,9,10,11,12,9,10,11,12,10,11,12,10,11,12,10,11,12,10,10,11,12,10,11,12,9,9,10,10,11,11,12,12,9,9,9,9,10,10,10,11,12,10,10,9,10,11,12,10,10,10,11,12,11,12,13,10,11,12,10,11,12,11,9,10,11,12,9,10,11,12,12,9,10,11,12,9,10,11,12,10,10,11,12,9,10,11,12,11,9,10,11,12,14,0,0,0,0,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,15,14,14,14,14,14,14,14,0,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,6,6,6,17,18,17,18,18,18,18,18,17,18,18,18,17,17,17,17,17,18,18,17,18,18,18,17,18,18,18,17,17,18,18,17,18,17,18,18,17,18,17,18,0,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19],"f":[null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[],["httpresponse",3]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[["servicerequest",3]]],[[]],[[]],[[],["authenticationerror",3]],[[],["statuscode",3]],[[],["statuscode",3]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[["error",4]]],[[]],[[]],null,null,[[],["challenge",3]],[[]],[[]],[[]],[[]],[[],["config",3]],[[],["basicauth",3]],[[]],[[]],[[],["config",3]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[["httprequest",3],["payload",4]]],[[["servicerequest",3]]],[[]],[[]],[[]],[[],[["cow",4],["option",4]]],[[],["config",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["cow",4]],[[]],[[]],null,null,null,null,null,null,[[],["bearer",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["config",3]],[[],["bearerauth",3]],[[],["error",4]],[[]],[[]],[[]],[[["error",4]],["ordering",4]],[[],["config",3]],[[["error",4]],["bool",15]],[[],["bool",15]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[["httprequest",3],["payload",4]]],[[["servicerequest",3]]],[[],["u64",15]],[[]],[[]],[[]],[[]],[[]],[[["error",4]],[["option",4],["ordering",4]]],[[["cow",4],["into",8]],["config",3]],[[["cow",4],["into",8]],["config",3]],[[],["statuscode",3]],[[]],[[]],[[]],[[],["string",3]],[[],["str",15]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["authorization",3]],[[],["basic",3]],[[],["bearer",3]],[[]],[[]],[[]],[[["authorization",3]],["ordering",4]],[[["basic",3]],["ordering",4]],[[["bearer",3]],["ordering",4]],[[],["authorization",3]],[[["authorization",3]],["bool",15]],[[["basic",3]],["bool",15]],[[["bearer",3]],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[["utf8error",3]]],[[["decodeerror",4]]],[[["tostrerror",3]]],[[]],[[]],[[],["authorization",3]],[[]],[[]],[[],["u64",15]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["headername",3]],[[["authorization",3]],["bool",15]],[[["basic",3]],["bool",15]],[[["bearer",3]],["bool",15]],[[["option",4]],["basic",3]],[[],["bearer",3]],[[["headervalue",3]],[["parseerror",4],["result",4]]],[[],[["result",4],["parseerror",4]]],[[["headervalue",3]],[["parseerror",4],["result",4]]],[[["headervalue",3]],[["parseerror",4],["result",4]]],[[["authorization",3]],[["option",4],["ordering",4]]],[[["basic",3]],[["option",4],["ordering",4]]],[[["bearer",3]],[["option",4],["ordering",4]]],[[],[["cow",4],["option",4]]],[[],[["option",4],["error",8]]],[[]],[[]],[[]],[[],["string",3]],[[],["string",3]],[[],["string",3]],[[],["string",3]],[[],["cow",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],[["result",4],["headervalue",3]]],[[],[["result",4],["headervalue",3]]],[[],[["result",4],["headervalue",3]]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["cow",4]],[[]],[[]],[[]],[[]],null,null,null,null,null,[[]],[[]],[[],["wwwauthenticate",3]],[[]],[[["wwwauthenticate",3]],["ordering",4]],[[],["wwwauthenticate",3]],[[["wwwauthenticate",3]],["bool",15]],[[],["bool",15]],[[["formatter",3]],["result",6]],[[]],[[],["u64",15]],[[]],[[]],[[],["headername",3]],[[["wwwauthenticate",3]],["bool",15]],[[],[["result",4],["parseerror",4]]],[[["wwwauthenticate",3]],[["option",4],["ordering",4]]],[[],["bytes",3]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],[["result",4],["headervalue",3]]],[[],["typeid",3]],[[]],null,[[]],[[]],[[],["basic",3]],[[]],[[["basic",3]],["ordering",4]],[[],["basic",3]],[[["basic",3]],["bool",15]],[[],["bool",15]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],["result",6]],[[]],[[],["u64",15]],[[]],[[]],[[["basic",3]],["bool",15]],[[],["basic",3]],[[["basic",3]],[["option",4],["ordering",4]]],[[]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],[["result",4],["headervalue",3]]],[[],["typeid",3]],[[]],[[],["basic",3]],null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[],["bearerbuilder",3]],[[],["bearer",3]],[[]],[[["bearer",3]],["ordering",4]],[[],["bearerbuilder",3]],[[],["bearer",3]],[[["bearer",3]],["bool",15]],[[],["bool",15]],[[["error",4]]],[[]],[[]],[[],["bearer",3]],[[["formatter",3]],["result",6]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],["result",6]],[[]],[[]],[[],["u64",15]],[[]],[[]],[[]],[[["bearer",3]],["bool",15]],[[["bearer",3]],[["option",4],["ordering",4]]],[[]],[[]],[[]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],[["result",4],["headervalue",3]]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],null,[[]],[[]],[[]],[[]],[[],["httpauthentication",3]],[[]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["httpauthentication",3]]],"p":[[8,"AuthExtractor"],[8,"AuthExtractorConfig"],[3,"AuthenticationError"],[3,"Config"],[3,"BasicAuth"],[4,"Error"],[3,"Config"],[3,"BearerAuth"],[4,"ParseError"],[3,"Authorization"],[3,"Basic"],[3,"Bearer"],[8,"Scheme"],[3,"WwwAuthenticate"],[8,"Challenge"],[3,"Basic"],[3,"BearerBuilder"],[3,"Bearer"],[3,"HttpAuthentication"]]},\ -"prost_example":{"doc":"","t":[3,11,11,11,11,11,11,11,11,11,11,11,5,11,5,11,12,11,12,11,11,11,11,11],"n":["MyObj","borrow","borrow_mut","clear","clone","clone_into","default","encode_raw","encoded_len","eq","fmt","from","index","into","main","merge_field","name","ne","number","to_owned","try_from","try_into","type_id","vzip"],"q":["prost_example","","","","","","","","","","","","","","","","","","","","","","",""],"d":["","","","","","","","","","","","","","","","","","","","","","","",""],"i":[0,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,1,1,1,1,1,1,1,1],"f":[null,[[]],[[]],[[]],[[],["myobj",3]],[[]],[[]],[[]],[[],["usize",15]],[[["myobj",3]],["bool",15]],[[["formatter",3]],["result",6]],[[]],[[["protobuf",3],["myobj",3]]],[[]],[[],["result",6]],[[["u32",15],["decodecontext",3],["wiretype",4]],[["result",4],["decodeerror",3]]],null,[[["myobj",3]],["bool",15]],null,[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]]],"p":[[3,"MyObj"]]}\ +"actix_identity":{"doc":"Opinionated request identity service for Actix Web apps.","t":[3,16,3,8,3,8,16,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["CookieIdentityPolicy","Future","Identity","IdentityPolicy","IdentityService","RequestIdentity","ResponseFuture","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","domain","forget","from","from","from","from_request","from_request","from_request","get_identity","http_only","identity","into","into","into","login_deadline","max_age","max_age_secs","name","new","new","new_transform","path","remember","same_site","secure","to_owned","to_response","to_response","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","visit_deadline","vzip","vzip","vzip"],"q":["actix_identity","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["Use cookies for request identity storage.","The return type of the middleware","The extractor type to obtain your identity from a request.","Identity policy.","Request identity middleware","Helper trait that allows to get Identity.","The return type of the middleware","","","","","","","","","Sets the Domain attribute of issued cookies.","This method is used to ‘forget’ the current identity …","","","","Parse the session from request and load data from a …","","","","Sets the HttpOnly attribute of issued cookies.","Return the claimed identity of the user associated …","","","","Accepts only users who authenticated within the given …","Sets the Max-Age attribute of issued cookies.","Sets the Max-Age attribute of issued cookies with given …","Sets the name of issued cookies.","Create new CookieIdentityPolicy instance.","Create new identity service with specified backend.","","Sets the Path attribute of issued cookies.","Remember identity.","Sets the SameSite attribute of issued cookies.","Sets the Secure attribute of issued cookies.","","Write changes to response","","","","","","","","","","","Accepts only users who have visited within given deadline.","","",""],"i":[0,1,0,0,0,0,1,2,3,4,2,3,4,4,4,2,4,2,3,4,1,2,4,5,2,4,2,3,4,2,2,2,2,2,3,3,2,4,2,2,4,1,2,2,3,4,2,3,4,2,3,4,2,2,3,4],"f":[null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[],["identity",3]],[[]],[[],["cookieidentitypolicy",3]],[[]],[[]],[[]],[[]],[[["servicerequest",3]]],[[["servicerequest",3]]],[[["payload",4],["httprequest",3]]],[[],[["option",4],["string",3]]],[[["bool",15]]],[[],[["option",4],["string",3]]],[[]],[[]],[[]],[[["duration",3]],["cookieidentitypolicy",3]],[[["duration",3]],["cookieidentitypolicy",3]],[[["i64",15]],["cookieidentitypolicy",3]],[[],["cookieidentitypolicy",3]],[[],["cookieidentitypolicy",3]],[[]],[[]],[[],["cookieidentitypolicy",3]],[[["string",3]]],[[["samesite",4]]],[[["bool",15]],["cookieidentitypolicy",3]],[[]],[[["serviceresponse",3],["option",4],["bool",15],["string",3]]],[[["serviceresponse",3],["option",4],["bool",15],["string",3]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[["duration",3]],["cookieidentitypolicy",3]],[[]],[[]],[[]]],"p":[[8,"IdentityPolicy"],[3,"CookieIdentityPolicy"],[3,"IdentityService"],[3,"Identity"],[8,"RequestIdentity"]]},\ +"actix_protobuf":{"doc":"","t":[12,13,13,13,13,3,3,3,4,8,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["0","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":["actix_protobuf","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["","Content type error","Deserialize error","Payload size is bigger than 256k","Payload error","","","","","","Serialize error","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Change max size of payload. By default max size is 256Kb","Change max size of payload. By default max size is 256Kb","Create ProtoBufMessage for request.","","","","","","","","","","","","","","","","","","","","","",""],"i":[1,2,2,2,2,0,0,0,0,0,2,1,3,4,2,1,3,4,2,3,1,1,2,1,1,2,2,1,3,4,2,2,2,1,1,3,4,2,4,3,4,4,4,5,1,1,2,1,3,4,2,1,3,4,2,4,1,3,4,2,1,3,4,2],"f":[null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["httpresponse",3]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[["payloaderror",4]],["protobufpayloaderror",4]],[[["protobufdecodeerror",3]],["protobufpayloaderror",4]],[[["httprequest",3],["payload",4]]],[[]],[[]],[[]],[[]],[[]],[[["usize",15]]],[[["usize",15]]],[[["httprequest",3],["payload",4]]],[[["pin",3],["context",3]],["poll",4]],[[["message",8]],[["httpresponse",3],["error",3],["result",4]]],[[["httprequest",3]],["httpresponse",3]],[[],["string",3]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["pin",3],["context",3]],["poll",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],[[]],[[]]],"p":[[3,"ProtoBuf"],[4,"ProtoBufPayloadError"],[3,"ProtoBufConfig"],[3,"ProtoBufMessage"],[8,"ProtoBufResponseBuilder"]]},\ +"actix_redis":{"doc":"Redis integration for Actix and session store for Actix …","t":[12,13,13,3,13,13,4,13,13,13,13,13,13,13,13,13,13,3,3,13,4,4,4,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["0","Array","BulkString","Command","Connection","Disconnected","Error","Error","IO","Integer","Internal","Lax","Nil","None","NotConnected","RESP","Redis","RedisActor","RedisSession","Remote","RespError","RespValue","SameSite","SimpleString","Strict","Unexpected","append","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cache_keygen","clone","clone","clone_into","clone_into","cookie_domain","cookie_http_only","cookie_max_age","cookie_name","cookie_path","cookie_same_site","cookie_secure","eq","eq","equivalent","equivalent","error","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_resp_int","get_hash","handle","handle","hash","into","into","into","into","into","into","into","is_lax","is_none","is_strict","ne","new","new_transform","push","restarting","source","source","start","started","to_owned","to_owned","to_string","to_string","to_string","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","ttl","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip"],"q":["actix_redis","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["","Zero, one or more other RespValues.","A bulk string. In Redis terminology a string is a …","Command for send data to Redis","Error creating a connection, or an error with a …","Cancel all waters when connection get dropped","General purpose actix redis error","An error from the Redis server","An IO error occurred","Redis documentation defines an integer as being a signed …","A non-specific internal error that prevented an operation …","The “Lax” SameSite attribute.","","The “None” SameSite attribute.","Receiving message during reconnecting","A RESP parsing/serialising error occurred","","Redis communication actor","Use redis as session storage.","A remote error","","A single RESP value, this owns the data that is …","The SameSite cookie attribute.","","The “Strict” SameSite attribute.","An unexpected error. In this context “unexpected” …","Convenience function for building dynamic Redis commands …","","","","","","","","","","","","","","","Set a custom cache key generation strategy, expecting …","","","","","Set custom cookie domain.","Set custom cookie HttpOnly policy.","Set custom cookie max-age.","Set custom cookie name for session ID.","Set custom cookie path.","Set custom cookie SameSite attribute.","Set custom cookie secure.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns true if self is SameSite::Lax and false otherwise.","Returns true if self is SameSite::None and false …","Returns true if self is SameSite::Strict and false …","","Create new redis session backend","","Push item to Resp array","","","","Start new Supervisor with RedisActor.","","","","","","","","","","","","","","","","","","","","","Set time to live in seconds for session value.","","","","","","","","","","","","","",""],"i":[1,2,2,0,3,4,0,2,3,2,3,5,2,5,4,3,4,0,0,3,0,0,0,2,5,3,2,6,7,1,4,2,3,5,6,7,1,4,2,3,5,7,2,5,2,5,7,7,7,7,7,7,7,2,5,2,5,6,1,4,4,2,3,3,5,5,6,7,1,4,4,2,2,2,2,2,2,2,2,3,3,3,5,2,5,6,6,5,6,7,1,4,2,3,5,5,5,5,2,7,7,2,6,4,3,6,6,2,5,4,3,5,6,7,1,4,2,3,5,6,7,1,4,2,3,5,7,6,7,1,4,2,3,5,6,7,1,4,2,3,5],"f":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["respvalue",4]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["box",3],["fn",8]]],[[],["respvalue",4]],[[],["samesite",4]],[[]],[[]],[[["str",15]]],[[["bool",15]]],[[]],[[["str",15]]],[[["str",15]]],[[["samesite",4]]],[[["bool",15]]],[[["respvalue",4]],["bool",15]],[[["samesite",4]],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[["error",3]],["running",4]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[]],[[]],[[]],[[["error",4]],["error",4]],[[]],[[["string",3]],["respvalue",4]],[[["string",3]],["respvalue",4]],[[["arc",3],["str",15]],["respvalue",4]],[[["usize",15]],["respvalue",4]],[[["str",15]],["respvalue",4]],[[]],[[["u8",15],["global",3],["vec",3]],["respvalue",4]],[[],["respvalue",4]],[[]],[[["error",3]],["error",4]],[[["trysenderror",3]],["error",4]],[[]],[[["respvalue",4]],[["result",4],["respvalue",4],["error",4]]],[[],["u64",15]],[[["command",3]]],[[["result",4],["respvalue",4],["resperror",4]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[["respvalue",4]],["bool",15]],[[["string",3],["into",8]],["redissession",3]],[[]],[[]],[[]],[[],[["option",4],["error",8]]],[[],[["option",4],["error",8]]],[[["string",3],["into",8]],[["addr",3],["redisactor",3]]],[[["context",3]]],[[]],[[]],[[],["string",3]],[[],["string",3]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["u32",15]]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]]],"p":[[3,"Command"],[4,"RespValue"],[4,"RespError"],[4,"Error"],[4,"SameSite"],[3,"RedisActor"],[3,"RedisSession"]]},\ +"actix_session":{"doc":"Sessions for Actix Web.","t":[13,3,13,13,3,4,13,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["Changed","CookieSession","Purged","Renewed","Session","SessionStatus","Unchanged","UserSession","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clear","clone","clone_into","default","domain","entries","eq","expires_in","expires_in_time","fmt","from","from","from","from_request","get","get_changes","get_session","http_only","insert","into","into","into","lazy","max_age","max_age_time","name","new_transform","path","private","purge","remove","remove_as","renew","same_site","secure","set_session","signed","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip"],"q":["actix_session","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["Session has been updated and requires a new persist …","Use cookies for session storage.","Session is flagged for deletion and should be removed …","Session is flagged for refresh.","The high-level interface you use to modify session data.","Status of a Session.","Session is unchanged from when last seen (if exists).","Extraction of a Session object.","","","","","","","Clear the session.","","","","Sets the domain field in the session cookie being built.","Get all raw key-value data from the session.","","Sets the expires field in the session cookie being built.","Sets the expires field in the session cookie being built.","","","","","","Get a value from the session.","Returns session status and iterator of key-value pairs of …","Extract the Session object","Sets the http_only field in the session cookie being …","Inserts a key-value pair into the session.","","","","When true, prevents adding session cookies to responses …","Sets the max-age field in the session cookie being built.","Sets the max-age field in the session cookie being built.","Sets the name field in the session cookie being built.","","Sets the path field in the session cookie being built.","Construct new private CookieSession instance.","Removes session both client and server side.","Remove value from the session.","Remove value from the session and deserialize.","Renews the session key, assigning existing session state …","Sets the same_site field in the session cookie being …","Sets the secure field in the session cookie being built.","Adds the given key-value pairs to the session on the …","Construct new signed CookieSession instance.","","","","","","","","","","","","",""],"i":[1,0,1,1,0,0,1,0,2,3,1,2,3,1,3,1,1,1,2,3,1,2,2,1,2,3,1,3,3,3,4,2,3,2,3,1,2,2,2,2,2,2,2,3,3,3,3,2,2,3,2,1,2,3,1,2,3,1,2,3,1,2,3,1],"f":[null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["sessionstatus",4]],[[]],[[],["sessionstatus",4]],[[["string",3],["into",8]],["cookiesession",3]],[[],[["ref",3],["hashmap",3]]],[[["sessionstatus",4]],["bool",15]],[[["i64",15]],["cookiesession",3]],[[["duration",3]],["cookiesession",3]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[["httprequest",3],["payload",4]]],[[["str",15]],[["error",3],["option",4],["result",4]]],[[["serviceresponse",3]]],[[],["session",3]],[[["bool",15]],["cookiesession",3]],[[],[["result",4],["error",3]]],[[]],[[]],[[]],[[["bool",15]],["cookiesession",3]],[[["i64",15]],["cookiesession",3]],[[["duration",3]],["cookiesession",3]],[[["string",3],["into",8]],["cookiesession",3]],[[]],[[["string",3],["into",8]],["cookiesession",3]],[[],["cookiesession",3]],[[]],[[["str",15]],[["option",4],["string",3]]],[[["str",15]],[["result",4],["option",4]]],[[]],[[["samesite",4]],["cookiesession",3]],[[["bool",15]],["cookiesession",3]],[[["servicerequest",3]]],[[],["cookiesession",3]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],[[]]],"p":[[4,"SessionStatus"],[3,"CookieSession"],[3,"Session"],[8,"UserSession"]]},\ +"actix_web_httpauth":{"doc":"HTTP authentication schemes for actix-web.","t":[0,0,0,8,8,3,16,16,16,0,0,11,11,11,11,11,11,11,11,10,11,10,11,11,11,11,11,11,11,11,11,11,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,4,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,3,13,3,3,13,13,13,4,8,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,8,3,0,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,4,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["extractors","headers","middleware","AuthExtractor","AuthExtractorConfig","AuthenticationError","Error","Future","Inner","basic","bearer","borrow","borrow_mut","challenge_mut","error_response","fmt","fmt","from","from","from_service_request","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_request","from_service_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","equivalent","fmt","fmt","fmt","fmt","from","from","from","from_request","from_service_request","get_hash","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","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","get_hash","hash","into","into","into","into","into_scheme","name","ne","ne","ne","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_header_pair","try_into_value","try_into_value","try_into_value","type_id","type_id","type_id","type_id","user_id","vzip","vzip","vzip","vzip","0","Challenge","WwwAuthenticate","basic","bearer","borrow","borrow_mut","clone","clone_into","cmp","default","eq","equivalent","fmt","from","get_hash","hash","into","name","ne","parse","partial_cmp","to_bytes","to_owned","try_from","try_into","try_into_header_pair","try_into_value","type_id","vzip","Basic","borrow","borrow_mut","clone","clone_into","cmp","default","eq","equivalent","fmt","fmt","from","get_hash","hash","into","ne","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","equivalent","error","error_description","error_uri","finish","fmt","fmt","fmt","from","from","get_hash","hash","into","into","ne","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":["actix_web_httpauth","","","actix_web_httpauth::extractors","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","actix_web_httpauth::extractors::basic","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","actix_web_httpauth::extractors::bearer","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","actix_web_httpauth::headers","","actix_web_httpauth::headers::authorization","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","actix_web_httpauth::headers::www_authenticate","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","actix_web_httpauth::headers::www_authenticate::basic","","","","","","","","","","","","","","","","","","","","","","","","","","actix_web_httpauth::headers::www_authenticate::bearer","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","actix_web_httpauth::middleware","","","","","","","","","","","","","","","",""],"d":["Type-safe authentication information extractors","Typed HTTP headers","HTTP Authentication middleware.","Trait implemented by types that can extract HTTP …","Trait implemented for types that provides configuration …","Authentication error returned by authentication …","The associated error which can be returned.","Future that resolves into extracted credentials type.","Associated challenge type.","Extractor for the “Basic” HTTP Authentication Scheme","Extractor for the “Bearer” HTTP Authentication Scheme","","","Returns mutable reference to the inner challenge instance.","","","","","","Parse the authentication credentials from the actix’ …","","Convert the config instance into a HTTP challenge.","Creates new authentication error from the provided …","","Returns mutable reference to the inner status code.","","","","","","Attach Error to the current Authentication error.","Attach error description to the current Authentication …","Attach error URI to the current Authentication error.","Extractor for HTTP Basic auth.","BasicAuth extractor configuration, used for …","","","","","","","","","","","","","","","","","","","","Returns client’s password.","Set challenge realm attribute.","","","","","","","","","Returns client’s user-ID.","","","Extractor for HTTP Bearer auth","BearerAuth extractor configuration.","Bearer authorization error types, described in RFC 6750","The request requires higher privileges than provided by …","The request is missing a required parameter, includes an …","The access token provided is expired, revoked, malformed, …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Set challenge realm attribute.","Set challenge scope attribute.","Returns HTTP status code suitable for current error type.","","","","","Returns bearer token provided by client.","","","","","","","","","","","","","Authorization header and various auth schemes","WWW-Authenticate header and various auth challenges","Authorization header, defined in RFC 7235","Malformed base64 string","Credentials for Basic authentication scheme, defined in …","Credentials for Bearer authentication scheme, defined in …","Header value is malformed","Required authentication field is missing","Authentication scheme is missing","Possible errors while parsing Authorization header.","Authentication scheme for Authorization header.","Unable to convert header into the str","Malformed UTF-8 string","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Consumes Authorization header and returns inner Scheme …","","","","","Creates Basic credentials with provided user_id and …","Creates new Bearer credentials with the token provided.","Try to parse the authentication scheme from the …","","","","","","","Returns client’s password if provided.","","","","","","","","","Gets reference to the credentials token.","","","","","","","","","","","","","","","","","Returns client’s user-ID.","","","","","","Authentication challenge for WWW-Authenticate header.","WWW-Authenticate header, described in RFC 7235","Challenge for the “Basic” HTTP Authentication Scheme","Challenge for the “Bearer” HTTP Authentication Scheme","","","","","","","","","","","","","","","","","","Converts the challenge into a bytes suitable for HTTP …","","","","","","","","Challenge for WWW-Authenticate header with HTTP Basic …","","","","","","","","","","","","","","","","Creates new Basic challenge with an empty realm field.","","","","","","","","","Creates new Basic challenge from the provided realm field …","Challenge for WWW-Authenticate header with HTTP Bearer …","Builder for the Bearer challenge.","Bearer authorization error types, described in RFC 6750","The request requires higher privileges than provided by …","The request is missing a required parameter, includes an …","The access token provided is expired, revoked, malformed, …","","","","","Creates the builder for Bearer challenge.","","","","","","","","Provides the error attribute, as defined in RFC6750, …","Provides the error_description attribute, as defined in …","Provides the error_uri attribute, as defined in RFC6750, …","Consumes the builder and returns built Bearer instance.","","","","","","","","","","","","Provides the realm attribute, as defined in RFC2617","Provides the scope attribute, as defined in RFC6749, …","","","","","","","","","","","","Middleware for checking HTTP authentication.","Construct HttpAuthentication middleware for the HTTP “…","Construct HttpAuthentication middleware for the HTTP “…","","","","","","","","","","","","","","Construct HttpAuthentication middleware with the provided …"],"i":[0,0,0,0,0,0,1,1,2,0,0,3,3,3,3,3,3,3,3,1,3,2,3,3,3,3,3,3,3,3,3,3,3,0,0,4,4,5,4,5,4,5,4,5,4,4,5,4,5,5,5,4,5,4,5,4,4,5,4,5,4,5,4,5,5,4,5,0,0,0,6,6,6,7,7,8,6,7,8,6,7,8,6,7,8,6,6,7,6,6,7,8,6,6,7,8,6,8,8,6,6,7,8,6,7,6,7,7,6,7,8,6,6,8,7,8,6,7,8,6,7,8,6,7,8,6,0,0,0,9,0,0,9,9,9,0,0,9,9,10,10,9,10,11,12,9,10,11,12,10,11,12,10,11,12,10,11,12,10,10,11,12,10,11,12,9,9,10,10,11,11,12,12,9,9,9,9,10,10,10,11,12,10,10,9,10,11,12,10,10,10,11,12,11,12,13,10,11,12,10,11,12,11,9,10,11,12,9,10,11,12,12,9,10,11,12,9,10,11,12,10,10,11,12,9,10,11,12,11,9,10,11,12,14,0,0,0,0,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,15,14,14,14,14,14,14,14,0,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,6,6,6,17,18,17,18,18,18,18,18,17,18,18,18,17,17,17,17,17,18,18,17,18,18,18,17,18,18,18,17,17,18,18,17,18,17,18,18,17,18,17,18,0,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19],"f":[null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[],["httpresponse",3]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[["servicerequest",3]]],[[]],[[]],[[],["authenticationerror",3]],[[],["statuscode",3]],[[],["statuscode",3]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[["error",4]]],[[]],[[]],null,null,[[],["challenge",3]],[[]],[[]],[[]],[[]],[[],["config",3]],[[],["basicauth",3]],[[]],[[]],[[],["config",3]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[["httprequest",3],["payload",4]]],[[["servicerequest",3]]],[[]],[[]],[[]],[[],[["option",4],["cow",4]]],[[],["config",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["cow",4]],[[]],[[]],null,null,null,null,null,null,[[],["bearer",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["config",3]],[[],["bearerauth",3]],[[],["error",4]],[[]],[[]],[[]],[[["error",4]],["ordering",4]],[[],["config",3]],[[["error",4]],["bool",15]],[[],["bool",15]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[["httprequest",3],["payload",4]]],[[["servicerequest",3]]],[[],["u64",15]],[[]],[[]],[[]],[[]],[[]],[[["error",4]],[["option",4],["ordering",4]]],[[["into",8],["cow",4]],["config",3]],[[["into",8],["cow",4]],["config",3]],[[],["statuscode",3]],[[]],[[]],[[]],[[],["string",3]],[[],["str",15]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["authorization",3]],[[],["basic",3]],[[],["bearer",3]],[[]],[[]],[[]],[[["authorization",3]],["ordering",4]],[[["basic",3]],["ordering",4]],[[["bearer",3]],["ordering",4]],[[],["authorization",3]],[[["authorization",3]],["bool",15]],[[["basic",3]],["bool",15]],[[["bearer",3]],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[["utf8error",3]]],[[["decodeerror",4]]],[[["tostrerror",3]]],[[]],[[]],[[],["authorization",3]],[[]],[[]],[[],["u64",15]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["headername",3]],[[["authorization",3]],["bool",15]],[[["basic",3]],["bool",15]],[[["bearer",3]],["bool",15]],[[["option",4]],["basic",3]],[[],["bearer",3]],[[["headervalue",3]],[["result",4],["parseerror",4]]],[[],[["parseerror",4],["result",4]]],[[["headervalue",3]],[["result",4],["parseerror",4]]],[[["headervalue",3]],[["result",4],["parseerror",4]]],[[["authorization",3]],[["option",4],["ordering",4]]],[[["basic",3]],[["option",4],["ordering",4]]],[[["bearer",3]],[["option",4],["ordering",4]]],[[],[["option",4],["cow",4]]],[[],[["error",8],["option",4]]],[[]],[[]],[[]],[[],["string",3]],[[],["string",3]],[[],["string",3]],[[],["string",3]],[[],["cow",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],[["result",4],["headervalue",3]]],[[],[["headervalue",3],["result",4]]],[[],[["headervalue",3],["result",4]]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["cow",4]],[[]],[[]],[[]],[[]],null,null,null,null,null,[[]],[[]],[[],["wwwauthenticate",3]],[[]],[[["wwwauthenticate",3]],["ordering",4]],[[],["wwwauthenticate",3]],[[["wwwauthenticate",3]],["bool",15]],[[],["bool",15]],[[["formatter",3]],["result",6]],[[]],[[],["u64",15]],[[]],[[]],[[],["headername",3]],[[["wwwauthenticate",3]],["bool",15]],[[],[["parseerror",4],["result",4]]],[[["wwwauthenticate",3]],[["option",4],["ordering",4]]],[[],["bytes",3]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],[["headervalue",3],["result",4]]],[[],["typeid",3]],[[]],null,[[]],[[]],[[],["basic",3]],[[]],[[["basic",3]],["ordering",4]],[[],["basic",3]],[[["basic",3]],["bool",15]],[[],["bool",15]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],["result",6]],[[]],[[],["u64",15]],[[]],[[]],[[["basic",3]],["bool",15]],[[],["basic",3]],[[["basic",3]],[["option",4],["ordering",4]]],[[]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],[["result",4],["headervalue",3]]],[[],["typeid",3]],[[]],[[],["basic",3]],null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[],["bearerbuilder",3]],[[],["bearer",3]],[[]],[[["bearer",3]],["ordering",4]],[[],["bearerbuilder",3]],[[],["bearer",3]],[[["bearer",3]],["bool",15]],[[],["bool",15]],[[["error",4]]],[[]],[[]],[[],["bearer",3]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],[["result",4],["error",3]]],[[]],[[]],[[],["u64",15]],[[]],[[]],[[]],[[["bearer",3]],["bool",15]],[[["bearer",3]],[["option",4],["ordering",4]]],[[]],[[]],[[]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],[["result",4],["headervalue",3]]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],null,[[]],[[]],[[]],[[]],[[],["httpauthentication",3]],[[]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["httpauthentication",3]]],"p":[[8,"AuthExtractor"],[8,"AuthExtractorConfig"],[3,"AuthenticationError"],[3,"Config"],[3,"BasicAuth"],[4,"Error"],[3,"Config"],[3,"BearerAuth"],[4,"ParseError"],[3,"Authorization"],[3,"Basic"],[3,"Bearer"],[8,"Scheme"],[3,"WwwAuthenticate"],[8,"Challenge"],[3,"Basic"],[3,"BearerBuilder"],[3,"Bearer"],[3,"HttpAuthentication"]]}\ }'); -initSearch(searchIndex); \ No newline at end of file +if (window.initSearch) {window.initSearch(searchIndex)}; \ No newline at end of file diff --git a/search.js b/search.js new file mode 100644 index 000000000..ac9c29041 --- /dev/null +++ b/search.js @@ -0,0 +1 @@ +(function(){var itemTypes=["mod","externcrate","import","struct","enum","fn","type","static","trait","impl","tymethod","method","structfield","variant","macro","primitive","associatedtype","constant","associatedconstant","union","foreigntype","keyword","existential","attr","derive","traitalias"];var TY_PRIMITIVE=itemTypes.indexOf("primitive");var TY_KEYWORD=itemTypes.indexOf("keyword");function printTab(nb){if(nb===0||nb===1||nb===2){searchState.currentTab=nb}var nb_copy=nb;onEachLazy(document.getElementById("titles").childNodes,function(elem){if(nb_copy===0){addClass(elem,"selected")}else{removeClass(elem,"selected")}nb_copy-=1});onEachLazy(document.getElementById("results").childNodes,function(elem){if(nb===0){addClass(elem,"active")}else{removeClass(elem,"active")}nb-=1})}function removeEmptyStringsFromArray(x){for(var i=0,len=x.length;i-1){var obj=searchIndex[results[i].id];obj.lev=results[i].lev;var res=buildHrefAndPath(obj);obj.displayPath=pathSplitter(res[0]);obj.fullPath=obj.displayPath+obj.name;obj.fullPath+="|"+obj.ty;obj.href=res[1];out.push(obj);if(out.length>=MAX_RESULTS){break}}}return out}function sortResults(results,isType){var ar=[];for(var entry in results){if(hasOwnPropertyRustdoc(results,entry)){ar.push(results[entry])}}results=ar;var i,len,result;for(i=0,len=results.length;ib?+1:-1)}a=(aaa.index<0);b=(bbb.index<0);if(a!==b){return a-b}a=aaa.index;b=bbb.index;if(a!==b){return a-b}if((aaa.item.ty===TY_PRIMITIVE&&bbb.item.ty!==TY_KEYWORD)||(aaa.item.ty===TY_KEYWORD&&bbb.item.ty!==TY_PRIMITIVE)){return-1}if((bbb.item.ty===TY_PRIMITIVE&&aaa.item.ty!==TY_PRIMITIVE)||(bbb.item.ty===TY_KEYWORD&&aaa.item.ty!==TY_KEYWORD)){return 1}a=(aaa.item.desc==="");b=(bbb.item.desc==="");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});for(i=0,len=results.length;i"));return{name:val.substring(0,val.indexOf("<")),generics:values.split(/\s*,\s*/),}}return{name:val,generics:[],}}function getObjectNameFromId(id){if(typeof id==="number"){return searchIndex[id].name}return id}function checkGenerics(obj,val){var tmp_lev,elem_name;if(val.generics.length>0){if(obj.length>GENERICS_DATA&&obj[GENERICS_DATA].length>=val.generics.length){var elems=Object.create(null);var elength=obj[GENERICS_DATA].length;for(var x=0;xGENERICS_DATA&&obj[GENERICS_DATA].length>=val.generics.length){var elems=Object.create(null);len=obj[GENERICS_DATA].length;for(x=0;xGENERICS_DATA&&obj[GENERICS_DATA].length!==0){var tmp_lev=checkGenerics(obj,val);if(tmp_lev<=MAX_LEV_DISTANCE){return tmp_lev}}else{return 0}}if(literalSearch){if(obj.length>GENERICS_DATA&&obj[GENERICS_DATA].length>0){return obj[GENERICS_DATA].some(function(name){return name===val.name})}return false}lev_distance=Math.min(levenshtein(obj[NAME],val.name),lev_distance);if(lev_distance<=MAX_LEV_DISTANCE){lev_distance=Math.ceil((checkGenerics(obj,val)+lev_distance)/2)}else if(obj.length>GENERICS_DATA&&obj[GENERICS_DATA].length>0){var olength=obj[GENERICS_DATA].length;for(x=0;x0){var length=obj.type[INPUTS_DATA].length;for(var i=0;iOUTPUT_DATA){var ret=obj.type[OUTPUT_DATA];if(typeof ret[0]==="string"){ret=[ret]}for(var x=0,len=ret.length;xlength){return MAX_LEV_DISTANCE+1}for(var i=0;ilength){break}var lev_total=0;var aborted=false;for(var x=0;xMAX_LEV_DISTANCE){aborted=true;break}lev_total+=lev}if(!aborted){ret_lev=Math.min(ret_lev,Math.round(lev_total/clength))}}return ret_lev}function typePassesFilter(filter,type){if(filter<=NO_TYPE_FILTER)return true;if(filter===type)return true;var 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,desc:item.desc,ty:item.ty,parent:item.parent,type:item.type,is_alias:true,}}function handleAliases(ret,query,filterCrates){var aliases=[];var crateAliases=[];if(filterCrates!==undefined){if(ALIASES[filterCrates]&&ALIASES[filterCrates][query.search]){var query_aliases=ALIASES[filterCrates][query.search];var len=query_aliases.length;for(var i=0;iMAX_RESULTS){ret.others.pop()}};onEach(aliases,pushFunc);onEach(crateAliases,pushFunc)}var nSearchWords=searchWords.length;var i,it;var ty;var fullId;var returned;var in_args;var len;if((val.charAt(0)==="\""||val.charAt(0)==="'")&&val.charAt(val.length-1)===val.charAt(0)){val=extractGenerics(val.substr(1,val.length-2));for(i=0;i")>-1){var trimmer=function(s){return s.trim()};var parts=val.split("->").map(trimmer);var input=parts[0];var inputs=input.split(",").map(trimmer).sort();for(i=0,len=inputs.length;i1?paths.length-1:1);var lev,j;for(j=0;j1){lev=checkPath(contains,paths[paths.length-1],ty);if(lev>MAX_LEV_DISTANCE){continue}else if(lev>0){lev_add=lev/10}}returned=MAX_LEV_DISTANCE+1;in_args=MAX_LEV_DISTANCE+1;var index=-1;lev=MAX_LEV_DISTANCE+1;fullId=ty.id;if(searchWords[j].indexOf(split[i])>-1||searchWords[j].indexOf(val)>-1||ty.normalizedName.indexOf(val)>-1){if(typePassesFilter(typeFilter,ty.ty)&&results[fullId]===undefined){index=ty.normalizedName.indexOf(val)}}if((lev=levenshtein(searchWords[j],val))<=MAX_LEV_DISTANCE){if(typePassesFilter(typeFilter,ty.ty)){lev+=1}else{lev=MAX_LEV_DISTANCE+1}}in_args=findArg(ty,valGenerics,false,typeFilter);returned=checkReturned(ty,valGenerics,false,typeFilter);lev+=lev_add;if(lev>0&&val.length>3&&searchWords[j].indexOf(val)>-1){if(val.length<6){lev-=1}else{lev=0}}if(in_args<=MAX_LEV_DISTANCE){if(results_in_args[fullId]===undefined){results_in_args[fullId]={id:j,index:index,lev:in_args,}}results_in_args[fullId].lev=Math.min(results_in_args[fullId].lev,in_args)}if(returned<=MAX_LEV_DISTANCE){if(results_returned[fullId]===undefined){results_returned[fullId]={id:j,index:index,lev:returned,}}results_returned[fullId].lev=Math.min(results_returned[fullId].lev,returned)}if(index!==-1||lev<=MAX_LEV_DISTANCE){if(index!==-1&&paths.length<2){lev=0}if(results[fullId]===undefined){results[fullId]={id:j,index:index,lev:lev,}}results[fullId].lev=Math.min(results[fullId].lev,lev)}}}var ret={"in_args":sortResults(results_in_args,true),"returned":sortResults(results_returned,true),"others":sortResults(results,false),};handleAliases(ret,query,filterCrates);return ret}function validateResult(name,path,keys,parent){for(var i=0,len=keys.length;i-1||path.indexOf(keys[i])>-1||(parent!==undefined&&parent.name!==undefined&&parent.name.toLowerCase().indexOf(keys[i])>-1)||levenshtein(name,keys[i])<=MAX_LEV_DISTANCE)){return false}}return true}function getQuery(raw){var matches,type,query;query=raw;matches=query.match(/^(fn|mod|struct|enum|trait|type|const|macro)\s*:\s*/i);if(matches){type=matches[1].replace(/^const$/,"constant");query=query.substring(matches[0].length)}return{raw:raw,query:query,type:type,id:query+type}}function nextTab(direction){var next=(searchState.currentTab+direction+3)%searchState.focusedByTab.length;searchState.focusedByTab[searchState.currentTab]=document.activeElement;printTab(next);focusSearchResult()}function focusSearchResult(){var target=searchState.focusedByTab[searchState.currentTab]||document.querySelectorAll(".search-results.active a").item(0)||document.querySelectorAll("#titles > button").item(searchState.currentTab);if(target){target.focus()}}function buildHrefAndPath(item){var displayPath;var href;var type=itemTypes[item.ty];var name=item.name;var path=item.path;if(type==="mod"){displayPath=path+"::";href=window.rootPath+path.replace(/::/g,"/")+"/"+name+"/index.html"}else if(type==="primitive"||type==="keyword"){displayPath="";href=window.rootPath+path.replace(/::/g,"/")+"/"+type+"."+name+".html"}else if(type==="externcrate"){displayPath="";href=window.rootPath+name+"/index.html"}else if(item.parent!==undefined){var myparent=item.parent;var anchor="#"+type+"."+name;var parentType=itemTypes[myparent.ty];var pageType=parentType;var pageName=myparent.name;if(parentType==="primitive"){displayPath=myparent.name+"::"}else if(type==="structfield"&&parentType==="variant"){var enumNameIdx=item.path.lastIndexOf("::");var 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+"::"}href=window.rootPath+path.replace(/::/g,"/")+"/"+pageType+"."+pageName+".html"+anchor}else{displayPath=item.path+"::";href=window.rootPath+item.path.replace(/::/g,"/")+"/"+type+"."+name+".html"}return[displayPath,href]}function escape(content){var h1=document.createElement("h1");h1.textContent=content;return h1.innerHTML}function pathSplitter(path){var tmp=""+path.replace(/::/g,"::");if(tmp.endsWith("")){return tmp.slice(0,tmp.length-6)}return tmp}function addTab(array,query,display){var extraClass="";if(display===true){extraClass=" active"}var output=document.createElement("div");var duplicates={};var length=0;if(array.length>0){output.className="search-results "+extraClass;array.forEach(function(item){if(item.is_alias!==true){if(duplicates[item.fullPath]){return}duplicates[item.fullPath]=true}var name=item.name;var type=itemTypes[item.ty];length+=1;var extra="";if(type==="primitive"){extra=" (primitive type)"}else if(type==="keyword"){extra=" (keyword)"}var link=document.createElement("a");link.className="result-"+type;link.href=item.href;var wrapper=document.createElement("div");var resultName=document.createElement("div");resultName.className="result-name";if(item.is_alias){var alias=document.createElement("span");alias.className="alias";var bold=document.createElement("b");bold.innerText=item.alias;alias.appendChild(bold);alias.insertAdjacentHTML("beforeend"," - see ");resultName.appendChild(alias)}resultName.insertAdjacentHTML("beforeend",item.displayPath+""+name+extra+"");wrapper.appendChild(resultName);var description=document.createElement("div");description.className="desc";var spanDesc=document.createElement("span");spanDesc.insertAdjacentHTML("beforeend",item.desc);description.appendChild(spanDesc);wrapper.appendChild(description);link.appendChild(wrapper);output.appendChild(link)})}else{output.className="search-failed"+extraClass;output.innerHTML="No results :(
    "+"Try on DuckDuckGo?

    "+"Or try looking in one of these:"}return[output,length]}function makeTabHeader(tabNb,text,nbElems){if(searchState.currentTab===tabNb){return""}return""}function showResults(results){var search=searchState.outputElement();if(results.others.length===1&&getSettingValue("go-to-only-result")==="true"&&(!search.firstChild||search.firstChild.innerText!==searchState.loadingText)){var elem=document.createElement("a");elem.href=results.others[0].href;removeClass(elem,"active");document.body.appendChild(elem);elem.click();return}var query=getQuery(searchState.input.value);currentResults=query.id;var ret_others=addTab(results.others,query);var ret_in_args=addTab(results.in_args,query,false);var ret_returned=addTab(results.returned,query,false);var 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}}var output="

    Results for "+escape(query.query)+(query.type?" (type: "+escape(query.type)+")":"")+"

    "+"
    "+makeTabHeader(0,"In Names",ret_others[1])+makeTabHeader(1,"In Parameters",ret_in_args[1])+makeTabHeader(2,"In Return Types",ret_returned[1])+"
    ";var 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;search.appendChild(resultsElem);searchState.focusedByTab=[null,null,null];searchState.showResults(search);var elems=document.getElementById("titles").childNodes;elems[0].onclick=function(){printTab(0)};elems[1].onclick=function(){printTab(1)};elems[2].onclick=function(){printTab(2)};printTab(currentTab)}function execSearch(query,searchWords,filterCrates){function getSmallest(arrays,positions,notDuplicates){var start=null;for(var it=0,len=positions.length;itpositions[it]&&(start===null||start>arrays[it][positions[it]].lev)&&!notDuplicates[arrays[it][positions[it]].fullPath]){start=arrays[it][positions[it]].lev}}return start}function mergeArrays(arrays){var ret=[];var positions=[];var notDuplicates={};for(var x=0,arrays_len=arrays.length;xpositions[x]&&arrays[x][positions[x]].lev===smallest&&!notDuplicates[arrays[x][positions[x]].fullPath]){ret.push(arrays[x][positions[x]]);notDuplicates[arrays[x][positions[x]].fullPath]=true;positions[x]+=1}}}return ret}var queries=query.raw.split(",");var results={"in_args":[],"returned":[],"others":[],};for(var i=0,len=queries.length;i1){return{"in_args":mergeArrays(results.in_args),"returned":mergeArrays(results.returned),"others":mergeArrays(results.others),}}return{"in_args":results.in_args[0],"returned":results.returned[0],"others":results.others[0],}}function getFilterCrates(){var elem=document.getElementById("crate-search");if(elem&&elem.value!=="All crates"&&hasOwnPropertyRustdoc(rawSearchIndex,elem.value)){return elem.value}return undefined}function search(e,forced){var params=searchState.getQueryStringParams();var query=getQuery(searchState.input.value.trim());if(e){e.preventDefault()}if(query.query.length===0){return}if(!forced&&query.id===currentResults){if(query.query.length>0){searchState.putBackSearch(searchState.input)}return}searchState.title="Results for "+query.query+" - Rust";if(searchState.browserSupportsHistoryApi()){var newURL=getNakedUrl()+"?search="+encodeURIComponent(query.raw)+window.location.hash;if(!history.state&&!params.search){history.pushState(query,"",newURL)}else{history.replaceState(query,"",newURL)}}var filterCrates=getFilterCrates();showResults(execSearch(query,index,filterCrates))}function buildIndex(rawSearchIndex){searchIndex=[];var searchWords=[];var i,word;var currentIndex=0;var id=0;for(var crate in rawSearchIndex){if(!hasOwnPropertyRustdoc(rawSearchIndex,crate)){continue}var crateSize=0;searchWords.push(crate);var crateRow={crate:crate,ty:1,name:crate,path:"",desc:rawSearchIndex[crate].doc,parent:undefined,type:null,id:id,normalizedName:crate.indexOf("_")===-1?crate:crate.replace(/_/g,""),};id+=1;searchIndex.push(crateRow);currentIndex+=1;var itemTypes=rawSearchIndex[crate].t;var itemNames=rawSearchIndex[crate].n;var itemPaths=rawSearchIndex[crate].q;var itemDescs=rawSearchIndex[crate].d;var itemParentIdxs=rawSearchIndex[crate].i;var itemFunctionSearchTypes=rawSearchIndex[crate].f;var paths=rawSearchIndex[crate].p;var aliases=rawSearchIndex[crate].a;var len=paths.length;for(i=0;i0?paths[itemParentIdxs[i]-1]:undefined,type:itemFunctionSearchTypes[i],id:id,normalizedName:word.indexOf("_")===-1?word:word.replace(/_/g,""),};id+=1;searchIndex.push(row);lastPath=row.path;crateSize+=1}if(aliases){ALIASES[crate]={};var j,local_aliases;for(var alias_name in aliases){if(!hasOwnPropertyRustdoc(aliases,alias_name)){continue}if(!hasOwnPropertyRustdoc(ALIASES[crate],alias_name)){ALIASES[crate][alias_name]=[]}local_aliases=aliases[alias_name];for(j=0,len=local_aliases.length;j0){searchState.input.value=params.search;search(e)}else{searchState.input.value="";searchState.hideResults()}})}window.onpageshow=function(){var qSearch=searchState.getQueryStringParams().search;if(searchState.input.value===""&&qSearch){searchState.input.value=qSearch}search()}}index=buildIndex(rawSearchIndex);registerSearchEvents();if(searchState.getQueryStringParams().search){search()}};if(window.searchIndex!==undefined){initSearch(window.searchIndex)}})() \ No newline at end of file diff --git a/settings.html b/settings.html index 941fe8982..a20941cba 100644 --- a/settings.html +++ b/settings.html @@ -1,7 +1,4 @@ -Rustdoc settings - -

    Rustdoc settings

    Theme preferences
    Use system theme
    Preferred dark theme
    Preferred light theme
    -
    Auto-hide item declarations
    Auto-hide structs declaration
    Auto-hide enums declaration
    Auto-hide unions declaration
    Auto-hide traits declaration
    Auto-hide macros declaration
    -
    Auto-hide item attributes.
    Auto-hide item methods' documentation
    Auto-hide trait implementation documentation
    Auto-hide implementors of a trait
    Directly go to item in search if there is only one result
    Show line numbers on code examples
    Disable keyboard shortcuts
    - \ No newline at end of file +Rustdoc settings

    Rustdoc settings

    Theme preferences
    Use system theme
    Preferred dark theme
    Preferred light theme
    +
    Auto-hide item contents for large items.
    Auto-hide item methods' documentation
    Auto-hide trait implementation documentation
    Directly go to item in search if there is only one result
    Show line numbers on code examples
    Disable keyboard shortcuts
    + + \ No newline at end of file diff --git a/source-files.js b/source-files.js index 0fdefc875..8b94bee4b 100644 --- a/source-files.js +++ b/source-files.js @@ -5,5 +5,4 @@ sourcesIndex["actix_protobuf"] = {"name":"","files":["lib.rs"]}; sourcesIndex["actix_redis"] = {"name":"","files":["lib.rs","redis.rs","session.rs"]}; sourcesIndex["actix_session"] = {"name":"","files":["cookie.rs","lib.rs"]}; sourcesIndex["actix_web_httpauth"] = {"name":"","dirs":[{"name":"extractors","files":["basic.rs","bearer.rs","config.rs","errors.rs","mod.rs"]},{"name":"headers","dirs":[{"name":"authorization","dirs":[{"name":"scheme","files":["basic.rs","bearer.rs","mod.rs"]}],"files":["errors.rs","header.rs","mod.rs"]},{"name":"www_authenticate","dirs":[{"name":"challenge","dirs":[{"name":"bearer","files":["builder.rs","challenge.rs","errors.rs","mod.rs"]}],"files":["basic.rs","mod.rs"]}],"files":["header.rs","mod.rs"]}],"files":["mod.rs"]}],"files":["lib.rs","middleware.rs","utils.rs"]}; -sourcesIndex["prost_example"] = {"name":"","files":["main.rs"]}; createSourceSidebar(); diff --git a/source-script.js b/source-script.js index 67f62a160..5dc8fee0f 100644 --- a/source-script.js +++ b/source-script.js @@ -1 +1 @@ -function getCurrentFilePath(){var parts=window.location.pathname.split("/");var rootPathParts=window.rootPath.split("/");for(var i=0,len=rootPathParts.length;i"){sidebar.style.left="";this.style.left="";child.innerText="<";updateLocalStorage("rustdoc-source-sidebar-show","true")}else{sidebar.style.left="-300px";this.style.left="0";child.innerText=">";updateLocalStorage("rustdoc-source-sidebar-show","false")}}function createSidebarToggle(){var sidebarToggle=document.createElement("div");sidebarToggle.id="sidebar-toggle";sidebarToggle.onclick=toggleSidebar;var inner1=document.createElement("div");inner1.style.position="relative";var inner2=document.createElement("div");inner2.style.paddingTop="3px";if(getCurrentValue("rustdoc-source-sidebar-show")==="true"){inner2.innerText="<"}else{inner2.innerText=">";sidebarToggle.style.left="0"}inner1.appendChild(inner2);sidebarToggle.appendChild(inner1);return sidebarToggle}function createSourceSidebar(){if(window.rootPath.endsWith("/")===false){window.rootPath+="/"}var main=document.getElementById("main");var sidebarToggle=createSidebarToggle();main.insertBefore(sidebarToggle,main.firstChild);var sidebar=document.createElement("div");sidebar.id="source-sidebar";if(getCurrentValue("rustdoc-source-sidebar-show")!=="true"){sidebar.style.left="-300px"}var currentFile=getCurrentFilePath();var hasFoundFile=false;var title=document.createElement("div");title.className="title";title.innerText="Files";sidebar.appendChild(title);Object.keys(sourcesIndex).forEach(function(key){sourcesIndex[key].name=key;hasFoundFile=createDirEntry(sourcesIndex[key],sidebar,"",currentFile,hasFoundFile)});main.insertBefore(sidebar,main.firstChild);var selected_elem=sidebar.getElementsByClassName("selected")[0];if(typeof selected_elem!=="undefined"){selected_elem.focus()}} \ No newline at end of file +(function(){function getCurrentFilePath(){var parts=window.location.pathname.split("/");var rootPathParts=window.rootPath.split("/");for(var i=0,len=rootPathParts.length;i"){sidebar.style.left="";this.style.left="";child.innerText="<";updateLocalStorage("rustdoc-source-sidebar-show","true")}else{sidebar.style.left="-300px";this.style.left="0";child.innerText=">";updateLocalStorage("rustdoc-source-sidebar-show","false")}}function createSidebarToggle(){var sidebarToggle=document.createElement("div");sidebarToggle.id="sidebar-toggle";sidebarToggle.onclick=toggleSidebar;var inner1=document.createElement("div");inner1.style.position="relative";var inner2=document.createElement("div");inner2.style.paddingTop="3px";if(getCurrentValue("rustdoc-source-sidebar-show")==="true"){inner2.innerText="<"}else{inner2.innerText=">";sidebarToggle.style.left="0"}inner1.appendChild(inner2);sidebarToggle.appendChild(inner1);return sidebarToggle}function createSourceSidebar(){if(!window.rootPath.endsWith("/")){window.rootPath+="/"}var main=document.getElementById("main");var sidebarToggle=createSidebarToggle();main.insertBefore(sidebarToggle,main.firstChild);var sidebar=document.createElement("div");sidebar.id="source-sidebar";if(getCurrentValue("rustdoc-source-sidebar-show")!=="true"){sidebar.style.left="-300px"}var currentFile=getCurrentFilePath();var hasFoundFile=false;var title=document.createElement("div");title.className="title";title.innerText="Files";sidebar.appendChild(title);Object.keys(sourcesIndex).forEach(function(key){sourcesIndex[key].name=key;hasFoundFile=createDirEntry(sourcesIndex[key],sidebar,"",currentFile,hasFoundFile)});main.insertBefore(sidebar,main.firstChild);var selected_elem=sidebar.getElementsByClassName("selected")[0];if(typeof selected_elem!=="undefined"){selected_elem.focus()}}var lineNumbersRegex=/^#?(\d+)(?:-(\d+))?$/;function highlightSourceLines(scrollTo,match){if(typeof match==="undefined"){match=window.location.hash.match(lineNumbersRegex)}if(!match){return}var from=parseInt(match[1],10);var to=from;if(typeof match[2]!=="undefined"){to=parseInt(match[2],10)}if(tocur_line_id){var tmp=prev_line_id;prev_line_id=cur_line_id;cur_line_id=tmp}set_fragment(prev_line_id+"-"+cur_line_id)}else{prev_line_id=cur_line_id;set_fragment(cur_line_id)}}}());window.addEventListener("hashchange",function(){var match=window.location.hash.match(lineNumbersRegex);if(match){return highlightSourceLines(false,match)}});onEachLazy(document.getElementsByClassName("line-numbers"),function(el){el.addEventListener("click",handleSourceHighlight)});highlightSourceLines(true);window.createSourceSidebar=createSourceSidebar})() \ 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 a4eb65670..949e180d0 100644 --- a/src/actix_cors/all_or_some.rs.html +++ b/src/actix_cors/all_or_some.rs.html @@ -1,5 +1,4 @@ -all_or_some.rs - source
     1
    +all_or_some.rs - source
     1
      2
      3
      4
    @@ -54,7 +53,7 @@
     53
     54
     55
    -
    +
     /// An enum signifying that some of type `T` is allowed, or `All` (anything is allowed).
     #[derive(Clone, Debug, PartialEq, Eq)]
     pub enum AllOrSome<T> {
    @@ -111,5 +110,6 @@
         assert!(AllOrSome::Some(()).is_some());
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_cors/builder.rs.html b/src/actix_cors/builder.rs.html index 3bf81d418..71ea23b4f 100644 --- a/src/actix_cors/builder.rs.html +++ b/src/actix_cors/builder.rs.html @@ -1,5 +1,4 @@ -builder.rs - source
      1
    +builder.rs - source
      1
       2
       3
       4
    @@ -624,8 +623,7 @@
     623
     624
     625
    -626
    -
    +
     use std::{collections::HashSet, convert::TryInto, iter::FromIterator, rc::Rc};
     
     use actix_web::{
    @@ -637,7 +635,7 @@
     use futures_util::future::{self, Ready};
     use log::error;
     use once_cell::sync::Lazy;
    -use tinyvec::tiny_vec;
    +use smallvec::smallvec;
     
     use crate::{AllOrSome, CorsError, CorsMiddleware, Inner, OriginFn};
     
    @@ -710,7 +708,7 @@
         pub fn permissive() -> Self {
             let inner = Inner {
                 allowed_origins: AllOrSome::All,
    -            allowed_origins_fns: tiny_vec![],
    +            allowed_origins_fns: smallvec![],
     
                 allowed_methods: ALL_METHODS_SET.clone(),
                 allowed_methods_baked: None,
    @@ -1086,7 +1084,7 @@
         fn default() -> Cors {
             let inner = Inner {
                 allowed_origins: AllOrSome::Some(HashSet::with_capacity(8)),
    -            allowed_origins_fns: tiny_vec![],
    +            allowed_origins_fns: smallvec![],
     
                 allowed_methods: HashSet::with_capacity(8),
                 allowed_methods_baked: None,
    @@ -1111,13 +1109,12 @@
         }
     }
     
    -impl<S, B> Transform<S, ServiceRequest> for Cors
    +impl<S> Transform<S, ServiceRequest> for Cors
     where
    -    S: Service<ServiceRequest, Response = ServiceResponse<B>, Error = Error>,
    +    S: Service<ServiceRequest, Response = ServiceResponse, Error = Error>,
         S::Future: 'static,
    -    B: 'static,
     {
    -    type Response = ServiceResponse<B>;
    +    type Response = ServiceResponse;
         type Error = Error;
         type InitError = ();
         type Transform = CorsMiddleware<S>;
    @@ -1253,5 +1250,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_cors/error.rs.html b/src/actix_cors/error.rs.html index 2be70d4a0..7bc0c04c4 100644 --- a/src/actix_cors/error.rs.html +++ b/src/actix_cors/error.rs.html @@ -1,5 +1,4 @@ -error.rs - source
     1
    +error.rs - source
     1
      2
      3
      4
    @@ -55,7 +54,7 @@
     54
     55
     56
    -
    +
     use actix_web::{http::StatusCode, HttpResponse, ResponseError};
     
     use derive_more::{Display, Error};
    @@ -113,5 +112,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_cors/inner.rs.html b/src/actix_cors/inner.rs.html index 37ac5b870..e69e83f1d 100644 --- a/src/actix_cors/inner.rs.html +++ b/src/actix_cors/inner.rs.html @@ -1,5 +1,4 @@ -inner.rs - source
      1
    +inner.rs - source
      1
       2
       3
       4
    @@ -337,7 +336,7 @@
     336
     337
     338
    -
    +
     use std::{collections::HashSet, convert::TryFrom, convert::TryInto, fmt, rc::Rc};
     
     use actix_web::{
    @@ -349,7 +348,7 @@
         },
     };
     use once_cell::sync::Lazy;
    -use tinyvec::TinyVec;
    +use smallvec::SmallVec;
     
     use crate::{AllOrSome, CorsError};
     
    @@ -382,7 +381,7 @@
     #[derive(Debug, Clone)]
     pub(crate) struct Inner {
         pub(crate) allowed_origins: AllOrSome<HashSet<HeaderValue>>,
    -    pub(crate) allowed_origins_fns: TinyVec<[OriginFn; 4]>,
    +    pub(crate) allowed_origins_fns: SmallVec<[OriginFn; 4]>,
     
         pub(crate) allowed_methods: HashSet<Method>,
         pub(crate) allowed_methods_baked: Option<HeaderValue>,
    @@ -677,5 +676,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_cors/lib.rs.html b/src/actix_cors/lib.rs.html index 132d5d21f..7d98606ab 100644 --- a/src/actix_cors/lib.rs.html +++ b/src/actix_cors/lib.rs.html @@ -1,5 +1,4 @@ -lib.rs - source
     1
    +lib.rs - source
     1
      2
      3
      4
    @@ -59,7 +58,7 @@
     58
     59
     60
    -
    +
     //! Cross-Origin Resource Sharing (CORS) controls for Actix Web.
     //!
     //! This middleware can be applied to both applications and resources. Once built, a
    @@ -121,5 +120,6 @@
     use inner::{Inner, OriginFn};
     pub use middleware::CorsMiddleware;
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_cors/middleware.rs.html b/src/actix_cors/middleware.rs.html index 2f31919d5..0a34e7670 100644 --- a/src/actix_cors/middleware.rs.html +++ b/src/actix_cors/middleware.rs.html @@ -1,5 +1,4 @@ -middleware.rs - source
      1
    +middleware.rs - source
      1
       2
       3
       4
    @@ -216,10 +215,15 @@
     215
     216
     217
    -
    -use std::{convert::TryInto, rc::Rc};
    +218
    +219
    +220
    +221
    +
    +use std::{convert::TryInto, error::Error as StdError, rc::Rc};
     
     use actix_web::{
    +    body::{AnyBody, MessageBody},
         dev::{Service, ServiceRequest, ServiceResponse},
         error::{Error, Result},
         http::{
    @@ -228,7 +232,9 @@
         },
         HttpResponse,
     };
    -use futures_util::future::{ok, Either, FutureExt as _, LocalBoxFuture, Ready};
    +use futures_util::future::{
    +    ok, Either, FutureExt as _, LocalBoxFuture, Ready, TryFutureExt as _,
    +};
     use log::debug;
     
     use crate::Inner;
    @@ -245,7 +251,7 @@
     }
     
     impl<S> CorsMiddleware<S> {
    -    fn handle_preflight<B>(inner: &Inner, req: ServiceRequest) -> ServiceResponse<B> {
    +    fn handle_preflight(inner: &Inner, req: ServiceRequest) -> ServiceResponse {
             if let Err(err) = inner
                 .validate_origin(req.head())
                 .and_then(|_| inner.validate_allowed_method(req.head()))
    @@ -288,7 +294,6 @@
             }
     
             let res = res.finish();
    -        let res = res.into_body();
             req.into_response(res)
         }
     
    @@ -331,20 +336,21 @@
         }
     }
     
    -type CorsMiddlewareServiceFuture<B> = Either<
    -    Ready<Result<ServiceResponse<B>, Error>>,
    -    LocalBoxFuture<'static, Result<ServiceResponse<B>, Error>>,
    +type CorsMiddlewareServiceFuture = Either<
    +    Ready<Result<ServiceResponse, Error>>,
    +    LocalBoxFuture<'static, Result<ServiceResponse, Error>>,
     >;
     
     impl<S, B> Service<ServiceRequest> for CorsMiddleware<S>
     where
         S: Service<ServiceRequest, Response = ServiceResponse<B>, Error = Error>,
         S::Future: 'static,
    -    B: 'static,
    +    B: MessageBody + 'static,
    +    B::Error: StdError,
     {
    -    type Response = ServiceResponse<B>;
    +    type Response = ServiceResponse;
         type Error = Error;
    -    type Future = CorsMiddlewareServiceFuture<B>;
    +    type Future = CorsMiddlewareServiceFuture;
     
         actix_service::forward_ready!(service);
     
    @@ -377,6 +383,7 @@
                         res
                     }
                 }
    +            .map_ok(|res| res.map_body(|_, body| AnyBody::from_message(body)))
                 .boxed_local();
     
                 Either::Right(res)
    @@ -435,5 +442,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_identity/cookie.rs.html b/src/actix_identity/cookie.rs.html index 2da5e1f9d..2bd67e7d3 100644 --- a/src/actix_identity/cookie.rs.html +++ b/src/actix_identity/cookie.rs.html @@ -1,7 +1,4 @@ -cookie.rs - source - -
      1
    +cookie.rs - source
      1
       2
       3
       4
    @@ -828,7 +825,10 @@
     825
     826
     827
    -
    +828
    +829
    +830
    +
     use std::{rc::Rc, time::SystemTime};
     
     use futures_util::future::{ready, Ready};
    @@ -900,16 +900,17 @@
             value: Option<CookieValue>,
         ) -> Result<()> {
             let add_cookie = value.is_some();
    -        let val = value.map(|val| {
    -            if !self.legacy_supported() {
    -                serde_json::to_string(&val)
    -            } else {
    -                Ok(val.identity)
    -            }
    -        });
    +        let val = value
    +            .map(|val| {
    +                if !self.legacy_supported() {
    +                    serde_json::to_string(&val)
    +                } else {
    +                    Ok(val.identity)
    +                }
    +            })
    +            .transpose()?;
     
    -        let mut cookie =
    -            Cookie::new(self.name.clone(), val.unwrap_or_else(|| Ok(String::new()))?);
    +        let mut cookie = Cookie::new(self.name.clone(), val.unwrap_or_default());
             cookie.set_path(self.path.clone());
             cookie.set_secure(self.secure);
             cookie.set_http_only(true);
    @@ -939,10 +940,10 @@
             };
     
             if add_cookie {
    -            jar.private(&key).add(cookie);
    +            jar.private_mut(&key).add(cookie);
             } else {
                 jar.add_original(cookie.clone());
    -            jar.private(&key).remove(cookie);
    +            jar.private_mut(&key).remove(cookie);
             }
     
             for cookie in jar.delta() {
    @@ -959,17 +960,19 @@
             jar.add_original(cookie.clone());
     
             let res = if self.legacy_supported() {
    -            jar.private(&self.key).get(&self.name).map(|n| CookieValue {
    -                identity: n.value().to_string(),
    -                login_timestamp: None,
    -                visit_timestamp: None,
    -            })
    +            jar.private_mut(&self.key)
    +                .get(&self.name)
    +                .map(|n| CookieValue {
    +                    identity: n.value().to_string(),
    +                    login_timestamp: None,
    +                    visit_timestamp: None,
    +                })
             } else {
                 None
             };
     
             res.or_else(|| {
    -            jar.private(&self.key_v2)
    +            jar.private_mut(&self.key_v2)
                     .get(&self.name)
                     .and_then(|c| self.parse(c))
             })
    @@ -1222,7 +1225,7 @@
                 .copied()
                 .collect();
     
    -        jar.private(&Key::derive_from(&key)).add(Cookie::new(
    +        jar.private_mut(&Key::derive_from(&key)).add(Cookie::new(
                 COOKIE_NAME,
                 serde_json::to_string(&CookieValue {
                     identity: identity.to_string(),
    @@ -1406,7 +1409,7 @@
     
         fn legacy_login_cookie(identity: &'static str) -> Cookie<'static> {
             let mut jar = CookieJar::new();
    -        jar.private(&Key::derive_from(&COOKIE_KEY_MASTER))
    +        jar.private_mut(&Key::derive_from(&COOKIE_KEY_MASTER))
                 .add(Cookie::new(COOKIE_NAME, identity));
             jar.get(COOKIE_NAME).unwrap().clone()
         }
    @@ -1423,7 +1426,7 @@
                 cookies.add(Cookie::parse(cookie.to_str().unwrap().to_string()).unwrap());
             }
             let cookie = cookies
    -            .private(&Key::derive_from(&COOKIE_KEY_MASTER))
    +            .private_mut(&Key::derive_from(&COOKIE_KEY_MASTER))
                 .get(COOKIE_NAME)
                 .unwrap();
             assert_eq!(cookie.value(), identity);
    @@ -1657,5 +1660,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_identity/identity.rs.html b/src/actix_identity/identity.rs.html index 8315185e3..d2cf17e52 100644 --- a/src/actix_identity/identity.rs.html +++ b/src/actix_identity/identity.rs.html @@ -1,7 +1,4 @@ -identity.rs - source - -
      1
    +identity.rs - source
      1
       2
       3
       4
    @@ -102,7 +99,7 @@
      99
     100
     101
    -
    +
     use actix_web::{
         dev::{Extensions, Payload},
         Error, FromRequest, HttpRequest,
    @@ -205,5 +202,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_identity/lib.rs.html b/src/actix_identity/lib.rs.html index 5ab949239..c39964e72 100644 --- a/src/actix_identity/lib.rs.html +++ b/src/actix_identity/lib.rs.html @@ -1,7 +1,4 @@ -lib.rs - source - -
      1
    +lib.rs - source
      1
       2
       3
       4
    @@ -153,7 +150,7 @@
     150
     151
     152
    -
    +
     //! Opinionated request identity service for Actix Web apps.
     //!
     //! [`IdentityService`] middleware can be used with different policies types to store
    @@ -307,5 +304,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_identity/middleware.rs.html b/src/actix_identity/middleware.rs.html index d1ea4d9e2..fc7b76106 100644 --- a/src/actix_identity/middleware.rs.html +++ b/src/actix_identity/middleware.rs.html @@ -1,7 +1,4 @@ -middleware.rs - source - -
      1
    +middleware.rs - source
      1
       2
       3
       4
    @@ -169,14 +166,25 @@
     166
     167
     168
    -
    -use std::rc::Rc;
    +169
    +170
    +171
    +172
    +173
    +174
    +175
    +176
    +
    +use std::{error::Error as StdError, rc::Rc};
     
     use actix_web::{
    +    body::{AnyBody, MessageBody},
         dev::{Service, ServiceRequest, ServiceResponse, Transform},
         Error, HttpMessage, Result,
     };
    -use futures_util::future::{ready, FutureExt, LocalBoxFuture, Ready};
    +use futures_util::future::{
    +    ready, FutureExt as _, LocalBoxFuture, Ready, TryFutureExt as _,
    +};
     
     use crate::{identity::IdentityItem, IdentityPolicy};
     
    @@ -213,9 +221,10 @@
         S: Service<ServiceRequest, Response = ServiceResponse<B>, Error = Error> + 'static,
         S::Future: 'static,
         T: IdentityPolicy,
    -    B: 'static,
    +    B: MessageBody + 'static,
    +    B::Error: StdError,
     {
    -    type Response = ServiceResponse<B>;
    +    type Response = ServiceResponse;
         type Error = Error;
         type InitError = ();
         type Transform = IdentityServiceMiddleware<S, T>;
    @@ -245,12 +254,13 @@
     
     impl<S, T, B> Service<ServiceRequest> for IdentityServiceMiddleware<S, T>
     where
    -    B: 'static,
         S: Service<ServiceRequest, Response = ServiceResponse<B>, Error = Error> + 'static,
         S::Future: 'static,
         T: IdentityPolicy,
    +    B: MessageBody + 'static,
    +    B::Error: StdError,
     {
    -    type Response = ServiceResponse<B>;
    +    type Response = ServiceResponse;
         type Error = Error;
         type Future = LocalBoxFuture<'static, Result<Self::Response, Self::Error>>;
     
    @@ -272,16 +282,19 @@
     
                         if let Some(id) = id {
                             match backend.to_response(id.id, id.changed, &mut res).await {
    -                            Ok(_) => Ok(res),
    +                            Ok(_) => {
    +                                Ok(res.map_body(|_, body| AnyBody::from_message(body)))
    +                            }
                                 Err(e) => Ok(res.error_response(e)),
                             }
                         } else {
    -                        Ok(res)
    +                        Ok(res.map_body(|_, body| AnyBody::from_message(body)))
                         }
                     }
                     Err(err) => Ok(req.error_response(err)),
                 }
             }
    +        .map_ok(|res| res.map_body(|_, body| AnyBody::from_message(body)))
             .boxed_local()
         }
     }
    @@ -339,5 +352,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_protobuf/lib.rs.html b/src/actix_protobuf/lib.rs.html index 07142cd6b..73ed36038 100644 --- a/src/actix_protobuf/lib.rs.html +++ b/src/actix_protobuf/lib.rs.html @@ -1,7 +1,4 @@ -lib.rs - source - -
      1
    +lib.rs - source
      1
       2
       3
       4
    @@ -325,43 +322,63 @@
     322
     323
     324
    -
    -#![deny(rust_2018_idioms)]
    +325
    +326
    +327
    +328
    +329
    +330
    +331
    +332
    +333
    +334
    +
    +#![forbid(unsafe_code)]
    +#![deny(rust_2018_idioms, nonstandard_style)]
     
    +use std::{
    +    fmt,
    +    future::Future,
    +    ops::{Deref, DerefMut},
    +    pin::Pin,
    +    task::{self, Poll},
    +};
    +
    +use actix_web::{
    +    dev::Payload,
    +    error::PayloadError,
    +    http::header::{CONTENT_LENGTH, CONTENT_TYPE},
    +    web::BytesMut,
    +    Error, FromRequest, HttpMessage, HttpRequest, HttpResponse, HttpResponseBuilder,
    +    Responder, ResponseError,
    +};
     use derive_more::Display;
    -use std::fmt;
    -use std::future::Future;
    -use std::ops::{Deref, DerefMut};
    -use std::pin::Pin;
    -use std::task;
    -use std::task::Poll;
    -
    -use prost::DecodeError as ProtoBufDecodeError;
    -use prost::EncodeError as ProtoBufEncodeError;
    -use prost::Message;
    -
    -use actix_web::dev::{HttpResponseBuilder, Payload};
    -use actix_web::error::{Error, PayloadError, ResponseError};
    -use actix_web::http::header::{CONTENT_LENGTH, CONTENT_TYPE};
    -use actix_web::web::BytesMut;
    -use actix_web::{FromRequest, HttpMessage, HttpRequest, HttpResponse, Responder};
    -use futures_util::future::{FutureExt, LocalBoxFuture};
    -use futures_util::StreamExt;
    +use futures_util::{
    +    future::{FutureExt as _, LocalBoxFuture},
    +    stream::StreamExt as _,
    +};
    +use prost::{
    +    DecodeError as ProtoBufDecodeError, EncodeError as ProtoBufEncodeError, Message,
    +};
     
     #[derive(Debug, Display)]
     pub enum ProtoBufPayloadError {
         /// Payload size is bigger than 256k
         #[display(fmt = "Payload size is bigger than 256k")]
         Overflow,
    +
         /// Content type error
         #[display(fmt = "Content type error")]
         ContentType,
    +
         /// Serialize error
         #[display(fmt = "ProtoBuf serialize error: {}", _0)]
         Serialize(ProtoBufEncodeError),
    +
         /// Deserialize error
         #[display(fmt = "ProtoBuf deserialize error: {}", _0)]
         Deserialize(ProtoBufDecodeError),
    +
         /// Payload error
         #[display(fmt = "Error that occur during reading payload: {}", _0)]
         Payload(PayloadError),
    @@ -651,5 +668,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_redis/lib.rs.html b/src/actix_redis/lib.rs.html index ac43af57e..c132bbe66 100644 --- a/src/actix_redis/lib.rs.html +++ b/src/actix_redis/lib.rs.html @@ -1,7 +1,4 @@ -lib.rs - source - -
     1
    +lib.rs - source
     1
      2
      3
      4
    @@ -36,7 +33,7 @@
     33
     34
     35
    -
    +
     //! Redis integration for Actix and session store for Actix Web.
     
     #![deny(rust_2018_idioms)]
    @@ -73,5 +70,6 @@
     pub use redis_async::error::Error as RespError;
     pub use redis_async::resp::RespValue;
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_redis/redis.rs.html b/src/actix_redis/redis.rs.html index 4d45f88dc..461e7f850 100644 --- a/src/actix_redis/redis.rs.html +++ b/src/actix_redis/redis.rs.html @@ -1,7 +1,4 @@ -redis.rs - source - -
      1
    +redis.rs - source
      1
       2
       3
       4
    @@ -142,7 +139,7 @@
     139
     140
     141
    -
    +
     use std::collections::VecDeque;
     use std::io;
     
    @@ -285,5 +282,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_redis/session.rs.html b/src/actix_redis/session.rs.html index a4c3198c0..c829dfbe9 100644 --- a/src/actix_redis/session.rs.html +++ b/src/actix_redis/session.rs.html @@ -1,7 +1,4 @@ -session.rs - source - -
      1
    +session.rs - source
      1
       2
       3
       4
    @@ -707,20 +704,30 @@
     704
     705
     706
    -
    +707
    +708
    +709
    +710
    +711
    +712
    +713
    +714
    +
     use std::{collections::HashMap, iter, rc::Rc};
     
     use actix::prelude::*;
     use actix_service::{Service, Transform};
     use actix_session::{Session, SessionStatus};
    -use actix_web::cookie::{Cookie, CookieJar, Key, SameSite};
    -use actix_web::dev::{ServiceRequest, ServiceResponse};
    -use actix_web::http::header::{self, HeaderValue};
    -use actix_web::{error, Error, HttpMessage};
    +use actix_web::{
    +    cookie::{Cookie, CookieJar, Key, SameSite},
    +    dev::{ServiceRequest, ServiceResponse},
    +    error,
    +    http::header::{self, HeaderValue},
    +    Error,
    +};
     use futures_core::future::LocalBoxFuture;
     use rand::{distributions::Alphanumeric, rngs::OsRng, Rng};
    -use redis_async::resp::RespValue;
    -use redis_async::resp_array;
    +use redis_async::{resp::RespValue, resp_array};
     use time::{self, Duration, OffsetDateTime};
     
     use crate::redis::{Command, RedisActor};
    @@ -1021,7 +1028,7 @@
     
                 // set cookie
                 let mut jar = CookieJar::new();
    -            jar.signed(&self.key).add(cookie);
    +            jar.signed_mut(&self.key).add(cookie);
     
                 (value, Some(jar))
             };
    @@ -1031,7 +1038,7 @@
             let state: HashMap<_, _> = state.collect();
     
             let body = match serde_json::to_string(&state) {
    -            Err(e) => return Err(e.into()),
    +            Err(err) => return Err(err.into()),
                 Ok(body) => body,
             };
     
    @@ -1152,12 +1159,15 @@
     
         async fn logout(session: Session) -> Result<HttpResponse> {
             let id: Option<String> = session.get("user_id")?;
    -        if let Some(x) = id {
    +
    +        let body = if let Some(x) = id {
                 session.purge();
    -            Ok(format!("Logged out: {}", x).into())
    +            format!("Logged out: {}", x)
             } else {
    -            Ok("Could not log out anonymous user".into())
    -        }
    +            "Could not log out anonymous user".to_owned()
    +        };
    +
    +        Ok(HttpResponse::Ok().body(body))
         }
     
         #[actix_rt::test]
    @@ -1358,7 +1368,10 @@
                 .unwrap();
             assert_ne!(
                 OffsetDateTime::now_utc().year(),
    -            cookie_4.expires().map(|t| t.year()).unwrap()
    +            cookie_4
    +                .expires()
    +                .map(|t| t.datetime().expect("Expiration is a datetime").year())
    +                .unwrap()
             );
     
             // Step 10: GET index, including session cookie #2 in request
    @@ -1415,5 +1428,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_session/cookie.rs.html b/src/actix_session/cookie.rs.html index 78c324bce..a32a1bd76 100644 --- a/src/actix_session/cookie.rs.html +++ b/src/actix_session/cookie.rs.html @@ -1,7 +1,4 @@ -cookie.rs - source - -
      1
    +cookie.rs - source
      1
       2
       3
       4
    @@ -553,18 +550,34 @@
     550
     551
     552
    -
    +553
    +554
    +555
    +556
    +557
    +558
    +559
    +560
    +561
    +562
    +563
    +564
    +565
    +566
    +
     //! Cookie based sessions. See docs for [`CookieSession`].
     
    -use std::{collections::HashMap, rc::Rc};
    +use std::{collections::HashMap, error::Error as StdError, rc::Rc};
     
    -use actix_service::{Service, Transform};
    -use actix_web::cookie::{Cookie, CookieJar, Key, SameSite};
    -use actix_web::dev::{ServiceRequest, ServiceResponse};
    -use actix_web::http::{header::SET_COOKIE, HeaderValue};
    -use actix_web::{Error, HttpMessage, ResponseError};
    +use actix_web::{
    +    body::{AnyBody, MessageBody},
    +    cookie::{Cookie, CookieJar, Key, SameSite},
    +    dev::{Service, ServiceRequest, ServiceResponse, Transform},
    +    http::{header::SET_COOKIE, HeaderValue},
    +    Error, ResponseError,
    +};
     use derive_more::Display;
    -use futures_util::future::{ok, LocalBoxFuture, Ready};
    +use futures_util::future::{ok, FutureExt as _, LocalBoxFuture, Ready};
     use serde_json::error::Error as JsonError;
     use time::{Duration, OffsetDateTime};
     
    @@ -662,8 +675,8 @@
             let mut jar = CookieJar::new();
     
             match self.security {
    -            CookieSecurity::Signed => jar.signed(&self.key).add(cookie),
    -            CookieSecurity::Private => jar.private(&self.key).add(cookie),
    +            CookieSecurity::Signed => jar.signed_mut(&self.key).add(cookie),
    +            CookieSecurity::Private => jar.private_mut(&self.key).add(cookie),
             }
     
             for cookie in jar.delta() {
    @@ -848,13 +861,15 @@
         }
     }
     
    -impl<S, B: 'static> Transform<S, ServiceRequest> for CookieSession
    +impl<S, B> Transform<S, ServiceRequest> for CookieSession
     where
         S: Service<ServiceRequest, Response = ServiceResponse<B>>,
         S::Future: 'static,
         S::Error: 'static,
    +    B: MessageBody + 'static,
    +    B::Error: StdError,
     {
    -    type Response = ServiceResponse<B>;
    +    type Response = ServiceResponse;
         type Error = S::Error;
         type InitError = ();
         type Transform = CookieSessionMiddleware<S>;
    @@ -874,13 +889,15 @@
         inner: Rc<CookieSessionInner>,
     }
     
    -impl<S, B: 'static> Service<ServiceRequest> for CookieSessionMiddleware<S>
    +impl<S, B> Service<ServiceRequest> for CookieSessionMiddleware<S>
     where
         S: Service<ServiceRequest, Response = ServiceResponse<B>>,
         S::Future: 'static,
         S::Error: 'static,
    +    B: MessageBody + 'static,
    +    B::Error: StdError,
     {
    -    type Response = ServiceResponse<B>;
    +    type Response = ServiceResponse;
         type Error = S::Error;
         type Future = LocalBoxFuture<'static, Result<Self::Response, Self::Error>>;
     
    @@ -899,36 +916,40 @@
     
             let fut = self.service.call(req);
     
    -        Box::pin(async move {
    +        async move {
                 let mut res = fut.await?;
     
    -            let res = match Session::get_changes(&mut res) {
    +            let result = match Session::get_changes(&mut res) {
                     (SessionStatus::Changed, state) | (SessionStatus::Renewed, state) => {
    -                    res.checked_expr(|res| inner.set_cookie(res, state))
    +                    inner.set_cookie(&mut res, state)
                     }
     
                     (SessionStatus::Unchanged, state) if prolong_expiration => {
    -                    res.checked_expr(|res| inner.set_cookie(res, state))
    +                    inner.set_cookie(&mut res, state)
                     }
     
                     // set a new session cookie upon first request (new client)
                     (SessionStatus::Unchanged, _) => {
                         if is_new {
                             let state: HashMap<String, String> = HashMap::new();
    -                        res.checked_expr(|res| inner.set_cookie(res, state.into_iter()))
    +                        inner.set_cookie(&mut res, state.into_iter())
                         } else {
    -                        res
    +                        Ok(())
                         }
                     }
     
                     (SessionStatus::Purged, _) => {
                         let _ = inner.remove_cookie(&mut res);
    -                    res
    +                    Ok(())
                     }
                 };
     
    -            Ok(res)
    -        })
    +            match result {
    +                Ok(()) => Ok(res.map_body(|_, body| AnyBody::from_message(body))),
    +                Err(error) => Ok(res.error_response(error)),
    +            }
    +        }
    +        .boxed_local()
         }
     }
     
    @@ -1089,7 +1110,9 @@
                 .find(|c| c.name() == "actix-session")
                 .expect("Cookie is set")
                 .expires()
    -            .expect("Expiration is set");
    +            .expect("Expiration is set")
    +            .datetime()
    +            .expect("Expiration is a datetime");
     
             actix_rt::time::sleep(std::time::Duration::from_secs(1)).await;
     
    @@ -1101,11 +1124,14 @@
                 .find(|c| c.name() == "actix-session")
                 .expect("Cookie is set")
                 .expires()
    -            .expect("Expiration is set");
    +            .expect("Expiration is set")
    +            .datetime()
    +            .expect("Expiration is a datetime");
     
             assert!(expires_2 - expires_1 >= Duration::seconds(1));
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_session/lib.rs.html b/src/actix_session/lib.rs.html index 357f8d8c0..6bec534f4 100644 --- a/src/actix_session/lib.rs.html +++ b/src/actix_session/lib.rs.html @@ -1,7 +1,4 @@ -lib.rs - source - -
      1
    +lib.rs - source
      1
       2
       3
       4
    @@ -412,7 +409,7 @@
     409
     410
     411
    -
    +
     //! Sessions for Actix Web.
     //!
     //! Provides a general solution for session management. Session middleware could provide different
    @@ -825,5 +822,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_web_httpauth/extractors/basic.rs.html b/src/actix_web_httpauth/extractors/basic.rs.html index 670a5dde1..fcf948666 100644 --- a/src/actix_web_httpauth/extractors/basic.rs.html +++ b/src/actix_web_httpauth/extractors/basic.rs.html @@ -1,7 +1,4 @@ -basic.rs - source - -
      1
    +basic.rs - source
      1
       2
       3
       4
    @@ -153,7 +150,7 @@
     150
     151
     152
    -
    +
     //! Extractor for the "Basic" HTTP Authentication Scheme
     
     use std::borrow::Cow;
    @@ -237,7 +234,7 @@
     ///
     /// fn main() {
     ///     let app = App::new()
    -///         .data(Config::default().realm("Restricted area"))
    +///         .app_data(Config::default().realm("Restricted area"))
     ///         .service(web::resource("/index.html").route(web::get().to(index)));
     /// }
     /// ```
    @@ -307,5 +304,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_web_httpauth/extractors/bearer.rs.html b/src/actix_web_httpauth/extractors/bearer.rs.html index e8006477d..557165238 100644 --- a/src/actix_web_httpauth/extractors/bearer.rs.html +++ b/src/actix_web_httpauth/extractors/bearer.rs.html @@ -1,7 +1,4 @@ -bearer.rs - source - -
      1
    +bearer.rs - source
      1
       2
       3
       4
    @@ -181,7 +178,7 @@
     178
     179
     180
    -
    +
     //! Extractor for the "Bearer" HTTP Authentication Scheme
     
     use std::borrow::Cow;
    @@ -268,7 +265,7 @@
     ///
     /// fn main() {
     ///     let app = App::new()
    -///         .data(
    +///         .app_data(
     ///             Config::default()
     ///                 .realm("Restricted area")
     ///                 .scope("email photo"),
    @@ -363,5 +360,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_web_httpauth/extractors/config.rs.html b/src/actix_web_httpauth/extractors/config.rs.html index 382b6d1c4..2b5f6e3ee 100644 --- a/src/actix_web_httpauth/extractors/config.rs.html +++ b/src/actix_web_httpauth/extractors/config.rs.html @@ -1,7 +1,4 @@ -config.rs - source - -
     1
    +config.rs - source
     1
      2
      3
      4
    @@ -24,7 +21,7 @@
     21
     22
     23
    -
    +
     use super::AuthenticationError;
     use crate::headers::www_authenticate::Challenge;
     
    @@ -49,5 +46,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_web_httpauth/extractors/errors.rs.html b/src/actix_web_httpauth/extractors/errors.rs.html index 8c6c5ba50..d8a024f33 100644 --- a/src/actix_web_httpauth/extractors/errors.rs.html +++ b/src/actix_web_httpauth/extractors/errors.rs.html @@ -1,7 +1,4 @@ -errors.rs - source - -
     1
    +errors.rs - source
     1
      2
      3
      4
    @@ -83,7 +80,7 @@
     80
     81
     82
    -
    +
     use std::error::Error;
     use std::fmt;
     
    @@ -167,5 +164,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_web_httpauth/extractors/mod.rs.html b/src/actix_web_httpauth/extractors/mod.rs.html index 934e9ef4c..1ae08363b 100644 --- a/src/actix_web_httpauth/extractors/mod.rs.html +++ b/src/actix_web_httpauth/extractors/mod.rs.html @@ -1,7 +1,4 @@ -mod.rs - source - -
     1
    +mod.rs - source
     1
      2
      3
      4
    @@ -34,7 +31,7 @@
     31
     32
     33
    -
    +
     //! Type-safe authentication information extractors
     
     use actix_web::dev::ServiceRequest;
    @@ -69,5 +66,6 @@
         fn from_service_request(req: &ServiceRequest) -> Self::Future;
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_web_httpauth/headers/authorization/errors.rs.html b/src/actix_web_httpauth/headers/authorization/errors.rs.html index 19e28a204..4f1a4f2a8 100644 --- a/src/actix_web_httpauth/headers/authorization/errors.rs.html +++ b/src/actix_web_httpauth/headers/authorization/errors.rs.html @@ -1,7 +1,4 @@ -errors.rs - source - -
     1
    +errors.rs - source
     1
      2
      3
      4
    @@ -70,7 +67,7 @@
     67
     68
     69
    -
    +
     use std::convert::From;
     use std::error::Error;
     use std::fmt;
    @@ -141,5 +138,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_web_httpauth/headers/authorization/header.rs.html b/src/actix_web_httpauth/headers/authorization/header.rs.html index 81fe877a0..9363e70e5 100644 --- a/src/actix_web_httpauth/headers/authorization/header.rs.html +++ b/src/actix_web_httpauth/headers/authorization/header.rs.html @@ -1,7 +1,4 @@ -header.rs - source - -
      1
    +header.rs - source
      1
       2
       3
       4
    @@ -104,7 +101,7 @@
     101
     102
     103
    -
    +
     use std::fmt;
     
     use actix_web::error::ParseError;
    @@ -209,5 +206,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_web_httpauth/headers/authorization/mod.rs.html b/src/actix_web_httpauth/headers/authorization/mod.rs.html index 597355f2b..36b9caadf 100644 --- a/src/actix_web_httpauth/headers/authorization/mod.rs.html +++ b/src/actix_web_httpauth/headers/authorization/mod.rs.html @@ -1,7 +1,4 @@ -mod.rs - source - -
     1
    +mod.rs - source
     1
      2
      3
      4
    @@ -12,7 +9,7 @@
      9
     10
     11
    -
    +
     //! `Authorization` header and various auth schemes
     
     mod errors;
    @@ -25,5 +22,6 @@
     pub use self::scheme::bearer::Bearer;
     pub use self::scheme::Scheme;
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file 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 c1244da54..f9c1b2a1c 100644 --- a/src/actix_web_httpauth/headers/authorization/scheme/basic.rs.html +++ b/src/actix_web_httpauth/headers/authorization/scheme/basic.rs.html @@ -1,7 +1,4 @@ -basic.rs - source - -
      1
    +basic.rs - source
      1
       2
       3
       4
    @@ -198,7 +195,7 @@
     195
     196
     197
    -
    +
     use std::borrow::Cow;
     use std::fmt;
     use std::str;
    @@ -397,5 +394,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file 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 17ffc03d6..de686609d 100644 --- a/src/actix_web_httpauth/headers/authorization/scheme/bearer.rs.html +++ b/src/actix_web_httpauth/headers/authorization/scheme/bearer.rs.html @@ -1,7 +1,4 @@ -bearer.rs - source - -
      1
    +bearer.rs - source
      1
       2
       3
       4
    @@ -139,7 +136,7 @@
     136
     137
     138
    -
    +
     use std::borrow::Cow;
     use std::fmt;
     
    @@ -279,5 +276,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file 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 d2cf72f26..ee17da09e 100644 --- a/src/actix_web_httpauth/headers/authorization/scheme/mod.rs.html +++ b/src/actix_web_httpauth/headers/authorization/scheme/mod.rs.html @@ -1,7 +1,4 @@ -mod.rs - source - -
     1
    +mod.rs - source
     1
      2
      3
      4
    @@ -16,7 +13,7 @@
     13
     14
     15
    -
    +
     use std::fmt::{Debug, Display};
     
     use actix_web::http::header::{HeaderValue, IntoHeaderValue};
    @@ -33,5 +30,6 @@
         fn parse(header: &HeaderValue) -> Result<Self, ParseError>;
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_web_httpauth/headers/mod.rs.html b/src/actix_web_httpauth/headers/mod.rs.html index 8979863d2..a30d3b2cd 100644 --- a/src/actix_web_httpauth/headers/mod.rs.html +++ b/src/actix_web_httpauth/headers/mod.rs.html @@ -1,15 +1,13 @@ -mod.rs - source - -
    1
    +mod.rs - source
    1
     2
     3
     4
    -
    +
     //! Typed HTTP headers
     
     pub mod authorization;
     pub mod www_authenticate;
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file 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 7c15c6268..85a440a1a 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,7 +1,4 @@ -basic.rs - source - -
      1
    +basic.rs - source
      1
       2
       3
       4
    @@ -141,7 +138,7 @@
     138
     139
     140
    -
    +
     //! Challenge for the "Basic" HTTP Authentication Scheme
     
     use std::borrow::Cow;
    @@ -283,5 +280,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file 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 ec8d5025f..74013683e 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,7 +1,4 @@ -builder.rs - source - -
     1
    +builder.rs - source
     1
      2
      3
      4
    @@ -64,7 +61,7 @@
     61
     62
     63
    -
    +
     use std::borrow::Cow;
     
     use super::{Bearer, Error};
    @@ -129,5 +126,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file 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 1a507f53f..1384c7f86 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,7 +1,4 @@ -challenge.rs - source - -
      1
    +challenge.rs - source
      1
       2
       3
       4
    @@ -140,7 +137,7 @@
     137
     138
     139
    -
    +
     use std::borrow::Cow;
     use std::fmt;
     use std::str;
    @@ -281,5 +278,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file 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 a2f04ba31..620a34d65 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,7 +1,4 @@ -errors.rs - source - -
     1
    +errors.rs - source
     1
      2
      3
      4
    @@ -52,7 +49,7 @@
     49
     50
     51
    -
    +
     use std::fmt;
     
     use actix_web::http::StatusCode;
    @@ -105,5 +102,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file 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 98f158ec0..d1244b57e 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,7 +1,4 @@ -mod.rs - source - -
     1
    +mod.rs - source
     1
      2
      3
      4
    @@ -13,7 +10,7 @@
     10
     11
     12
    -
    +
     //! Challenge for the "Bearer" HTTP Authentication Scheme
     
     mod builder;
    @@ -27,5 +24,6 @@
     #[cfg(test)]
     mod tests;
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file 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 167c346ad..a99f82194 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,7 +1,4 @@ -mod.rs - source - -
     1
    +mod.rs - source
     1
      2
      3
      4
    @@ -14,7 +11,7 @@
     11
     12
     13
    -
    +
     use std::fmt::{Debug, Display};
     
     use actix_web::http::header::IntoHeaderValue;
    @@ -29,5 +26,6 @@
         fn to_bytes(&self) -> Bytes;
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file 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 ba5429fcf..875ade93a 100644 --- a/src/actix_web_httpauth/headers/www_authenticate/header.rs.html +++ b/src/actix_web_httpauth/headers/www_authenticate/header.rs.html @@ -1,7 +1,4 @@ -header.rs - source - -
     1
    +header.rs - source
     1
      2
      3
      4
    @@ -34,7 +31,7 @@
     31
     32
     33
    -
    +
     use actix_web::error::ParseError;
     use actix_web::http::header::{
         Header, HeaderName, HeaderValue, IntoHeaderValue, WWW_AUTHENTICATE,
    @@ -69,5 +66,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file 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 b6cddebd7..500b7079d 100644 --- a/src/actix_web_httpauth/headers/www_authenticate/mod.rs.html +++ b/src/actix_web_httpauth/headers/www_authenticate/mod.rs.html @@ -1,7 +1,4 @@ -mod.rs - source - -
    1
    +mod.rs - source
    1
     2
     3
     4
    @@ -10,7 +7,7 @@
     7
     8
     9
    -
    +
     //! `WWW-Authenticate` header and various auth challenges
     
     mod challenge;
    @@ -21,5 +18,6 @@
     pub use self::challenge::Challenge;
     pub use self::header::WwwAuthenticate;
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_web_httpauth/lib.rs.html b/src/actix_web_httpauth/lib.rs.html index 32133a1a8..8b6282ebd 100644 --- a/src/actix_web_httpauth/lib.rs.html +++ b/src/actix_web_httpauth/lib.rs.html @@ -1,7 +1,4 @@ -lib.rs - source - -
     1
    +lib.rs - source
     1
      2
      3
      4
    @@ -25,7 +22,7 @@
     22
     23
     24
    -
    +
     //! HTTP authentication schemes for [actix-web](https://actix.rs).
     //!
     //! Provides:
    @@ -51,5 +48,6 @@
     pub mod middleware;
     mod utils;
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_web_httpauth/middleware.rs.html b/src/actix_web_httpauth/middleware.rs.html index e8e60477c..4ef2a973e 100644 --- a/src/actix_web_httpauth/middleware.rs.html +++ b/src/actix_web_httpauth/middleware.rs.html @@ -1,7 +1,4 @@ -middleware.rs - source - -
      1
    +middleware.rs - source
      1
       2
       3
       4
    @@ -303,12 +300,27 @@
     300
     301
     302
    -
    +303
    +304
    +305
    +306
    +307
    +308
    +309
    +310
    +311
    +312
    +313
    +
     //! HTTP Authentication middleware.
     
    -use std::{future::Future, marker::PhantomData, pin::Pin, rc::Rc, sync::Arc};
    +use std::{
    +    error::Error as StdError, future::Future, marker::PhantomData, pin::Pin, rc::Rc,
    +    sync::Arc,
    +};
     
     use actix_web::{
    +    body::{AnyBody, MessageBody},
         dev::{Service, ServiceRequest, ServiceResponse, Transform},
         Error,
     };
    @@ -426,8 +438,10 @@
         F: Fn(ServiceRequest, T) -> O + 'static,
         O: Future<Output = Result<ServiceRequest, Error>> + 'static,
         T: AuthExtractor + 'static,
    +    B: MessageBody + 'static,
    +    B::Error: StdError,
     {
    -    type Response = ServiceResponse<B>;
    +    type Response = ServiceResponse;
         type Error = Error;
         type Transform = AuthenticationMiddleware<S, F, T>;
         type InitError = ();
    @@ -459,10 +473,12 @@
         F: Fn(ServiceRequest, T) -> O + 'static,
         O: Future<Output = Result<ServiceRequest, Error>> + 'static,
         T: AuthExtractor + 'static,
    +    B: MessageBody + 'static,
    +    B::Error: StdError,
     {
    -    type Response = ServiceResponse<B>;
    +    type Response = ServiceResponse;
         type Error = S::Error;
    -    type Future = LocalBoxFuture<'static, Result<ServiceResponse<B>, Error>>;
    +    type Future = LocalBoxFuture<'static, Result<ServiceResponse, Error>>;
     
         actix_service::forward_ready!(service);
     
    @@ -483,7 +499,10 @@
                 // middleware to do their thing (eg. cors adding headers)
                 let req = process_fn(req, credentials).await?;
     
    -            service.call(req).await
    +            service
    +                .call(req)
    +                .await
    +                .map(|res| res.map_body(|_, body| AnyBody::from_message(body)))
             }
             .boxed_local()
         }
    @@ -607,5 +626,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/actix_web_httpauth/utils.rs.html b/src/actix_web_httpauth/utils.rs.html index a9fc2d3e0..d2aa411ed 100644 --- a/src/actix_web_httpauth/utils.rs.html +++ b/src/actix_web_httpauth/utils.rs.html @@ -1,7 +1,4 @@ -utils.rs - source - -
      1
    +utils.rs - source
      1
       2
       3
       4
    @@ -112,7 +109,7 @@
     109
     110
     111
    -
    +
     use std::str;
     
     use actix_web::web::BytesMut;
    @@ -225,5 +222,6 @@
         }
     }
     
    -
    - \ No newline at end of file +
    + + \ No newline at end of file diff --git a/src/prost_example/main.rs.html b/src/prost_example/main.rs.html deleted file mode 100644 index 892bb8601..000000000 --- a/src/prost_example/main.rs.html +++ /dev/null @@ -1,73 +0,0 @@ -main.rs - source - -
     1
    - 2
    - 3
    - 4
    - 5
    - 6
    - 7
    - 8
    - 9
    -10
    -11
    -12
    -13
    -14
    -15
    -16
    -17
    -18
    -19
    -20
    -21
    -22
    -23
    -24
    -25
    -26
    -27
    -28
    -29
    -30
    -31
    -32
    -33
    -
    -use actix_protobuf::*;
    -use actix_web::*;
    -use prost_derive::Message;
    -
    -#[derive(Clone, PartialEq, Message)]
    -pub struct MyObj {
    -    #[prost(int32, tag = "1")]
    -    pub number: i32,
    -
    -    #[prost(string, tag = "2")]
    -    pub name: String,
    -}
    -
    -async fn index(msg: ProtoBuf<MyObj>) -> Result<HttpResponse> {
    -    println!("model: {:?}", msg);
    -    HttpResponse::Ok().protobuf(msg.0) // <- send response
    -}
    -
    -#[actix_web::main]
    -async fn main() -> std::io::Result<()> {
    -    std::env::set_var("RUST_LOG", "actix_web=debug,actix_server=info");
    -    env_logger::init();
    -
    -    HttpServer::new(|| {
    -        App::new()
    -            .wrap(middleware::Logger::default())
    -            .service(web::resource("/").route(web::post().to(index)))
    -    })
    -    .bind("127.0.0.1:8081")?
    -    .shutdown_timeout(1)
    -    .run()
    -    .await
    -}
    -
    -
    - \ No newline at end of file diff --git a/storage.js b/storage.js index 9a98fff0c..6b16cbd83 100644 --- a/storage.js +++ b/storage.js @@ -1 +1 @@ -var resourcesSuffix="";var darkThemes=["dark","ayu"];window.currentTheme=document.getElementById("themeStyle");window.mainTheme=document.getElementById("mainThemeStyle");var settingsDataset=(function(){var settingsElement=document.getElementById("default-settings");if(settingsElement===null){return null}var dataset=settingsElement.dataset;if(dataset===undefined){return null}return dataset})();function getSettingValue(settingName){var current=getCurrentValue('rustdoc-'+settingName);if(current!==null){return current}if(settingsDataset!==null){var def=settingsDataset[settingName.replace(/-/g,'_')];if(def!==undefined){return def}}return null}var localStoredTheme=getSettingValue("theme");var savedHref=[];function hasClass(elem,className){return elem&&elem.classList&&elem.classList.contains(className)}function addClass(elem,className){if(!elem||!elem.classList){return}elem.classList.add(className)}function removeClass(elem,className){if(!elem||!elem.classList){return}elem.classList.remove(className)}function onEach(arr,func,reversed){if(arr&&arr.length>0&&func){var length=arr.length;var i;if(reversed!==true){for(i=0;i=0;--i){if(func(arr[i])===true){return true}}}}return false}function onEachLazy(lazyArray,func,reversed){return onEach(Array.prototype.slice.call(lazyArray),func,reversed)}function hasOwnProperty(obj,property){return Object.prototype.hasOwnProperty.call(obj,property)}function updateLocalStorage(name,value){try{window.localStorage.setItem(name,value)}catch(e){}}function getCurrentValue(name){try{return window.localStorage.getItem(name)}catch(e){return null}}function switchTheme(styleElem,mainStyleElem,newTheme,saveTheme){var fullBasicCss="rustdoc"+resourcesSuffix+".css";var fullNewTheme=newTheme+resourcesSuffix+".css";var newHref=mainStyleElem.href.replace(fullBasicCss,fullNewTheme);if(saveTheme===true){updateLocalStorage("rustdoc-theme",newTheme)}if(styleElem.href===newHref){return}var found=false;if(savedHref.length===0){onEachLazy(document.getElementsByTagName("link"),function(el){savedHref.push(el.href)})}onEach(savedHref,function(el){if(el===newHref){found=true;return true}});if(found===true){styleElem.href=newHref}}function useSystemTheme(value){if(value===undefined){value=true}updateLocalStorage("rustdoc-use-system-theme",value);var toggle=document.getElementById("use-system-theme");if(toggle&&toggle instanceof HTMLInputElement){toggle.checked=value}}var updateSystemTheme=(function(){if(!window.matchMedia){return function(){var cssTheme=getComputedStyle(document.documentElement).getPropertyValue('content');switchTheme(window.currentTheme,window.mainTheme,JSON.parse(cssTheme)||"light",true)}}var mql=window.matchMedia("(prefers-color-scheme: dark)");function handlePreferenceChange(mql){if(getSettingValue("use-system-theme")!=="false"){var lightTheme=getSettingValue("preferred-light-theme")||"light";var darkTheme=getSettingValue("preferred-dark-theme")||"dark";if(mql.matches){switchTheme(window.currentTheme,window.mainTheme,darkTheme,true)}else{switchTheme(window.currentTheme,window.mainTheme,lightTheme,true)}}}mql.addListener(handlePreferenceChange);return function(){handlePreferenceChange(mql)}})();if(getSettingValue("use-system-theme")!=="false"&&window.matchMedia){if(getSettingValue("use-system-theme")===null&&getSettingValue("preferred-dark-theme")===null&&darkThemes.indexOf(localStoredTheme)>=0){updateLocalStorage("rustdoc-preferred-dark-theme",localStoredTheme)}updateSystemTheme()}else{switchTheme(window.currentTheme,window.mainTheme,getSettingValue("theme")||"light",false)} \ No newline at end of file +var resourcesSuffix="";var darkThemes=["dark","ayu"];window.currentTheme=document.getElementById("themeStyle");window.mainTheme=document.getElementById("mainThemeStyle");var settingsDataset=(function(){var settingsElement=document.getElementById("default-settings");if(settingsElement===null){return null}var dataset=settingsElement.dataset;if(dataset===undefined){return null}return dataset})();function getSettingValue(settingName){var current=getCurrentValue('rustdoc-'+settingName);if(current!==null){return current}if(settingsDataset!==null){var def=settingsDataset[settingName.replace(/-/g,'_')];if(def!==undefined){return def}}return null}var localStoredTheme=getSettingValue("theme");var savedHref=[];function hasClass(elem,className){return elem&&elem.classList&&elem.classList.contains(className)}function addClass(elem,className){if(!elem||!elem.classList){return}elem.classList.add(className)}function removeClass(elem,className){if(!elem||!elem.classList){return}elem.classList.remove(className)}function onEach(arr,func,reversed){if(arr&&arr.length>0&&func){var length=arr.length;var i;if(reversed){for(i=length-1;i>=0;--i){if(func(arr[i])){return true}}}else{for(i=0;i=0){updateLocalStorage("rustdoc-preferred-dark-theme",localStoredTheme)}updateSystemTheme()}else{switchTheme(window.currentTheme,window.mainTheme,getSettingValue("theme")||"light",false)} \ No newline at end of file