From 9b7f1737ed6d2fc177a71c00b91355c5aec05781 Mon Sep 17 00:00:00 2001 From: robjtede Date: Thu, 1 Dec 2022 10:49:14 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20=20@=201774b?= =?UTF-8?q?8a36ef145bb85e2c0db50c9ff78f844804e=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- actix_cors/all.html | 4 +- actix_cors/enum.CorsError.html | 36 +- actix_cors/index.html | 6 +- actix_cors/struct.Cors.html | 56 +- actix_identity/all.html | 2 +- .../config/enum.LogoutBehaviour.html | 20 +- actix_identity/config/index.html | 4 +- .../struct.IdentityMiddlewareBuilder.html | 24 +- actix_identity/index.html | 4 +- actix_identity/struct.Identity.html | 24 +- actix_identity/struct.IdentityMiddleware.html | 18 +- actix_identity/trait.IdentityExt.html | 8 +- actix_limitation/all.html | 4 +- .../constant.DEFAULT_COOKIE_NAME.html | 6 +- .../constant.DEFAULT_PERIOD_SECS.html | 6 +- .../constant.DEFAULT_REQUEST_LIMIT.html | 6 +- .../constant.DEFAULT_SESSION_KEY.html | 6 +- actix_limitation/enum.Error.html | 28 +- actix_limitation/index.html | 6 +- actix_limitation/struct.Builder.html | 30 +- actix_limitation/struct.Limiter.html | 22 +- actix_limitation/struct.RateLimiter.html | 18 +- actix_limitation/struct.Status.html | 24 +- actix_protobuf/all.html | 2 +- actix_protobuf/enum.ProtoBufPayloadError.html | 30 +- actix_protobuf/index.html | 4 +- actix_protobuf/struct.ProtoBuf.html | 14 +- actix_protobuf/struct.ProtoBufConfig.html | 16 +- actix_protobuf/struct.ProtoBufMessage.html | 66 +- .../trait.ProtoBufResponseBuilder.html | 6 +- actix_redis/all.html | 2 +- actix_redis/enum.Error.html | 22 +- actix_redis/enum.RespError.html | 30 +- actix_redis/enum.RespValue.html | 34 +- actix_redis/index.html | 4 +- actix_redis/macro.resp_array.html | 4 +- actix_redis/struct.Command.html | 18 +- actix_redis/struct.RedisActor.html | 18 +- actix_session/all.html | 4 +- .../config/enum.CookieContentSecurity.html | 22 +- .../config/enum.SessionLifecycle.html | 22 +- .../config/enum.TtlExtensionPolicy.html | 22 +- actix_session/config/index.html | 6 +- .../config/struct.BrowserSession.html | 22 +- .../config/struct.PersistentSession.html | 22 +- .../struct.SessionMiddlewareBuilder.html | 36 +- actix_session/enum.SessionStatus.html | 30 +- actix_session/index.html | 6 +- actix_session/storage/enum.LoadError.html | 24 +- actix_session/storage/enum.SaveError.html | 24 +- actix_session/storage/enum.UpdateError.html | 24 +- actix_session/storage/index.html | 6 +- .../storage/struct.CookieSessionStore.html | 18 +- .../struct.RedisActorSessionStore.html | 22 +- .../struct.RedisActorSessionStoreBuilder.html | 22 +- .../storage/struct.RedisSessionStore.html | 22 +- .../struct.RedisSessionStoreBuilder.html | 22 +- actix_session/storage/struct.SessionKey.html | 22 +- actix_session/storage/trait.SessionStore.html | 26 +- actix_session/struct.Session.html | 38 +- actix_session/struct.SessionGetError.html | 20 +- actix_session/struct.SessionInsertError.html | 20 +- actix_session/struct.SessionMiddleware.html | 22 +- actix_session/trait.SessionExt.html | 10 +- actix_settings/all.html | 4 +- actix_settings/enum.Backlog.html | 26 +- actix_settings/enum.Error.html | 34 +- actix_settings/enum.KeepAlive.html | 30 +- actix_settings/enum.MaxConnectionRate.html | 26 +- actix_settings/enum.MaxConnections.html | 26 +- actix_settings/enum.Mode.html | 26 +- actix_settings/enum.NumWorkers.html | 26 +- actix_settings/enum.Timeout.html | 28 +- actix_settings/index.html | 6 +- actix_settings/struct.ActixSettings.html | 48 +- actix_settings/struct.Address.html | 26 +- actix_settings/struct.BasicSettings.html | 38 +- actix_settings/struct.NoSettings.html | 22 +- actix_settings/struct.Tls.html | 28 +- actix_settings/trait.ApplySettings.html | 10 +- actix_settings/trait.Parse.html | 10 +- actix_settings/type.Settings.html | 6 +- actix_web_httpauth/all.html | 2 +- .../extractors/basic/index.html | 4 +- .../extractors/basic/struct.BasicAuth.html | 20 +- .../extractors/basic/struct.Config.html | 18 +- .../extractors/bearer/enum.Error.html | 32 +- .../extractors/bearer/index.html | 4 +- .../extractors/bearer/struct.BearerAuth.html | 18 +- .../extractors/bearer/struct.Config.html | 20 +- actix_web_httpauth/extractors/index.html | 4 +- .../struct.AuthenticationError.html | 32 +- .../extractors/trait.AuthExtractorConfig.html | 10 +- .../authorization/enum.ParseError.html | 30 +- .../headers/authorization/index.html | 4 +- .../authorization/struct.Authorization.html | 26 +- .../headers/authorization/struct.Basic.html | 30 +- .../headers/authorization/struct.Bearer.html | 28 +- .../headers/authorization/trait.Scheme.html | 8 +- actix_web_httpauth/headers/index.html | 4 +- .../headers/www_authenticate/basic/index.html | 4 +- .../www_authenticate/basic/struct.Basic.html | 28 +- .../www_authenticate/bearer/enum.Error.html | 32 +- .../www_authenticate/bearer/index.html | 4 +- .../bearer/struct.Bearer.html | 26 +- .../bearer/struct.BearerBuilder.html | 28 +- .../headers/www_authenticate/index.html | 4 +- .../struct.WwwAuthenticate.html | 24 +- .../www_authenticate/trait.Challenge.html | 8 +- actix_web_httpauth/index.html | 4 +- actix_web_httpauth/middleware/index.html | 4 +- .../middleware/struct.HttpAuthentication.html | 22 +- help.html | 3 +- .../actix_web/extract/trait.FromRequest.js | 2 +- .../response/responder/trait.Responder.js | 2 +- implementors/core/convert/trait.From.js | 2 +- implementors/core/fmt/trait.Debug.js | 2 +- implementors/core/fmt/trait.Display.js | 2 +- .../core/future/future/trait.Future.js | 2 +- implementors/core/ops/deref/trait.Deref.js | 2 +- implementors/core/ops/deref/trait.DerefMut.js | 2 +- implementors/serde/de/trait.Deserialize.js | 2 +- search-index.js | 12 +- settings.html | 3 +- src/actix_cors/all_or_some.rs.html | 114 +- src/actix_cors/builder.rs.html | 1374 +++++----- src/actix_cors/error.rs.html | 102 +- src/actix_cors/inner.rs.html | 818 +++--- src/actix_cors/lib.rs.html | 140 +- src/actix_cors/middleware.rs.html | 606 ++--- src/actix_identity/config.rs.html | 204 +- src/actix_identity/identity.rs.html | 532 ++-- src/actix_identity/identity_ext.rs.html | 56 +- src/actix_identity/lib.rs.html | 198 +- src/actix_identity/middleware.rs.html | 514 ++-- src/actix_limitation/builder.rs.html | 346 +-- src/actix_limitation/errors.rs.html | 88 +- src/actix_limitation/lib.rs.html | 362 +-- src/actix_limitation/middleware.rs.html | 234 +- src/actix_limitation/status.rs.html | 240 +- src/actix_protobuf/lib.rs.html | 672 ++--- src/actix_redis/lib.rs.html | 60 +- src/actix_redis/redis.rs.html | 288 +-- src/actix_session/config.rs.html | 796 +++--- src/actix_session/lib.rs.html | 1476 +++++------ src/actix_session/middleware.rs.html | 934 +++---- src/actix_session/session.rs.html | 652 ++--- src/actix_session/session_ext.rs.html | 80 +- src/actix_session/storage/cookie.rs.html | 246 +- src/actix_session/storage/interface.rs.html | 234 +- src/actix_session/storage/mod.rs.html | 60 +- src/actix_session/storage/redis_actor.rs.html | 634 ++--- src/actix_session/storage/redis_rs.rs.html | 698 ++--- src/actix_session/storage/session_key.rs.html | 120 +- src/actix_session/storage/utils.rs.html | 42 +- src/actix_settings/error.rs.html | 280 +- src/actix_settings/lib.rs.html | 1626 ++++++------ src/actix_settings/parse.rs.html | 84 +- src/actix_settings/settings/address.rs.html | 190 +- src/actix_settings/settings/backlog.rs.html | 144 +- .../settings/keep_alive.rs.html | 194 +- .../settings/max_connection_rate.rs.html | 138 +- .../settings/max_connections.rs.html | 138 +- src/actix_settings/settings/mod.rs.html | 126 +- src/actix_settings/settings/mode.rs.html | 58 +- .../settings/num_workers.rs.html | 136 +- src/actix_settings/settings/timeout.rs.html | 200 +- src/actix_settings/settings/tls.rs.html | 40 +- .../extractors/basic.rs.html | 226 +- .../extractors/bearer.rs.html | 290 +-- .../extractors/config.rs.html | 44 +- .../extractors/errors.rs.html | 160 +- src/actix_web_httpauth/extractors/mod.rs.html | 18 +- .../headers/authorization/errors.rs.html | 146 +- .../headers/authorization/header.rs.html | 170 +- .../headers/authorization/mod.rs.html | 24 +- .../authorization/scheme/basic.rs.html | 392 +-- .../authorization/scheme/bearer.rs.html | 278 +- .../headers/authorization/scheme/mod.rs.html | 30 +- src/actix_web_httpauth/headers/mod.rs.html | 10 +- .../www_authenticate/challenge/basic.rs.html | 274 +- .../challenge/bearer/builder.rs.html | 144 +- .../challenge/bearer/challenge.rs.html | 284 +- .../challenge/bearer/errors.rs.html | 102 +- .../challenge/bearer/mod.rs.html | 52 +- .../www_authenticate/challenge/mod.rs.html | 26 +- .../headers/www_authenticate/header.rs.html | 72 +- .../headers/www_authenticate/mod.rs.html | 20 +- src/actix_web_httpauth/lib.rs.html | 50 +- src/actix_web_httpauth/middleware.rs.html | 836 +++--- src/actix_web_httpauth/utils.rs.html | 226 +- static.files/ayu-45445754dcd01ab2.css | 1 + static.files/ayu-c360e709a65bed99.css | 285 --- static.files/dark-091ecdca18d5df85.css | 1 + static.files/dark-e2f4109f2e82e3af.css | 182 -- static.files/light-3bcdcab5f4113412.css | 1 + static.files/light-777f3e9583f8c92d.css | 173 -- static.files/main-287cecec4dbb45b0.js | 8 + static.files/main-c2d2a5dbaed13e6b.js | 1150 --------- static.files/normalize-76eba96aa4d2e634.css | 4 +- static.files/noscript-13285aec31fa243e.css | 31 +- static.files/rustdoc-59deea3733ac6c09.css | 1 + static.files/rustdoc-eabf764633b9d7be.css | 2123 --------------- .../scrape-examples-1f45318ad6bd2a81.js | 107 +- static.files/search-39ee4160c7dc16c9.js | 2280 ----------------- static.files/search-444266647c4dba98.js | 1 + static.files/settings-3a0b9947ba1bd99a.js | 283 -- static.files/settings-a66f7524084a489a.css | 110 - static.files/settings-af96d9e2fc13e081.css | 3 + static.files/settings-bebeae96e00e4617.js | 13 + .../source-script-5cf2e01a42cc9858.js | 1 + .../source-script-74087aa2e88f4475.js | 228 -- static.files/storage-d43fa987303ecbbb.js | 265 +- 213 files changed, 11160 insertions(+), 18343 deletions(-) create mode 100644 static.files/ayu-45445754dcd01ab2.css delete mode 100644 static.files/ayu-c360e709a65bed99.css create mode 100644 static.files/dark-091ecdca18d5df85.css delete mode 100644 static.files/dark-e2f4109f2e82e3af.css create mode 100644 static.files/light-3bcdcab5f4113412.css delete mode 100644 static.files/light-777f3e9583f8c92d.css create mode 100644 static.files/main-287cecec4dbb45b0.js delete mode 100644 static.files/main-c2d2a5dbaed13e6b.js create mode 100644 static.files/rustdoc-59deea3733ac6c09.css delete mode 100644 static.files/rustdoc-eabf764633b9d7be.css delete mode 100644 static.files/search-39ee4160c7dc16c9.js create mode 100644 static.files/search-444266647c4dba98.js delete mode 100644 static.files/settings-3a0b9947ba1bd99a.js delete mode 100644 static.files/settings-a66f7524084a489a.css create mode 100644 static.files/settings-af96d9e2fc13e081.css create mode 100644 static.files/settings-bebeae96e00e4617.js create mode 100644 static.files/source-script-5cf2e01a42cc9858.js delete mode 100644 static.files/source-script-74087aa2e88f4475.js diff --git a/actix_cors/all.html b/actix_cors/all.html index 8e3a961e6..b6bc56daf 100644 --- a/actix_cors/all.html +++ b/actix_cors/all.html @@ -1,2 +1,2 @@ -List of all items in this crate

List of all items

Structs

Enums

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

List of all items

Structs

Enums

\ No newline at end of file diff --git a/actix_cors/enum.CorsError.html b/actix_cors/enum.CorsError.html index 9296f85b3..d81f09613 100644 --- a/actix_cors/enum.CorsError.html +++ b/actix_cors/enum.CorsError.html @@ -1,5 +1,5 @@ -CorsError in actix_cors - Rust
#[non_exhaustive]
+CorsError in actix_cors - Rust
#[non_exhaustive]
 pub enum CorsError {
     WildcardOrigin,
     MissingOrigin,
@@ -10,21 +10,21 @@ pub enum CorsError {
     MethodNotAllowed,
     HeadersNotAllowed,
 }
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.

-

BadRequestHeaders

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

-

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

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
👎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
🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
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

Returns the argument unchanged.

-
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

Calls U::from(self).

+

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.

+
§

BadRequestHeaders

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

+
§

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§

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
👎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
🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
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

Returns the argument unchanged.

+
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

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
🔬This is a nightly-only experimental API. (provide_any)
Data providers should implement this method to provide all values they are able to -provide by using demand. Read more
Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
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.
Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
\ No newline at end of file +
🔬This is a nightly-only experimental API. (provide_any)
Data providers should implement this method to provide all values they are able to +provide by using demand. Read more
Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
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.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/actix_cors/index.html b/actix_cors/index.html index 511ffcd65..d7aaea66b 100644 --- a/actix_cors/index.html +++ b/actix_cors/index.html @@ -1,5 +1,5 @@ -actix_cors - Rust

Crate actix_cors

source ·
Expand description

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

+actix_cors - Rust

Crate actix_cors

source ·
Expand description

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

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

@@ -42,4 +42,4 @@ the draft spec until it is finalized. Ok(()) }
-

Structs

Builder for CORS middleware.

Enums

Errors that can occur when processing CORS guarded requests.
\ No newline at end of file +

Structs

Builder for CORS middleware.

Enums

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 f95cfc98a..df1cfe673 100644 --- a/actix_cors/struct.Cors.html +++ b/actix_cors/struct.Cors.html @@ -1,5 +1,5 @@ -Cors in actix_cors - Rust

Struct actix_cors::Cors

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

Builder for CORS middleware.

+Cors in actix_cors - Rust

Struct actix_cors::Cors

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

Builder for CORS middleware.

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

The alternative Cors::permissive() constructor is available for local development, allowing @@ -21,12 +21,12 @@ server will fail to start up or serve requests.

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

Implementations

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.

-

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

+

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.

+

Add an origin that is allowed to make requests.

This method allows specifying a finite set of origins to verify the value of the Origin request header. These are origin-or-null types in the Fetch Standard.

By default, no origins are accepted.

@@ -44,38 +44,38 @@ allowed origins.

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

    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.

    -

    Resets allowed methods list to all methods.

    +

    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.

    +

    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.

    This defaults to an empty set.

    -

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

    +

    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.

    +

    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 +

    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.

    This defaults to an empty set.

    -

    Resets exposed response header list to a state where all headers are exposed.

    +

    Resets exposed response header list to a state where all headers are exposed.

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

    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.

    -

    Set a maximum time (in seconds) for which this CORS request may be cached. This value is set +

    Set a maximum time (in seconds) for which this CORS request may be 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.

    -

    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.

    @@ -83,7 +83,7 @@ as the Access-Control-Max-Age header as specified in the

    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.

    @@ -92,38 +92,38 @@ 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.

    -

    Allow private network access.

    +

    Allow private network access.

    If true, injects the Access-Control-Allow-Private-Network: true header in responses if the request contained the Access-Control-Request-Private-Network: true header.

    For more information on this behavior, see the draft Private Network Access spec.

    Defaults to false.

    -

    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.

    -

    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.

    -

    Configures whether requests should be pre-emptively blocked on mismatched origin.

    +

    Configures whether requests should be pre-emptively blocked on mismatched origin.

    If true, a 400 Bad Request is returned immediately when a request fails origin validation.

    If false, the request will be processed as normal but relevant CORS headers will not be appended to the response. In this case, the browser is trusted to validate CORS headers and and block requests based on pre-flight requests. Use this setting to allow cURL and other non-browser HTTP clients to function as normal, no matter what Origin the request has.

    Defaults to true.

    -

    Trait Implementations

    Formats the value using the given formatter. Read more

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

    -
    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

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +
    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

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_identity/all.html b/actix_identity/all.html index ae27d52e1..b73e2e394 100644 --- a/actix_identity/all.html +++ b/actix_identity/all.html @@ -1 +1 @@ -List of all items in this crate
    \ No newline at end of file +List of all items in this crate
    \ No newline at end of file diff --git a/actix_identity/config/enum.LogoutBehaviour.html b/actix_identity/config/enum.LogoutBehaviour.html index f7800381f..d9095cc14 100644 --- a/actix_identity/config/enum.LogoutBehaviour.html +++ b/actix_identity/config/enum.LogoutBehaviour.html @@ -1,22 +1,22 @@ -LogoutBehaviour in actix_identity::config - Rust
    #[non_exhaustive]
    +LogoutBehaviour in actix_identity::config - Rust
    #[non_exhaustive]
     pub enum LogoutBehaviour {
         PurgeSession,
         DeleteIdentityKeys,
     }
    Expand description

    LogoutBehaviour controls what actions are going to be performed when Identity::logout is invoked.

    -

    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.

    PurgeSession

    When Identity::logout is called, purge the current session.

    +

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

    PurgeSession

    When Identity::logout is called, purge the current session.

    This behaviour might be desirable when you have stored additional information in the session state that are tied to the user’s identity and should not be retained after logout.

    -

    DeleteIdentityKeys

    When Identity::logout is called, remove the identity +

    §

    DeleteIdentityKeys

    When Identity::logout is called, remove the identity information from the current session state. The session itself is not destroyed.

    This behaviour might be desirable when you have stored information in the session state that is not tied to the user’s identity and should be retained after logout.

    -

    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

    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

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    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

    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

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_identity/config/index.html b/actix_identity/config/index.html index 4631a340b..5b2d1fbb2 100644 --- a/actix_identity/config/index.html +++ b/actix_identity/config/index.html @@ -1,4 +1,4 @@ -actix_identity::config - Rust

    Module actix_identity::config

    source ·
    Expand description

    Configuration options to tune the behaviour of IdentityMiddleware.

    +actix_identity::config - Rust

    Module actix_identity::config

    source ·
    Expand description

    Configuration options to tune the behaviour of IdentityMiddleware.

    Structs

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

    Enums

    LogoutBehaviour controls what actions are going to be performed when Identity::logout is -invoked.
    \ No newline at end of file +invoked.
    \ No newline at end of file diff --git a/actix_identity/config/struct.IdentityMiddlewareBuilder.html b/actix_identity/config/struct.IdentityMiddlewareBuilder.html index 8cd37bd47..6fa611cca 100644 --- a/actix_identity/config/struct.IdentityMiddlewareBuilder.html +++ b/actix_identity/config/struct.IdentityMiddlewareBuilder.html @@ -1,9 +1,9 @@ -IdentityMiddlewareBuilder in actix_identity::config - Rust
    pub struct IdentityMiddlewareBuilder { /* private fields */ }
    Expand description

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

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

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

    Use IdentityMiddleware::builder to get started!

    -

    Implementations

    Determines how Identity::logout affects the current session.

    +

    Implementations§

    Determines how Identity::logout affects the current session.

    By default, the current session is purged (LogoutBehaviour::PurgeSession).

    -

    Automatically logs out users after a certain amount of time has passed since they logged in, +

    Automatically logs out users after a certain amount of time has passed since they logged in, regardless of their activity pattern.

    If set to:

      @@ -12,7 +12,7 @@ regardless of their activity pattern.

      has passed since their login.

    By default, login deadline is disabled.

    -

    Automatically logs out users after a certain amount of time has passed since their last +

    Automatically logs out users after a certain amount of time has passed since their last visit.

    If set to:

      @@ -21,13 +21,13 @@ visit.

      has passed since their last visit.

    By default, visit deadline is disabled.

    -

    Finalises the builder and returns an IdentityMiddleware instance.

    -

    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

    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

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    Finalises the builder and returns an IdentityMiddleware instance.

    +

    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

    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

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_identity/index.html b/actix_identity/index.html index 8b86722d8..ae43709e6 100644 --- a/actix_identity/index.html +++ b/actix_identity/index.html @@ -1,4 +1,4 @@ -actix_identity - Rust

    Crate actix_identity

    source ·
    Expand description

    Identity management for Actix Web.

    +actix_identity - Rust

    Crate actix_identity

    source ·
    Expand description

    Identity management for Actix Web.

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

    Getting started

    @@ -72,4 +72,4 @@ by customising the configuration for have been inactive for a while (see IdentityMiddlewareBuilder::visit_deadline;
  • logged in too long ago (see IdentityMiddlewareBuilder::login_deadline).
  • -

    Modules

    Configuration options to tune the behaviour of IdentityMiddleware.

    Structs

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

    Traits

    Helper trait to retrieve an Identity instance from various actix-web’s types.
    \ No newline at end of file +

    Modules

    Configuration options to tune the behaviour of IdentityMiddleware.

    Structs

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

    Traits

    Helper trait to retrieve an Identity instance from various actix-web’s types.
    \ No newline at end of file diff --git a/actix_identity/struct.Identity.html b/actix_identity/struct.Identity.html index f9d89e911..0ac6183a8 100644 --- a/actix_identity/struct.Identity.html +++ b/actix_identity/struct.Identity.html @@ -1,4 +1,4 @@ -Identity in actix_identity - Rust
    pub struct Identity(_);
    Expand description

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

    +Identity in actix_identity - Rust
    pub struct Identity(_);
    Expand description

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

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

    @@ -49,7 +49,7 @@ control of the error path.

    .finish() } }
    -

    Implementations

    Return the user id associated to the current session.

    +

    Implementations§

    Return the user id associated to the current session.

    Examples
    use actix_web::{get, Responder};
     use actix_identity::Identity;
    @@ -62,7 +62,7 @@ control of the error path.

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

    Attach a valid user identity to the current session.

    +

    Attach a valid user identity to the current session.

    This method should be called after you have successfully authenticated the user. After login has been called, the user will be able to access all routes that require a valid Identity.

    @@ -75,7 +75,7 @@ control of the error path.

    Identity::login(&request.extensions(), "User1".into()); HttpResponse::Ok() }
    -

    Remove the user identity from the current session.

    +

    Remove the user identity from the current session.

    After logout has been called, the user will no longer be able to access routes that require a valid Identity.

    The behaviour on logout is determined by IdentityMiddlewareBuilder::logout_behaviour.

    @@ -88,7 +88,7 @@ require a valid Identity
    -

    Trait Implementations

    Extractor implementation for Identity.

    +

    Trait Implementations§

    Extractor implementation for Identity.

    Examples

    use actix_web::{get, Responder};
     use actix_identity::Identity;
    @@ -101,12 +101,12 @@ require a valid Identity"Welcome Anonymous!".to_owned()
         }
     }
    -
    The associated error which can be returned.
    Future that resolves to a Self. Read more
    Create a Self from request parts asynchronously.
    Create a Self from request head asynchronously. 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

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +
    The associated error which can be returned.
    Future that resolves to a Self. Read more
    Create a Self from request parts asynchronously.
    Create a Self from request head asynchronously. 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

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_identity/struct.IdentityMiddleware.html b/actix_identity/struct.IdentityMiddleware.html index 236ae33fc..eca05a039 100644 --- a/actix_identity/struct.IdentityMiddleware.html +++ b/actix_identity/struct.IdentityMiddleware.html @@ -1,4 +1,4 @@ -IdentityMiddleware in actix_identity - Rust
    pub struct IdentityMiddleware { /* private fields */ }
    Expand description

    Identity management middleware.

    +IdentityMiddleware in actix_identity - Rust
    pub struct IdentityMiddleware { /* private fields */ }
    Expand description

    Identity management middleware.

    use actix_web::{cookie::Key, App, HttpServer};
     use actix_session::storage::RedisSessionStore;
    @@ -19,13 +19,13 @@
                .wrap(SessionMiddleware::new(redis_store.clone(), secret_key.clone()))
         })
     }
    -

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Returns the “default value” for a type. 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

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    Implementations§

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Returns the “default value” for a type. 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

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_identity/trait.IdentityExt.html b/actix_identity/trait.IdentityExt.html index 07e63e1fd..98012cc90 100644 --- a/actix_identity/trait.IdentityExt.html +++ b/actix_identity/trait.IdentityExt.html @@ -1,5 +1,5 @@ -IdentityExt in actix_identity - Rust
    pub trait IdentityExt {
    -    fn get_identity(&self) -> Result<Identity, Error>;
    +IdentityExt in actix_identity - Rust
    pub trait IdentityExt {
    +    fn get_identity(&self) -> Result<Identity, Error>;
     }
    Expand description

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

    -

    Required Methods

    Retrieve the identity attached to the current session, if available.

    -

    Implementations on Foreign Types

    Implementors

    \ No newline at end of file +

    Required Methods§

    Retrieve the identity attached to the current session, if available.

    +

    Implementations on Foreign Types§

    Implementors§

    \ No newline at end of file diff --git a/actix_limitation/all.html b/actix_limitation/all.html index 4b1b883ed..4d3bd739c 100644 --- a/actix_limitation/all.html +++ b/actix_limitation/all.html @@ -1,2 +1,2 @@ -List of all items in this crate
    \ No newline at end of file +List of all items in this crate
    \ No newline at end of file diff --git a/actix_limitation/constant.DEFAULT_COOKIE_NAME.html b/actix_limitation/constant.DEFAULT_COOKIE_NAME.html index 273551900..423dbd0f0 100644 --- a/actix_limitation/constant.DEFAULT_COOKIE_NAME.html +++ b/actix_limitation/constant.DEFAULT_COOKIE_NAME.html @@ -1,3 +1,3 @@ -DEFAULT_COOKIE_NAME in actix_limitation - Rust
    pub const DEFAULT_COOKIE_NAME: &'static str = "sid";
    Expand description

    Default cookie name.

    -
    \ No newline at end of file +DEFAULT_COOKIE_NAME in actix_limitation - Rust
    pub const DEFAULT_COOKIE_NAME: &str = "sid";
    Expand description

    Default cookie name.

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

    Default period (in seconds).

    -
    \ No newline at end of file +DEFAULT_PERIOD_SECS in actix_limitation - Rust
    pub const DEFAULT_PERIOD_SECS: u64 = 3600;
    Expand description

    Default period (in seconds).

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

    Default request limit.

    -
    \ No newline at end of file +DEFAULT_REQUEST_LIMIT in actix_limitation - Rust
    pub const DEFAULT_REQUEST_LIMIT: usize = 5000;
    Expand description

    Default request limit.

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

    Default session key.

    -
    \ No newline at end of file +DEFAULT_SESSION_KEY in actix_limitation - Rust
    pub const DEFAULT_SESSION_KEY: &str = "rate-api-id";
    Expand description

    Default session key.

    +
    \ No newline at end of file diff --git a/actix_limitation/enum.Error.html b/actix_limitation/enum.Error.html index 5adb81b2c..b7722a8f8 100644 --- a/actix_limitation/enum.Error.html +++ b/actix_limitation/enum.Error.html @@ -1,21 +1,21 @@ -Error in actix_limitation - Rust
    pub enum Error {
    +Error in actix_limitation - Rust
    pub enum Error {
         Client(RedisError),
         LimitExceeded(Status),
         Time(ComponentRange),
         Other(String),
     }
    Expand description

    Failure modes of the rate limiter.

    -

    Variants

    Client(RedisError)

    Redis client failed to connect or run a query.

    -

    LimitExceeded(Status)

    Limit is exceeded for a key.

    -

    Time(ComponentRange)

    Time conversion failed.

    -

    Other(String)

    Generic error.

    -

    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
    👎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
    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    Converts to this type from the input type.
    Converts to this type from the input type.

    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

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    Variants§

    §

    Client(RedisError)

    Redis client failed to connect or run a query.

    +
    §

    LimitExceeded(Status)

    Limit is exceeded for a key.

    +
    §

    Time(ComponentRange)

    Time conversion failed.

    +
    §

    Other(String)

    Generic error.

    +

    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
    👎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
    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    Converts to this type from the input type.
    Converts to this type from the input type.

    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

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    🔬This is a nightly-only experimental API. (provide_any)
    Data providers should implement this method to provide all values they are able to -provide by using demand. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    🔬This is a nightly-only experimental API. (provide_any)
    Data providers should implement this method to provide all values they are able to +provide by using demand. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_limitation/index.html b/actix_limitation/index.html index 48c5194d3..c763abfdc 100644 --- a/actix_limitation/index.html +++ b/actix_limitation/index.html @@ -1,5 +1,5 @@ -actix_limitation - Rust

    Crate actix_limitation

    source ·
    Expand description

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

    +actix_limitation - Rust

    Crate actix_limitation

    source ·
    Expand description

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

    [dependencies]
     actix-web = "4"
     actix-limitation = "0.4"
    @@ -38,4 +38,4 @@ actix-limitation = "0.4"
    .run() .await }
    -

    Structs

    Rate limiter builder.
    Rate limiter.
    Rate limit middleware.
    A report for a given key containing the limit status.

    Enums

    Failure modes of the rate limiter.

    Constants

    Default cookie name.
    Default period (in seconds).
    Default request limit.
    Default session key.
    \ No newline at end of file +

    Structs

    Rate limiter builder.
    Rate limiter.
    Rate limit middleware.
    A report for a given key containing the limit status.

    Enums

    Failure modes of the rate limiter.

    Constants

    Default cookie name.
    Default period (in seconds).
    Default request limit.
    Default session key.
    \ No newline at end of file diff --git a/actix_limitation/struct.Builder.html b/actix_limitation/struct.Builder.html index 76d334180..f40cd9653 100644 --- a/actix_limitation/struct.Builder.html +++ b/actix_limitation/struct.Builder.html @@ -1,22 +1,22 @@ -Builder in actix_limitation - Rust
    pub struct Builder { /* private fields */ }
    Expand description

    Rate limiter builder.

    -

    Implementations

    Set upper limit.

    -

    Set limit window/period.

    -

    Sets rate limit key derivation function.

    +Builder in actix_limitation - Rust
    pub struct Builder { /* private fields */ }
    Expand description

    Rate limiter builder.

    +

    Implementations§

    Set upper limit.

    +

    Set limit window/period.

    +

    Sets rate limit key derivation function.

    Should not be used in combination with cookie_name or session_key as they conflict.

    -
    👎Deprecated: Prefer key_by.

    Sets name of cookie to be sent.

    +
    👎Deprecated: Prefer key_by.

    Sets name of cookie to be sent.

    This method should not be used in combination of key_by as they conflict.

    -
    👎Deprecated: Prefer key_by.

    Sets session key to be used in backend.

    +
    👎Deprecated: Prefer key_by.

    Sets session key to be used in backend.

    This method should not be used in combination of key_by as they conflict.

    -

    Finalizes and returns a Limiter.

    +

    Finalizes and returns a Limiter.

    Note that this method will connect to the Redis server to test its connection which is a synchronous operation.

    -

    Trait Implementations

    Formats the value using the given formatter. 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

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    Trait Implementations§

    Formats the value using the given formatter. 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

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_limitation/struct.Limiter.html b/actix_limitation/struct.Limiter.html index b121bb6d2..c1360226d 100644 --- a/actix_limitation/struct.Limiter.html +++ b/actix_limitation/struct.Limiter.html @@ -1,15 +1,15 @@ -Limiter in actix_limitation - Rust
    pub struct Limiter { /* private fields */ }
    Expand description

    Rate limiter.

    -

    Implementations

    Construct rate limiter builder with defaults.

    +Limiter in actix_limitation - Rust
    pub struct Limiter { /* private fields */ }
    Expand description

    Rate limiter.

    +

    Implementations§

    Construct rate limiter builder with defaults.

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

    -

    Consumes one rate limit unit, returning the status.

    -

    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

    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

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    Consumes one rate limit unit, returning the status.

    +

    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

    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

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_limitation/struct.RateLimiter.html b/actix_limitation/struct.RateLimiter.html index 8a3899f3c..abc83e26c 100644 --- a/actix_limitation/struct.RateLimiter.html +++ b/actix_limitation/struct.RateLimiter.html @@ -1,11 +1,11 @@ -RateLimiter in actix_limitation - Rust
    #[non_exhaustive]
    pub struct RateLimiter;
    Expand description

    Rate limit middleware.

    -

    Trait Implementations

    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. 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

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +RateLimiter in actix_limitation - Rust
    #[non_exhaustive]
    pub struct RateLimiter;
    Expand description

    Rate limit middleware.

    +

    Trait Implementations§

    Formats the value using the given formatter. Read more
    Returns the “default value” for a type. 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

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_limitation/struct.Status.html b/actix_limitation/struct.Status.html index b9ec677f5..311d12331 100644 --- a/actix_limitation/struct.Status.html +++ b/actix_limitation/struct.Status.html @@ -1,14 +1,14 @@ -Status in actix_limitation - Rust
    pub struct Status { /* private fields */ }
    Expand description

    A report for a given key containing the limit status.

    -

    Implementations

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

    -

    Returns how many requests are left in the current period.

    -

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

    -

    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

    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

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +Status in actix_limitation - Rust
    pub struct Status { /* private fields */ }
    Expand description

    A report for a given key containing the limit status.

    +

    Implementations§

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

    +

    Returns how many requests are left in the current period.

    +

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

    +

    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

    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

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_protobuf/all.html b/actix_protobuf/all.html index 77f23a40f..601cc2e4a 100644 --- a/actix_protobuf/all.html +++ b/actix_protobuf/all.html @@ -1 +1 @@ -List of all items in this crate
    \ No newline at end of file +List of all items in this crate
    \ No newline at end of file diff --git a/actix_protobuf/enum.ProtoBufPayloadError.html b/actix_protobuf/enum.ProtoBufPayloadError.html index 635a37116..a99e06380 100644 --- a/actix_protobuf/enum.ProtoBufPayloadError.html +++ b/actix_protobuf/enum.ProtoBufPayloadError.html @@ -1,20 +1,20 @@ -ProtoBufPayloadError in actix_protobuf - Rust
    pub enum ProtoBufPayloadError {
    +ProtoBufPayloadError in actix_protobuf - Rust
    pub enum ProtoBufPayloadError {
         Overflow,
         ContentType,
    -    Serialize(ProtoBufEncodeError),
    -    Deserialize(ProtoBufDecodeError),
    +    Serialize(ProtoBufEncodeError),
    +    Deserialize(ProtoBufDecodeError),
         Payload(PayloadError),
    -}

    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

    Formats the value using the given formatter. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Converts to this type from the input type.
    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

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +}

    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§

    Formats the value using the given formatter. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Converts to this type from the input type.
    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

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_protobuf/index.html b/actix_protobuf/index.html index e07b40c96..86474f35b 100644 --- a/actix_protobuf/index.html +++ b/actix_protobuf/index.html @@ -1,2 +1,2 @@ -actix_protobuf - Rust
    \ No newline at end of file +actix_protobuf - Rust
    \ No newline at end of file diff --git a/actix_protobuf/struct.ProtoBuf.html b/actix_protobuf/struct.ProtoBuf.html index 83add1628..192e095b7 100644 --- a/actix_protobuf/struct.ProtoBuf.html +++ b/actix_protobuf/struct.ProtoBuf.html @@ -1,9 +1,9 @@ -ProtoBuf in actix_protobuf - Rust
    pub struct ProtoBuf<T: Message>(pub T);

    Tuple Fields

    0: 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
    The associated error which can be returned.
    Future that resolves to a Self. Read more
    Create a Self from request parts asynchronously.
    Create a Self from request head asynchronously. Read more
    Convert self to HttpResponse.
    Wraps responder to allow alteration of its 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

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +ProtoBuf in actix_protobuf - Rust
    pub struct ProtoBuf<T: Message>(pub T);

    Tuple Fields§

    §0: 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
    The associated error which can be returned.
    Future that resolves to a Self. Read more
    Create a Self from request parts asynchronously.
    Create a Self from request head asynchronously. Read more
    Convert self to HttpResponse.
    Wraps responder to allow alteration of its 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

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    Type of resource’s path returned in resource_path.
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    Type of resource’s path returned in resource_path.
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_protobuf/struct.ProtoBufConfig.html b/actix_protobuf/struct.ProtoBufConfig.html index c4f1b9349..5e596538f 100644 --- a/actix_protobuf/struct.ProtoBufConfig.html +++ b/actix_protobuf/struct.ProtoBufConfig.html @@ -1,10 +1,10 @@ -ProtoBufConfig in actix_protobuf - Rust
    pub struct ProtoBufConfig { /* private fields */ }

    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

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +ProtoBufConfig in actix_protobuf - Rust
    pub struct ProtoBufConfig { /* private fields */ }

    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

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_protobuf/struct.ProtoBufMessage.html b/actix_protobuf/struct.ProtoBufMessage.html index e011300cb..e4e8c3106 100644 --- a/actix_protobuf/struct.ProtoBufMessage.html +++ b/actix_protobuf/struct.ProtoBufMessage.html @@ -1,37 +1,37 @@ -ProtoBufMessage in actix_protobuf - Rust
    pub struct ProtoBufMessage<T: Message + Default> { /* private fields */ }

    Implementations

    Create ProtoBufMessage for request.

    -

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

    -

    Trait Implementations

    The type of value produced on completion.
    Attempt to resolve the future to a final value, registering -the current task for wakeup if the value is not yet available. Read more

    Auto Trait Implementations

    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

    Returns the argument unchanged.

    -
    Map this future’s output to a different type, returning a new future of -the resulting type. Read more
    Map this future’s output to a different type, returning a new future of -the resulting type. Read more
    Chain on a computation for when a future finished, passing the result of -the future to the provided closure f. Read more
    Wrap this future in an Either future, making it the left-hand variant -of that Either. Read more
    Wrap this future in an Either future, making it the right-hand variant -of that Either. Read more
    Convert this future into a single element stream. Read more
    Flatten the execution of this future when the output of this -future is itself another future. Read more
    Flatten the execution of this future when the successful result of this -future is a stream. Read more
    Fuse a future such that poll will never again be called once it has +ProtoBufMessage in actix_protobuf - Rust
    pub struct ProtoBufMessage<T: Message + Default> { /* private fields */ }

    Implementations§

    Create ProtoBufMessage for request.

    +

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

    +

    Trait Implementations§

    The type of value produced on completion.
    Attempt to resolve the future to a final value, registering +the current task for wakeup if the value is not yet available. Read more

    Auto Trait Implementations§

    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

    Returns the argument unchanged.

    +
    Map this future’s output to a different type, returning a new future of +the resulting type. Read more
    Map this future’s output to a different type, returning a new future of +the resulting type. Read more
    Chain on a computation for when a future finished, passing the result of +the future to the provided closure f. Read more
    Wrap this future in an Either future, making it the left-hand variant +of that Either. Read more
    Wrap this future in an Either future, making it the right-hand variant +of that Either. Read more
    Convert this future into a single element stream. Read more
    Flatten the execution of this future when the output of this +future is itself another future. Read more
    Flatten the execution of this future when the successful result of this +future is a stream. Read more
    Fuse a future such that poll will never again be called once it has completed. This method can be used to turn any Future into a -FusedFuture. Read more
    Do something with the output of a future before passing it on. Read more
    Catches unwinding panics while polling the future. Read more
    Create a cloneable handle to this future where all handles will resolve -to the same result. Read more
    Turn this future into a future that yields () on completion and sends -its output to another future on a separate task. Read more
    Wrap the future in a Box, pinning it. Read more
    Wrap the future in a Box, pinning it. Read more
    A convenience for calling Future::poll on Unpin future types.
    Evaluates and consumes the future, returning the resulting output if -the future is ready after the first call to Future::poll. Read more
    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

    Calls U::from(self).

    +FusedFuture. Read more
    Do something with the output of a future before passing it on. Read more
    Catches unwinding panics while polling the future. Read more
    Create a cloneable handle to this future where all handles will resolve +to the same result. Read more
    Turn this future into a future that yields () on completion and sends +its output to another future on a separate task. Read more
    Wrap the future in a Box, pinning it. Read more
    Wrap the future in a Box, pinning it. Read more
    A convenience for calling Future::poll on Unpin future types.
    Evaluates and consumes the future, returning the resulting output if +the future is ready after the first call to Future::poll. Read more
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    The output that the future will produce on completion.
    Which kind of future are we turning this into?
    Creates a future from a value. Read more
    Should always be Self
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type of successful values yielded by this future
    The type of failures yielded by this future
    Poll this TryFuture as if it were a Future. Read more
    Flattens the execution of this future when the successful result of this -future is a [Sink]. Read more
    Maps this future’s success value to a different value. Read more
    Maps this future’s success value to a different value, and permits for error handling resulting in the same type. Read more
    Maps this future’s error value to a different value. Read more
    Maps this future’s Error to a new error type -using the Into trait. Read more
    Maps this future’s Ok to a new type -using the Into trait. Read more
    Executes another future after this one resolves successfully. The -success value is passed to a closure to create this subsequent future. Read more
    Executes another future if this one resolves to an error. The -error value is passed to a closure to create this subsequent future. Read more
    Do something with the success value of a future before passing it on. Read more
    Do something with the error value of a future before passing it on. Read more
    Flatten the execution of this future when the successful result of this -future is another future. Read more
    Flatten the execution of this future when the successful result of this -future is a stream. Read more
    Unwraps this future’s output, producing a future with this future’s +
    The output that the future will produce on completion.
    Which kind of future are we turning this into?
    Creates a future from a value. Read more
    Should always be Self
    The type returned in the event of a conversion error.
    Performs the conversion.
    The type of successful values yielded by this future
    The type of failures yielded by this future
    Poll this TryFuture as if it were a Future. Read more
    Flattens the execution of this future when the successful result of this +future is a [Sink]. Read more
    Maps this future’s success value to a different value. Read more
    Maps this future’s success value to a different value, and permits for error handling resulting in the same type. Read more
    Maps this future’s error value to a different value. Read more
    Maps this future’s Error to a new error type +using the Into trait. Read more
    Maps this future’s Ok to a new type +using the Into trait. Read more
    Executes another future after this one resolves successfully. The +success value is passed to a closure to create this subsequent future. Read more
    Executes another future if this one resolves to an error. The +error value is passed to a closure to create this subsequent future. Read more
    Do something with the success value of a future before passing it on. Read more
    Do something with the error value of a future before passing it on. Read more
    Flatten the execution of this future when the successful result of this +future is another future. Read more
    Flatten the execution of this future when the successful result of this +future is a stream. Read more
    Unwraps this future’s output, producing a future with this future’s Ok type as its -Output type. Read more
    Wraps a [TryFuture] into a type that implements -Future. Read more
    A convenience method for calling [TryFuture::try_poll] on Unpin -future types. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +Output type. Read more
    Wraps a [TryFuture] into a type that implements +Future. Read more
    A convenience method for calling [TryFuture::try_poll] on Unpin +future types. Read more
    The type returned in the event of a conversion error.
    Performs the conversion.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_protobuf/trait.ProtoBufResponseBuilder.html b/actix_protobuf/trait.ProtoBufResponseBuilder.html index 0fab15daf..2d9230aa0 100644 --- a/actix_protobuf/trait.ProtoBufResponseBuilder.html +++ b/actix_protobuf/trait.ProtoBufResponseBuilder.html @@ -1,3 +1,3 @@ -ProtoBufResponseBuilder in actix_protobuf - Rust
    pub trait ProtoBufResponseBuilder {
    -    fn protobuf<T: Message>(&mut self, value: T) -> Result<HttpResponse, Error>;
    -}

    Required Methods

    Implementations on Foreign Types

    Implementors

    \ No newline at end of file +ProtoBufResponseBuilder in actix_protobuf - Rust
    pub trait ProtoBufResponseBuilder {
    +    fn protobuf<T: Message>(&mut self, value: T) -> Result<HttpResponse, Error>;
    +}

    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 4ea168df1..25b8bc502 100644 --- a/actix_redis/all.html +++ b/actix_redis/all.html @@ -1 +1 @@ -List of all items in this crate

    List of all items

    Structs

    Enums

    Macros

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

    List of all items

    Structs

    Enums

    Macros

    \ No newline at end of file diff --git a/actix_redis/enum.Error.html b/actix_redis/enum.Error.html index 14387888d..179a5748f 100644 --- a/actix_redis/enum.Error.html +++ b/actix_redis/enum.Error.html @@ -1,17 +1,17 @@ -Error in actix_redis - Rust

    Enum actix_redis::Error

    source ·
    pub enum Error {
    +Error in actix_redis - Rust

    Enum actix_redis::Error

    source ·
    pub enum Error {
         Redis(Error),
         NotConnected,
         Disconnected,
     }
    Expand description

    General purpose actix-redis error.

    -

    Variants

    Redis(Error)

    NotConnected

    Receiving message during reconnecting.

    -

    Disconnected

    Cancel all waiters when connection is dropped.

    -

    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
    👎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
    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    Converts to this type from the input type.
    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

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    Variants§

    §

    Redis(Error)

    §

    NotConnected

    Receiving message during reconnecting.

    +
    §

    Disconnected

    Cancel all waiters when connection is dropped.

    +

    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
    👎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
    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    Converts to this type from the input type.
    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

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    🔬This is a nightly-only experimental API. (provide_any)
    Data providers should implement this method to provide all values they are able to -provide by using demand. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    🔬This is a nightly-only experimental API. (provide_any)
    Data providers should implement this method to provide all values they are able to +provide by using demand. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_redis/enum.RespError.html b/actix_redis/enum.RespError.html index 08dea3599..7974374ec 100644 --- a/actix_redis/enum.RespError.html +++ b/actix_redis/enum.RespError.html @@ -1,28 +1,28 @@ -RespError in actix_redis - Rust
    pub enum RespError {
    +RespError in actix_redis - Rust
    pub enum RespError {
         Internal(String),
         IO(Error),
         Resp(StringOption<RespValue>),
         Remote(String),
         Connection(ConnectionReason),
         Unexpected(String),
    -}

    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

    -

    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 +}

    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

    +
    §

    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 “unexpected because we check ahead of time”, it used to maintain the type signature of chains of futures; but it occurring at runtime should be considered a catastrophic failure.

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

    -

    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
    👎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
    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.

    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

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    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
    👎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
    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.

    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

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    🔬This is a nightly-only experimental API. (provide_any)
    Data providers should implement this method to provide all values they are able to -provide by using demand. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    🔬This is a nightly-only experimental API. (provide_any)
    Data providers should implement this method to provide all values they are able to +provide by using demand. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_redis/enum.RespValue.html b/actix_redis/enum.RespValue.html index defd4ef00..39b591252 100644 --- a/actix_redis/enum.RespValue.html +++ b/actix_redis/enum.RespValue.html @@ -1,4 +1,4 @@ -RespValue in actix_redis - Rust
    pub enum RespValue {
    +RespValue in actix_redis - Rust
    pub enum RespValue {
         Nil,
         Array(Vec<RespValue, Global>),
         BulkString(Vec<u8, Global>),
    @@ -8,26 +8,26 @@
     }
    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

    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 +

    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: +

    §

    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

    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

    -

    Push item to Resp array

    +

    Push item to Resp array

    This will panic if called for anything other than arrays

    -

    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
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    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
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. 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
    Compare self to key and return true if they are equal.

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    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
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.
    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
    This method tests for self and other values to be equal, and is used +by ==. Read more
    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason. 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
    Compare self to key and return true if they are equal.

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_redis/index.html b/actix_redis/index.html index 80928ff3c..108cd4eba 100644 --- a/actix_redis/index.html +++ b/actix_redis/index.html @@ -1,3 +1,3 @@ -actix_redis - Rust

    Crate actix_redis

    source ·
    Expand description

    Redis integration for actix.

    +actix_redis - Rust

    Crate actix_redis

    source ·
    Expand description

    Redis integration for actix.

    Macros

    Macro to create a RESP array, useful for preparing commands to send. Elements can be any type, or a mixture -of types, that satisfy Into<RespValue>.

    Structs

    Command for sending data to Redis.
    Redis communication actor.

    Enums

    General purpose actix-redis error.
    A single RESP value, this owns the data that is read/to-be written to Redis.
    \ No newline at end of file +of types, that satisfy Into<RespValue>.

    Structs

    Command for sending data to Redis.
    Redis communication actor.

    Enums

    General purpose actix-redis error.
    A single RESP value, this owns the data that is read/to-be written to Redis.
    \ No newline at end of file diff --git a/actix_redis/macro.resp_array.html b/actix_redis/macro.resp_array.html index 0c06b14f2..661a359c5 100644 --- a/actix_redis/macro.resp_array.html +++ b/actix_redis/macro.resp_array.html @@ -1,4 +1,4 @@ -resp_array in actix_redis - Rust
    macro_rules! resp_array {
    +resp_array in actix_redis - Rust
    macro_rules! resp_array {
         ($($e:expr),* $(,)?) => { ... };
     }
    Expand description

    Macro to create a RESP array, useful for preparing commands to send. Elements can be any type, or a mixture @@ -22,4 +22,4 @@ data moved into the corresponding RespValue. If a reference is pro let data = vec!["data", "from", "somewhere", "else"]; let command = resp_array!["RPUSH", "mykey"].append(data); }

    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/actix_redis/struct.Command.html b/actix_redis/struct.Command.html index c6cfc0447..4e255cad0 100644 --- a/actix_redis/struct.Command.html +++ b/actix_redis/struct.Command.html @@ -1,11 +1,11 @@ -Command in actix_redis - Rust

    Struct actix_redis::Command

    source ·
    pub struct Command(pub RespValue);
    Expand description

    Command for sending data to Redis.

    -

    Tuple Fields

    0: RespValue

    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

    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

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +Command in actix_redis - Rust

    Struct actix_redis::Command

    source ·
    pub struct Command(pub RespValue);
    Expand description

    Command for sending data to Redis.

    +

    Tuple Fields§

    §0: RespValue

    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§

    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

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_redis/struct.RedisActor.html b/actix_redis/struct.RedisActor.html index b6ea142a9..b7a45676d 100644 --- a/actix_redis/struct.RedisActor.html +++ b/actix_redis/struct.RedisActor.html @@ -1,11 +1,11 @@ -RedisActor in actix_redis - Rust

    Struct actix_redis::RedisActor

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

    Redis communication actor.

    -

    Implementations

    Start new Supervisor with RedisActor.

    -

    Trait Implementations

    Actor execution context type
    Called when an actor gets polled the first time.
    Called after an actor is in Actor::Stopping state. Read more
    Called after an actor is stopped. Read more
    Start a new asynchronous actor, returning its address. Read more
    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
    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

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +RedisActor in actix_redis - Rust

    Struct actix_redis::RedisActor

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

    Redis communication actor.

    +

    Implementations§

    Start new Supervisor with RedisActor.

    +

    Trait Implementations§

    Actor execution context type
    Called when an actor gets polled the first time.
    Called after an actor is in Actor::Stopping state. Read more
    Called after an actor is stopped. Read more
    Start a new asynchronous actor, returning its address. Read more
    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
    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

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_session/all.html b/actix_session/all.html index ba7c5a3c4..5a597af10 100644 --- a/actix_session/all.html +++ b/actix_session/all.html @@ -1,2 +1,2 @@ -List of all items in this crate
    \ No newline at end of file +List of all items in this crate
    \ No newline at end of file diff --git a/actix_session/config/enum.CookieContentSecurity.html b/actix_session/config/enum.CookieContentSecurity.html index bca746192..c431d9011 100644 --- a/actix_session/config/enum.CookieContentSecurity.html +++ b/actix_session/config/enum.CookieContentSecurity.html @@ -1,21 +1,21 @@ -CookieContentSecurity in actix_session::config - Rust
    pub enum CookieContentSecurity {
    +CookieContentSecurity in actix_session::config - Rust
    pub enum CookieContentSecurity {
         Private,
         Signed,
     }
    Expand description

    Determines how to secure the content of the session cookie.

    Used by SessionMiddlewareBuilder::cookie_content_security.

    -

    Variants

    Private

    The cookie content is encrypted when using CookieContentSecurity::Private.

    +

    Variants§

    §

    Private

    The cookie content is encrypted when using CookieContentSecurity::Private.

    Encryption guarantees confidentiality and integrity: the client cannot tamper with the cookie content nor decode it, as long as the encryption key remains confidential.

    -

    Signed

    The cookie content is signed when using CookieContentSecurity::Signed.

    +
    §

    Signed

    The cookie content is signed when using CookieContentSecurity::Signed.

    Signing guarantees integrity, but it doesn’t ensure confidentiality: the client cannot tamper with the cookie content, but they can read it.

    -

    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

    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

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    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

    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

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_session/config/enum.SessionLifecycle.html b/actix_session/config/enum.SessionLifecycle.html index 698cd41e8..efebcc748 100644 --- a/actix_session/config/enum.SessionLifecycle.html +++ b/actix_session/config/enum.SessionLifecycle.html @@ -1,24 +1,24 @@ -SessionLifecycle in actix_session::config - Rust
    #[non_exhaustive]
    +SessionLifecycle in actix_session::config - Rust
    #[non_exhaustive]
     pub enum SessionLifecycle {
         BrowserSession(BrowserSession),
         PersistentSession(PersistentSession),
     }
    Expand description

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

    Used by SessionMiddlewareBuilder::session_lifecycle.

    -

    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.

    BrowserSession(BrowserSession)

    The session cookie will expire when the current browser session ends.

    +

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

    BrowserSession(BrowserSession)

    The session cookie will expire when the current browser session ends.

    When does a browser session end? It depends on the browser! Chrome, for example, will often continue running in the background when the browser is closed—session cookies are not deleted and they will still be available when the browser is opened again. Check the documentation of the browsers you are targeting for up-to-date information.

    -

    PersistentSession(PersistentSession)

    The session cookie will be a persistent cookie.

    +
    §

    PersistentSession(PersistentSession)

    The session cookie will be a persistent cookie.

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

    -

    Trait Implementations

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    Converts to this type from the input type.

    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

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

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

    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

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_session/config/enum.TtlExtensionPolicy.html b/actix_session/config/enum.TtlExtensionPolicy.html index 762faeae1..4b1273277 100644 --- a/actix_session/config/enum.TtlExtensionPolicy.html +++ b/actix_session/config/enum.TtlExtensionPolicy.html @@ -1,5 +1,5 @@ -TtlExtensionPolicy in actix_session::config - Rust
    #[non_exhaustive]
    +TtlExtensionPolicy in actix_session::config - Rust
    #[non_exhaustive]
     pub enum TtlExtensionPolicy {
         OnEveryRequest,
         OnStateChanges,
    @@ -9,20 +9,20 @@ session state should be refreshed. The browser is in control of the lifecycle of
     cookie.

    If you are using a PersistentSession, TtlExtensionPolicy controls both the expiration of the session cookie and the TTL of the session state on the storage backend.

    -

    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.

    OnEveryRequest

    The TTL is refreshed every time the server receives a request associated with a session.

    +

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

    OnEveryRequest

    The TTL is refreshed every time the server receives a request associated with a session.

    Performance impact

    Refreshing the TTL on every request is not free. It implies a refresh of the TTL on the session state. This translates into a request over the network if you are using a remote system as storage backend (e.g. Redis). This impacts both the total load on your storage backend (i.e. number of queries it has to handle) and the latency of the requests served by your server.

    -

    OnStateChanges

    The TTL is refreshed every time the session state changes or the session key is renewed.

    -

    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

    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

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +
    §

    OnStateChanges

    The TTL is refreshed every time the session state changes or the session key is renewed.

    +

    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

    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

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_session/config/index.html b/actix_session/config/index.html index a9ce32e2e..86bb23022 100644 --- a/actix_session/config/index.html +++ b/actix_session/config/index.html @@ -1,4 +1,4 @@ -actix_session::config - Rust

    Module actix_session::config

    source ·
    Expand description

    Configuration options to tune the behaviour of SessionMiddleware.

    +actix_session::config - Rust

    Module actix_session::config

    source ·
    Expand description

    Configuration options to tune the behaviour of SessionMiddleware.

    Structs

    A session lifecycle strategy where the session cookie expires when the -browser’s current session ends.
    A session lifecycle strategy where the session cookie will be persistent.
    A fluent, customized SessionMiddleware builder.

    Enums

    Determines how to secure the content of the session cookie.
    Determines what type of session cookie should be used and how its lifecycle should be managed.
    Configuration for which events should trigger an extension of the time-to-live for your session.
    \ No newline at end of file +browser’s current session ends.
    A session lifecycle strategy where the session cookie will be persistent.
    A fluent, customized SessionMiddleware builder.

    Enums

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

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

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

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

    When does a browser session end? It depends on the browser. Chrome, for example, will often continue running in the background when the browser is closed—session cookies are not deleted @@ -7,7 +7,7 @@ and they will still be available when the browser is opened again. Check the doc the browsers you are targeting for up-to-date information.

    Due to its Into<SessionLifecycle> implementation, a BrowserSession can be passed directly to SessionMiddlewareBuilder::session_lifecycle().

    -

    Implementations

    Sets a time-to-live (TTL) when storing the session state in the storage backend.

    +

    Implementations§

    Sets a time-to-live (TTL) when storing the session state in the storage backend.

    We do not want to store session states indefinitely, otherwise we will inevitably run out of storage by holding on to the state of countless abandoned or expired sessions!

    We are dealing with the lifecycle of two uncorrelated object here: the session cookie @@ -23,15 +23,15 @@ tied to the browser session length. You can mitigate the risk of the session cookie outliving the session state by specifying a more aggressive state TTL extension policy - check out BrowserSession::state_ttl_extension_policy for more details.

    -

    Determine under what circumstances the TTL of your session state should be extended.

    +

    Determine under what circumstances the TTL of your session state should be extended.

    Defaults to TtlExtensionPolicy::OnStateChanges if left unspecified.

    See TtlExtensionPolicy for more details.

    -

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

    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

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

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

    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

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_session/config/struct.PersistentSession.html b/actix_session/config/struct.PersistentSession.html index fa6be4cf9..8a7a23855 100644 --- a/actix_session/config/struct.PersistentSession.html +++ b/actix_session/config/struct.PersistentSession.html @@ -1,5 +1,5 @@ -PersistentSession in actix_session::config - Rust
    pub struct PersistentSession { /* private fields */ }
    Expand description

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

    +PersistentSession in actix_session::config - Rust
    pub struct PersistentSession { /* private fields */ }
    Expand description

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

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

    Due to its Into<SessionLifecycle> implementation, a PersistentSession can be passed directly @@ -18,20 +18,20 @@ to PersistentSession::default() // this policy causes the session state's TTL to be refreshed on every request .session_ttl_extension_policy(TtlExtensionPolicy::OnEveryRequest);

    -

    Implementations

    Specifies how long the session cookie should live.

    +

    Implementations§

    Specifies how long the session cookie should live.

    The session TTL is also used as the TTL for the session state in the storage backend.

    Defaults to 1 day.

    A persistent session can live more than the specified TTL if the TTL is extended. See session_ttl_extension_policy for more details.

    -

    Determines under what circumstances the TTL of your session should be extended. +

    Determines under what circumstances the TTL of your session should be extended. See TtlExtensionPolicy for more details.

    Defaults to TtlExtensionPolicy::OnStateChanges.

    -

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

    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

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

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

    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

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_session/config/struct.SessionMiddlewareBuilder.html b/actix_session/config/struct.SessionMiddlewareBuilder.html index 937f95ca0..0656b5f7f 100644 --- a/actix_session/config/struct.SessionMiddlewareBuilder.html +++ b/actix_session/config/struct.SessionMiddlewareBuilder.html @@ -1,12 +1,12 @@ -SessionMiddlewareBuilder in actix_session::config - Rust
    pub struct SessionMiddlewareBuilder<Store: SessionStore> { /* private fields */ }
    Expand description

    A fluent, customized SessionMiddleware builder.

    -

    Implementations

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

    +SessionMiddlewareBuilder in actix_session::config - Rust
    pub struct SessionMiddlewareBuilder<Store: SessionStore> { /* private fields */ }
    Expand description

    A fluent, customized SessionMiddleware builder.

    +

    Implementations§

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

    Defaults to id.

    -

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

    +

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

    If the cookie is set as secure, it will only be transmitted when the connection is secure (using https).

    Default is true.

    -

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

    Determines what type of session cookie should be used and how its lifecycle should be managed. Check out SessionLifecycle’s documentation for more details on the available options.

    Default is SessionLifecycle::BrowserSession.

    Examples
    @@ -22,15 +22,15 @@ Check out Se PersistentSession::default().session_ttl(Duration::seconds(SECS_IN_WEEK)) ) .build();
    -

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

    +

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

    By default, the attribute is set to Lax.

    -

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

    +

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

    By default, the attribute is set to /.

    -

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

    +

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

    Use None to leave the attribute unspecified. If unspecified, the attribute defaults to the same host that set the cookie, excluding subdomains.

    By default, the attribute is left unspecified.

    -

    Choose how the session cookie content should be secured.

    +

    Choose how the session cookie content should be secured.

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

    +

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

    If the cookie is set as HttpOnly, it will not be visible to any JavaScript snippets running in the browser.

    Default is true.

    -

    Finalise the builder and return a SessionMiddleware 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

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    Finalise the builder and return a SessionMiddleware 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

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_session/enum.SessionStatus.html b/actix_session/enum.SessionStatus.html index 5695d721f..d3ff0deab 100644 --- a/actix_session/enum.SessionStatus.html +++ b/actix_session/enum.SessionStatus.html @@ -1,26 +1,26 @@ -SessionStatus in actix_session - Rust
    pub enum SessionStatus {
    +SessionStatus in actix_session - Rust
    pub enum SessionStatus {
         Changed,
         Purged,
         Renewed,
         Unchanged,
     }
    Expand description

    Status of a Session.

    -

    Variants

    Changed

    Session state has been updated - the changes will have to be persisted to the backend.

    -

    Purged

    The session has been flagged for deletion - the session cookie will be removed from +

    Variants§

    §

    Changed

    Session state has been updated - the changes will have to be persisted to the backend.

    +
    §

    Purged

    The session has been flagged for deletion - the session cookie will be removed from the client and the session state will be deleted from the session store.

    Most operations on the session after it has been marked for deletion will have no effect.

    -

    Renewed

    The session has been flagged for renewal.

    +
    §

    Renewed

    The session has been flagged for renewal.

    The session key will be regenerated and the time-to-live of the session state will be extended.

    -

    Unchanged

    The session state has not been modified since its creation/retrieval.

    -

    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
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. 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
    Compare self to key and return true if they are equal.

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +
    §

    Unchanged

    The session state has not been modified since its creation/retrieval.

    +

    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
    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason. 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
    Compare self to key and return true if they are equal.

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_session/index.html b/actix_session/index.html index 8322a0d45..c82b16ad2 100644 --- a/actix_session/index.html +++ b/actix_session/index.html @@ -1,5 +1,5 @@ -actix_session - Rust

    Crate actix_session

    source ·
    Expand description

    Session management for Actix Web.

    +actix_session - Rust

    Crate actix_session

    source ·
    Expand description

    Session management for Actix Web.

    The HTTP protocol, at a first glance, is stateless: the client sends a request, the server parses its content, performs some processing and returns a response. The outcome is only influenced by the provided inputs (i.e. the request content) and whatever state the server @@ -100,4 +100,4 @@ actix-session = { version = "...", features = ["redis-rs-session&

    You can implement your own session storage backend using the SessionStore trait.

    Modules

    Configuration options to tune the behaviour of SessionMiddleware.
    Pluggable storage backends for session state.

    Structs

    The primary interface to access and modify session state.
    Error returned by Session::get.
    A middleware for session management in Actix Web applications.

    Enums

    Traits

    Extract a Session object from various actix-web types (e.g. HttpRequest, -ServiceRequest, ServiceResponse).
    \ No newline at end of file +ServiceRequest, ServiceResponse).
    \ No newline at end of file diff --git a/actix_session/storage/enum.LoadError.html b/actix_session/storage/enum.LoadError.html index d598f74a6..fa1a6c3bf 100644 --- a/actix_session/storage/enum.LoadError.html +++ b/actix_session/storage/enum.LoadError.html @@ -1,17 +1,17 @@ -LoadError in actix_session::storage - Rust
    pub enum LoadError {
    +LoadError in actix_session::storage - Rust
    pub enum LoadError {
         Deserialization(Error),
         Other(Error),
     }
    Expand description

    Possible failures modes for SessionStore::load.

    -

    Variants

    Deserialization(Error)

    Failed to deserialize session state.

    -

    Other(Error)

    Something went wrong when retrieving the session state.

    -

    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
    👎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
    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    Variants§

    §

    Deserialization(Error)

    Failed to deserialize session state.

    +
    §

    Other(Error)

    Something went wrong when retrieving the session state.

    +

    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
    👎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
    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    🔬This is a nightly-only experimental API. (provide_any)
    Data providers should implement this method to provide all values they are able to -provide by using demand. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    🔬This is a nightly-only experimental API. (provide_any)
    Data providers should implement this method to provide all values they are able to +provide by using demand. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_session/storage/enum.SaveError.html b/actix_session/storage/enum.SaveError.html index 1ff6f5603..8b1777a10 100644 --- a/actix_session/storage/enum.SaveError.html +++ b/actix_session/storage/enum.SaveError.html @@ -1,17 +1,17 @@ -SaveError in actix_session::storage - Rust
    pub enum SaveError {
    +SaveError in actix_session::storage - Rust
    pub enum SaveError {
         Serialization(Error),
         Other(Error),
     }
    Expand description

    Possible failures modes for SessionStore::save.

    -

    Variants

    Serialization(Error)

    Failed to serialize session state.

    -

    Other(Error)

    Something went wrong when persisting the session state.

    -

    Trait Implementations

    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
    👎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
    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    Variants§

    §

    Serialization(Error)

    Failed to serialize session state.

    +
    §

    Other(Error)

    Something went wrong when persisting the session state.

    +

    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
    👎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
    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    🔬This is a nightly-only experimental API. (provide_any)
    Data providers should implement this method to provide all values they are able to -provide by using demand. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    🔬This is a nightly-only experimental API. (provide_any)
    Data providers should implement this method to provide all values they are able to +provide by using demand. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_session/storage/enum.UpdateError.html b/actix_session/storage/enum.UpdateError.html index baf91c3cd..e4a2225f9 100644 --- a/actix_session/storage/enum.UpdateError.html +++ b/actix_session/storage/enum.UpdateError.html @@ -1,17 +1,17 @@ -UpdateError in actix_session::storage - Rust
    pub enum UpdateError {
    +UpdateError in actix_session::storage - Rust
    pub enum UpdateError {
         Serialization(Error),
         Other(Error),
     }
    Expand description

    Possible failures modes for SessionStore::update.

    -

    Variants

    Serialization(Error)

    Failed to serialize session state.

    -

    Other(Error)

    Something went wrong when updating the session state.

    -

    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
    👎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
    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    Variants§

    §

    Serialization(Error)

    Failed to serialize session state.

    +
    §

    Other(Error)

    Something went wrong when updating the session state.

    +

    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
    👎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
    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Gets the TypeId of self. Read more
    Immutably borrows from an owned value. Read more
    Mutably borrows from an owned value. Read more

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    🔬This is a nightly-only experimental API. (provide_any)
    Data providers should implement this method to provide all values they are able to -provide by using demand. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    🔬This is a nightly-only experimental API. (provide_any)
    Data providers should implement this method to provide all values they are able to +provide by using demand. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_session/storage/index.html b/actix_session/storage/index.html index 7b2502393..c72c9a8c3 100644 --- a/actix_session/storage/index.html +++ b/actix_session/storage/index.html @@ -1,6 +1,6 @@ -actix_session::storage - Rust

    Module actix_session::storage

    source ·
    Expand description

    Pluggable storage backends for session state.

    +actix_session::storage - Rust

    Module actix_session::storage

    source ·
    Expand description

    Pluggable storage backends for session state.

    Structs

    Use the session key, stored in the session cookie, as storage backend for the session state.
    Use Redis as session storage backend.
    A fluent builder to construct a RedisActorSessionStore instance with custom configuration parameters.
    Use Redis as session storage backend.
    A fluent builder to construct a RedisSessionStore instance with custom configuration parameters.
    A session key, the string stored in a client-side cookie to associate a user with its session -state on the backend.

    Enums

    Possible failures modes for SessionStore::load.
    Possible failures modes for SessionStore::save.
    Possible failures modes for SessionStore::update.

    Traits

    The interface to retrieve and save the current session data from/to the chosen storage backend.
    \ No newline at end of file +state on the backend.

    Enums

    Possible failures modes for SessionStore::load.
    Possible failures modes for SessionStore::save.
    Possible failures modes for SessionStore::update.

    Traits

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

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

    +CookieSessionStore in actix_session::storage - Rust
    #[non_exhaustive]
    pub struct CookieSessionStore;
    Expand description

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

    use actix_web::{cookie::Key, web, App, HttpServer, HttpResponse, Error};
     use actix_session::{SessionMiddleware, storage::CookieSessionStore};
    @@ -29,12 +29,12 @@ browsers. We strongly recommend setting the policy to Trait Implementations
    Returns the “default value” for a type. Read more
    Loads the session state associated to a session key.
    Persist the session state for a newly created session. Read more
    Updates the session state associated to a pre-existing session key.
    Updates the TTL of the session state associated to a pre-existing session key.
    Deletes a session from the store.

    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

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    Trait Implementations§

    Returns the “default value” for a type. Read more
    Loads the session state associated to a session key.
    Persist the session state for a newly created session. Read more
    Updates the session state associated to a pre-existing session key.
    Updates the TTL of the session state associated to a pre-existing session key.
    Deletes a session from the store.

    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

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_session/storage/struct.RedisActorSessionStore.html b/actix_session/storage/struct.RedisActorSessionStore.html index adc6a95b4..23b303181 100644 --- a/actix_session/storage/struct.RedisActorSessionStore.html +++ b/actix_session/storage/struct.RedisActorSessionStore.html @@ -1,5 +1,5 @@ -RedisActorSessionStore in actix_session::storage - Rust
    pub struct RedisActorSessionStore { /* private fields */ }
    Expand description

    Use Redis as session storage backend.

    +RedisActorSessionStore in actix_session::storage - Rust
    pub struct RedisActorSessionStore { /* private fields */ }
    Expand description

    Use Redis as session storage backend.

    use actix_web::{web, App, HttpServer, HttpResponse, Error};
     use actix_session::{SessionMiddleware, storage::RedisActorSessionStore};
    @@ -33,18 +33,18 @@ worker gets its own connection to Redis.

    Limitations

    RedisActorSessionStore does not currently support establishing authenticated connections to Redis. Use RedisSessionStore if you need TLS support.

    -

    Implementations

    A fluent API to configure RedisActorSessionStore.

    +

    Implementations§

    A fluent API to configure RedisActorSessionStore.

    It takes as input the only required input to create a new instance of RedisActorSessionStore—a connection string for Redis.

    -

    Create a new instance of RedisActorSessionStore using the default configuration. +

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

    -

    Trait Implementations

    Loads the session state associated to a session key.
    Persist the session state for a newly created session. Read more
    Updates the session state associated to a pre-existing session key.
    Updates the TTL of the session state associated to a pre-existing session key.
    Deletes a session from the store.

    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

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    Trait Implementations§

    Loads the session state associated to a session key.
    Persist the session state for a newly created session. Read more
    Updates the session state associated to a pre-existing session key.
    Updates the TTL of the session state associated to a pre-existing session key.
    Deletes a session from the store.

    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

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_session/storage/struct.RedisActorSessionStoreBuilder.html b/actix_session/storage/struct.RedisActorSessionStoreBuilder.html index b3580f29d..5171aee43 100644 --- a/actix_session/storage/struct.RedisActorSessionStoreBuilder.html +++ b/actix_session/storage/struct.RedisActorSessionStoreBuilder.html @@ -1,14 +1,14 @@ -RedisActorSessionStoreBuilder in actix_session::storage - Rust
    pub struct RedisActorSessionStoreBuilder { /* private fields */ }
    Expand description

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

    pub struct RedisActorSessionStoreBuilder { /* private fields */ }
    Expand description

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

    -

    Implementations

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

    -

    Finalise the builder and return a RedisActorSessionStore 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

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    Implementations§

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

    +

    Finalise the builder and return a RedisActorSessionStore 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

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_session/storage/struct.RedisSessionStore.html b/actix_session/storage/struct.RedisSessionStore.html index 3dae52d86..4426442fd 100644 --- a/actix_session/storage/struct.RedisSessionStore.html +++ b/actix_session/storage/struct.RedisSessionStore.html @@ -1,5 +1,5 @@ -RedisSessionStore in actix_session::storage - Rust
    pub struct RedisSessionStore { /* private fields */ }
    Expand description

    Use Redis as session storage backend.

    +RedisSessionStore in actix_session::storage - Rust
    pub struct RedisSessionStore { /* private fields */ }
    Expand description

    Use Redis as session storage backend.

    use actix_web::{web, App, HttpServer, HttpResponse, Error};
     use actix_session::{SessionMiddleware, storage::RedisSessionStore};
    @@ -37,18 +37,18 @@ connection to Redis using the rediss:// URL scheme:

    let store = RedisSessionStore::new(redis_connection_string).await.unwrap();

    Implementation notes

    RedisSessionStore leverages redis-rs as Redis client.

    -

    Implementations

    A fluent API to configure RedisSessionStore. +

    Implementations§

    A fluent API to configure RedisSessionStore. It takes as input the only required input to create a new instance of RedisSessionStore - a connection string for Redis.

    -

    Create a new instance of RedisSessionStore using the default configuration. +

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

    -

    Trait Implementations

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Loads the session state associated to a session key.
    Persist the session state for a newly created session. Read more
    Updates the session state associated to a pre-existing session key.
    Updates the TTL of the session state associated to a pre-existing session key.
    Deletes a session from the store.

    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

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Loads the session state associated to a session key.
    Persist the session state for a newly created session. Read more
    Updates the session state associated to a pre-existing session key.
    Updates the TTL of the session state associated to a pre-existing session key.
    Deletes a session from the store.

    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

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_session/storage/struct.RedisSessionStoreBuilder.html b/actix_session/storage/struct.RedisSessionStoreBuilder.html index 0d8762004..3d441edc2 100644 --- a/actix_session/storage/struct.RedisSessionStoreBuilder.html +++ b/actix_session/storage/struct.RedisSessionStoreBuilder.html @@ -1,14 +1,14 @@ -RedisSessionStoreBuilder in actix_session::storage - Rust
    pub struct RedisSessionStoreBuilder { /* private fields */ }
    Expand description

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

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

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

    -

    Implementations

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

    -

    Finalise the builder and return a RedisActorSessionStore 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

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    Implementations§

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

    +

    Finalise the builder and return a RedisActorSessionStore 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

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_session/storage/struct.SessionKey.html b/actix_session/storage/struct.SessionKey.html index fb039f55b..7587da9bb 100644 --- a/actix_session/storage/struct.SessionKey.html +++ b/actix_session/storage/struct.SessionKey.html @@ -1,5 +1,5 @@ -SessionKey in actix_session::storage - Rust
    pub struct SessionKey(_);
    Expand description

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

    pub struct SessionKey(_);
    Expand description

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

    Validation

    Session keys are stored as cookies, therefore they cannot be arbitrary long. Session keys are @@ -10,14 +10,14 @@ required to be smaller than 4064 bytes.

    let key: String = std::iter::repeat('a').take(4065).collect(); let session_key: Result<SessionKey, _> = key.try_into(); assert!(session_key.is_err());
    -

    Trait Implementations

    Converts this type into a shared reference of the (usually inferred) input type.
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    The type returned in the event of a conversion error.
    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
    Compare self to key and return true if they are equal.

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    Trait Implementations§

    Converts this type into a shared reference of the (usually inferred) input type.
    Formats the value using the given formatter. Read more
    Converts to this type from the input type.
    This method tests for self and other values to be equal, and is used +by ==. Read more
    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason. Read more
    The type returned in the event of a conversion error.
    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
    Compare self to key and return true if they are equal.

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_session/storage/trait.SessionStore.html b/actix_session/storage/trait.SessionStore.html index e71f616a3..25d8db7f6 100644 --- a/actix_session/storage/trait.SessionStore.html +++ b/actix_session/storage/trait.SessionStore.html @@ -1,19 +1,19 @@ -SessionStore in actix_session::storage - Rust
    pub trait SessionStore {
    -    fn load<'life0, 'life1, 'async_trait>(
            &'life0 self,
            session_key: &'life1 SessionKey
        ) -> Pin<Box<dyn Future<Output = Result<Option<HashMap<String, String>>, LoadError>> + 'async_trait>>
        where
            'life0: 'async_trait,
            'life1: 'async_trait,
            Self: 'async_trait
    ; - fn save<'life0, 'life1, 'async_trait>(
            &'life0 self,
            session_state: HashMap<String, String>,
            ttl: &'life1 Duration
        ) -> Pin<Box<dyn Future<Output = Result<SessionKey, SaveError>> + 'async_trait>>
        where
            'life0: 'async_trait,
            'life1: 'async_trait,
            Self: 'async_trait
    ; - fn update<'life0, 'life1, 'async_trait>(
            &'life0 self,
            session_key: SessionKey,
            session_state: HashMap<String, String>,
            ttl: &'life1 Duration
        ) -> Pin<Box<dyn Future<Output = Result<SessionKey, UpdateError>> + 'async_trait>>
        where
            'life0: 'async_trait,
            'life1: 'async_trait,
            Self: 'async_trait
    ; - fn update_ttl<'life0, 'life1, 'life2, 'async_trait>(
            &'life0 self,
            session_key: &'life1 SessionKey,
            ttl: &'life2 Duration
        ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + 'async_trait>>
        where
            'life0: 'async_trait,
            'life1: 'async_trait,
            'life2: 'async_trait,
            Self: 'async_trait
    ; - fn delete<'life0, 'life1, 'async_trait>(
            &'life0 self,
            session_key: &'life1 SessionKey
        ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + 'async_trait>>
        where
            'life0: 'async_trait,
            'life1: 'async_trait,
            Self: 'async_trait
    ; +SessionStore in actix_session::storage - Rust
    pub trait SessionStore {
    +    fn load<'life0, 'life1, 'async_trait>(
            &'life0 self,
            session_key: &'life1 SessionKey
        ) -> Pin<Box<dyn Future<Output = Result<Option<HashMap<String, String>>, LoadError>> + 'async_trait>>
        where
            'life0: 'async_trait,
            'life1: 'async_trait,
            Self: 'async_trait
    ; + fn save<'life0, 'life1, 'async_trait>(
            &'life0 self,
            session_state: HashMap<String, String>,
            ttl: &'life1 Duration
        ) -> Pin<Box<dyn Future<Output = Result<SessionKey, SaveError>> + 'async_trait>>
        where
            'life0: 'async_trait,
            'life1: 'async_trait,
            Self: 'async_trait
    ; + fn update<'life0, 'life1, 'async_trait>(
            &'life0 self,
            session_key: SessionKey,
            session_state: HashMap<String, String>,
            ttl: &'life1 Duration
        ) -> Pin<Box<dyn Future<Output = Result<SessionKey, UpdateError>> + 'async_trait>>
        where
            'life0: 'async_trait,
            'life1: 'async_trait,
            Self: 'async_trait
    ; + fn update_ttl<'life0, 'life1, 'life2, 'async_trait>(
            &'life0 self,
            session_key: &'life1 SessionKey,
            ttl: &'life2 Duration
        ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + 'async_trait>>
        where
            'life0: 'async_trait,
            'life1: 'async_trait,
            'life2: 'async_trait,
            Self: 'async_trait
    ; + fn delete<'life0, 'life1, 'async_trait>(
            &'life0 self,
            session_key: &'life1 SessionKey
        ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + 'async_trait>>
        where
            'life0: 'async_trait,
            'life1: 'async_trait,
            Self: 'async_trait
    ; }
    Expand description

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

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

    async-trait is used for this trait’s definition. Therefore, it is required for implementations, too. In particular, we use the send-optional variant: #[async_trait(?Send)].

    -

    Required Methods

    Loads the session state associated to a session key.

    -

    Persist the session state for a newly created session.

    +

    Required Methods§

    Loads the session state associated to a session key.

    +

    Persist the session state for a newly created session.

    Returns the corresponding session key.

    -

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

    -

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

    -

    Deletes a session from the store.

    -

    Implementors

    \ No newline at end of file +

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

    +

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

    +

    Deletes a session from the store.

    +

    Implementors§

    \ No newline at end of file diff --git a/actix_session/struct.Session.html b/actix_session/struct.Session.html index 3f42c838e..efad470c4 100644 --- a/actix_session/struct.Session.html +++ b/actix_session/struct.Session.html @@ -1,5 +1,5 @@ -Session in actix_session - Rust

    Struct actix_session::Session

    source ·
    pub struct Session(_);
    Expand description

    The primary interface to access and modify session state.

    +Session in actix_session - Rust

    Struct actix_session::Session

    source ·
    pub struct Session(_);
    Expand description

    The primary interface to access and modify session state.

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

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

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

    -

    Implementations

    Get a value from the session.

    +

    Implementations§

    Get a value from the session.

    It returns an error if it fails to deserialize as T the JSON value associated with key.

    -

    Get all raw key-value data from the session.

    +

    Get all raw key-value data from the session.

    Note that values are JSON encoded.

    -

    Returns session status.

    -

    Inserts a key-value pair into the session.

    +

    Returns session status.

    +

    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.

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

    -

    Remove value from the session.

    +

    Remove value from the session.

    If present, the JSON encoded value is returned.

    -

    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.

    -

    Clear the session.

    -

    Removes session both client and server side.

    -

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

    -

    Trait Implementations

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more

    Extractor implementation for Sessions.

    +

    Clear the session.

    +

    Removes session both client and server side.

    +

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

    +

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more

    Extractor implementation for Sessions.

    Examples

    use actix_session::Session;
     
    @@ -50,12 +50,12 @@ otherwise returns un-deserialized JSON string.

    let count = session.get::<i32>("counter")?.unwrap(); Ok(format!("Counter: {}", count)) }
    -
    The associated error which can be returned.
    Future that resolves to a Self. Read more
    Create a Self from request parts asynchronously.
    Create a Self from request head asynchronously. 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

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +
    The associated error which can be returned.
    Future that resolves to a Self. Read more
    Create a Self from request parts asynchronously.
    Create a Self from request head asynchronously. 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

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_session/struct.SessionGetError.html b/actix_session/struct.SessionGetError.html index f6ea097f6..6555d4f0c 100644 --- a/actix_session/struct.SessionGetError.html +++ b/actix_session/struct.SessionGetError.html @@ -1,12 +1,12 @@ -SessionGetError in actix_session - Rust
    pub struct SessionGetError(_);
    Expand description

    Error returned by Session::get.

    -

    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
    👎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
    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    Converts to this type from the input type.
    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

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +SessionGetError in actix_session - Rust
    pub struct SessionGetError(_);
    Expand description

    Error returned by Session::get.

    +

    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
    👎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
    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    Converts to this type from the input type.
    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

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    🔬This is a nightly-only experimental API. (provide_any)
    Data providers should implement this method to provide all values they are able to -provide by using demand. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    🔬This is a nightly-only experimental API. (provide_any)
    Data providers should implement this method to provide all values they are able to +provide by using demand. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_session/struct.SessionInsertError.html b/actix_session/struct.SessionInsertError.html index c1125db1c..21ae6eb16 100644 --- a/actix_session/struct.SessionInsertError.html +++ b/actix_session/struct.SessionInsertError.html @@ -1,12 +1,12 @@ -SessionInsertError in actix_session - Rust
    pub struct SessionInsertError(_);
    Expand description

    Error returned by Session::insert.

    -

    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
    👎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
    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    Converts to this type from the input type.
    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

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +SessionInsertError in actix_session - Rust
    pub struct SessionInsertError(_);
    Expand description

    Error returned by Session::insert.

    +

    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
    👎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
    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    Converts to this type from the input type.
    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

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    🔬This is a nightly-only experimental API. (provide_any)
    Data providers should implement this method to provide all values they are able to -provide by using demand. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    🔬This is a nightly-only experimental API. (provide_any)
    Data providers should implement this method to provide all values they are able to +provide by using demand. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_session/struct.SessionMiddleware.html b/actix_session/struct.SessionMiddleware.html index 41f9fc204..418b00271 100644 --- a/actix_session/struct.SessionMiddleware.html +++ b/actix_session/struct.SessionMiddleware.html @@ -1,5 +1,5 @@ -SessionMiddleware in actix_session - Rust
    pub struct SessionMiddleware<Store: SessionStore> { /* private fields */ }
    Expand description

    A middleware for session management in Actix Web applications.

    +SessionMiddleware in actix_session - Rust
    pub struct SessionMiddleware<Store: SessionStore> { /* private fields */ }
    Expand description

    A middleware for session management in Actix Web applications.

    SessionMiddleware takes care of a few jobs:

    • Instructs the session storage backend to create/update/delete/retrieve the state attached to @@ -83,7 +83,7 @@ reasonably secure implementation of sessions.

      .run() .await }
    -

    Implementations

    Use SessionMiddleware::new to initialize the session framework using the default +

    Implementations§

    Use SessionMiddleware::new to initialize the session framework using the default parameters.

    To create a new instance of SessionMiddleware you need to provide:

      @@ -91,19 +91,19 @@ parameters.

      SessionStore);
    • a secret key, to sign or encrypt the content of client-side session cookie.
    -

    A fluent API to configure SessionMiddleware.

    +

    A fluent API to configure SessionMiddleware.

    It takes as input the two required inputs to create a new instance of SessionMiddleware:

    • an instance of the session storage backend you wish to use (i.e. an implementation of SessionStore);
    • a secret key, to sign or encrypt the content of client-side session cookie.
    -

    Trait Implementations

    Returns a copy of the value. Read more
    Performs copy-assignment from source. 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

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. 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

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_session/trait.SessionExt.html b/actix_session/trait.SessionExt.html index 3d7f0d58e..0281b1169 100644 --- a/actix_session/trait.SessionExt.html +++ b/actix_session/trait.SessionExt.html @@ -1,7 +1,7 @@ -SessionExt in actix_session - Rust
    pub trait SessionExt {
    -    fn get_session(&self) -> Session;
    +SessionExt in actix_session - Rust
    pub trait SessionExt {
    +    fn get_session(&self) -> Session;
     }
    Expand description

    Extract a Session object from various actix-web types (e.g. HttpRequest, ServiceRequest, ServiceResponse).

    -

    Required Methods

    Extract a Session object.

    -

    Implementations on Foreign Types

    Implementors

    \ No newline at end of file +

    Required Methods§

    Extract a Session object.

    +

    Implementations on Foreign Types§

    Implementors§

    \ No newline at end of file diff --git a/actix_settings/all.html b/actix_settings/all.html index 20943797d..6ad8e57fa 100644 --- a/actix_settings/all.html +++ b/actix_settings/all.html @@ -1,2 +1,2 @@ -List of all items in this crate
    \ No newline at end of file +List of all items in this crate
    \ No newline at end of file diff --git a/actix_settings/enum.Backlog.html b/actix_settings/enum.Backlog.html index 814834a27..2db8f5d93 100644 --- a/actix_settings/enum.Backlog.html +++ b/actix_settings/enum.Backlog.html @@ -1,5 +1,5 @@ -Backlog in actix_settings - Rust
    pub enum Backlog {
    +Backlog in actix_settings - Rust
    pub enum Backlog {
         Default,
         Manual(usize),
     }
    Expand description

    The maximum number of pending connections.

    @@ -8,16 +8,16 @@ results in the client getting an error when attempting to connect. It should onl under significant load.

    Generally set in the 64–2048 range. The default value is 2048. Takes a string value: Either “default”, or an integer N > 0 e.g. “6”.

    -

    Variants

    Default

    The default number of connections. See struct docs.

    -

    Manual(usize)

    A specific number of connections.

    -

    Trait Implementations

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Deserialize this value from the given Serde deserializer. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    Parse Self from string.
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. 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
    Compare self to key and return true if they are equal.

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    Variants§

    §

    Default

    The default number of connections. See struct docs.

    +
    §

    Manual(usize)

    A specific number of connections.

    +

    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
    Deserialize this value from the given Serde deserializer. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    Parse Self from string.
    This method tests for self and other values to be equal, and is used +by ==. Read more
    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason. 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
    Compare self to key and return true if they are equal.

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_settings/enum.Error.html b/actix_settings/enum.Error.html index 10cd99da8..5e9efb184 100644 --- a/actix_settings/enum.Error.html +++ b/actix_settings/enum.Error.html @@ -1,5 +1,5 @@ -Error in actix_settings - Rust
    pub enum Error {
    +Error in actix_settings - Rust
    pub enum Error {
         EnvVarError(VarError),
         FileExists(PathBuf),
         InvalidValue {
    @@ -15,20 +15,20 @@
         ParseAddressError(String),
         TomlError(TomlError),
     }
    Expand description

    Errors that can be returned from methods in this crate.

    -

    Variants

    EnvVarError(VarError)

    Environment variable does not exists or is invalid.

    -

    FileExists(PathBuf)

    File already exists on disk.

    -

    InvalidValue

    Fields

    expected: &'static str
    got: String
    file: &'static str
    line: u32
    column: u32

    Invalid value.

    -

    IoError(IoError)

    I/O error.

    -

    ParseBoolError(ParseBoolError)

    Value is not a boolean.

    -

    ParseIntError(ParseIntError)

    Value is not an integer.

    -

    ParseAddressError(String)

    Value is not an address.

    -

    TomlError(TomlError)

    Error deserializing as TOML.

    -

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

    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

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    Variants§

    §

    EnvVarError(VarError)

    Environment variable does not exists or is invalid.

    +
    §

    FileExists(PathBuf)

    File already exists on disk.

    +
    §

    InvalidValue

    Fields

    §expected: &'static str
    §got: String
    §file: &'static str
    §line: u32
    §column: u32

    Invalid value.

    +
    §

    IoError(IoError)

    I/O error.

    +
    §

    ParseBoolError(ParseBoolError)

    Value is not a boolean.

    +
    §

    ParseIntError(ParseIntError)

    Value is not an integer.

    +
    §

    ParseAddressError(String)

    Value is not an address.

    +
    §

    TomlError(TomlError)

    Error deserializing as TOML.

    +

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

    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

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_settings/enum.KeepAlive.html b/actix_settings/enum.KeepAlive.html index b2db7644f..1e76a16e3 100644 --- a/actix_settings/enum.KeepAlive.html +++ b/actix_settings/enum.KeepAlive.html @@ -1,5 +1,5 @@ -KeepAlive in actix_settings - Rust
    pub enum KeepAlive {
    +KeepAlive in actix_settings - Rust
    pub enum KeepAlive {
         Default,
         Disabled,
         Os,
    @@ -7,19 +7,19 @@
     }
    Expand description

    The server keep-alive preference.

    By default keep alive is set to 5 seconds. Takes a string value: Either “default”, “disabled”, “os”, or a string of the format “N seconds” where N is an integer > 0 e.g. “6 seconds”.

    -

    Variants

    Default

    The default keep-alive as defined by Actix Web.

    -

    Disabled

    Disable keep-alive.

    -

    Os

    Let the OS determine keep-alive duration.

    +

    Variants§

    §

    Default

    The default keep-alive as defined by Actix Web.

    +
    §

    Disabled

    Disable keep-alive.

    +
    §

    Os

    Let the OS determine keep-alive duration.

    Note: this is usually quite long.

    -

    Seconds(usize)

    A specific keep-alive duration (in seconds).

    -

    Trait Implementations

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Deserialize this value from the given Serde deserializer. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    Parse Self from string.
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. 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
    Compare self to key and return true if they are equal.

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +
    §

    Seconds(usize)

    A specific keep-alive duration (in seconds).

    +

    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
    Deserialize this value from the given Serde deserializer. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    Parse Self from string.
    This method tests for self and other values to be equal, and is used +by ==. Read more
    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason. 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
    Compare self to key and return true if they are equal.

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_settings/enum.MaxConnectionRate.html b/actix_settings/enum.MaxConnectionRate.html index 514eb521e..bf9fe7f42 100644 --- a/actix_settings/enum.MaxConnectionRate.html +++ b/actix_settings/enum.MaxConnectionRate.html @@ -1,21 +1,21 @@ -MaxConnectionRate in actix_settings - Rust
    pub enum MaxConnectionRate {
    +MaxConnectionRate in actix_settings - Rust
    pub enum MaxConnectionRate {
         Default,
         Manual(usize),
     }
    Expand description

    The maximum per-worker concurrent TLS connection limit.

    All listeners will stop accepting connections when this limit is reached. It can be used to limit the global TLS CPU usage. By default max connections is set to a 256. Takes a string value: Either “default”, or an integer N > 0 e.g. “6”.

    -

    Variants

    Default

    The default connection limit. See struct docs.

    -

    Manual(usize)

    A specific connection limit.

    -

    Trait Implementations

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Deserialize this value from the given Serde deserializer. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    Parse Self from string.
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. 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
    Compare self to key and return true if they are equal.

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    Variants§

    §

    Default

    The default connection limit. See struct docs.

    +
    §

    Manual(usize)

    A specific connection limit.

    +

    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
    Deserialize this value from the given Serde deserializer. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    Parse Self from string.
    This method tests for self and other values to be equal, and is used +by ==. Read more
    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason. 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
    Compare self to key and return true if they are equal.

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_settings/enum.MaxConnections.html b/actix_settings/enum.MaxConnections.html index 6501b1bc2..6a621fb4c 100644 --- a/actix_settings/enum.MaxConnections.html +++ b/actix_settings/enum.MaxConnections.html @@ -1,21 +1,21 @@ -MaxConnections in actix_settings - Rust
    pub enum MaxConnections {
    +MaxConnections in actix_settings - Rust
    pub enum MaxConnections {
         Default,
         Manual(usize),
     }
    Expand description

    The maximum per-worker number of concurrent connections.

    All socket listeners will stop accepting connections when this limit is reached for each worker. By default max connections is set to a 25k. Takes a string value: Either “default”, or an integer N > 0 e.g. “6”.

    -

    Variants

    Default

    The default number of connections. See struct docs.

    -

    Manual(usize)

    A specific number of connections.

    -

    Trait Implementations

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Deserialize this value from the given Serde deserializer. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    Parse Self from string.
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. 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
    Compare self to key and return true if they are equal.

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    Variants§

    §

    Default

    The default number of connections. See struct docs.

    +
    §

    Manual(usize)

    A specific number of connections.

    +

    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
    Deserialize this value from the given Serde deserializer. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    Parse Self from string.
    This method tests for self and other values to be equal, and is used +by ==. Read more
    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason. 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
    Compare self to key and return true if they are equal.

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_settings/enum.Mode.html b/actix_settings/enum.Mode.html index 03f420c9b..7822c1cad 100644 --- a/actix_settings/enum.Mode.html +++ b/actix_settings/enum.Mode.html @@ -1,18 +1,18 @@ -Mode in actix_settings - Rust

    Enum actix_settings::Mode

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

    Enum actix_settings::Mode

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

    Marker of intended deployment environment.

    -

    Variants

    Development

    Marks development environment.

    -

    Production

    Marks production environment.

    -

    Trait Implementations

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Deserialize this value from the given Serde deserializer. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    Parse Self from string.
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. 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
    Compare self to key and return true if they are equal.

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    Variants§

    §

    Development

    Marks development environment.

    +
    §

    Production

    Marks production environment.

    +

    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
    Deserialize this value from the given Serde deserializer. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    Parse Self from string.
    This method tests for self and other values to be equal, and is used +by ==. Read more
    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason. 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
    Compare self to key and return true if they are equal.

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_settings/enum.NumWorkers.html b/actix_settings/enum.NumWorkers.html index ec8f95526..4cb805617 100644 --- a/actix_settings/enum.NumWorkers.html +++ b/actix_settings/enum.NumWorkers.html @@ -1,20 +1,20 @@ -NumWorkers in actix_settings - Rust
    pub enum NumWorkers {
    +NumWorkers in actix_settings - Rust
    pub enum NumWorkers {
         Default,
         Manual(usize),
     }
    Expand description

    The number of workers that the server should start.

    By default the number of available logical cpu cores is used. Takes a string value: Either “default”, or an integer N > 0 e.g. “6”.

    -

    Variants

    Default

    The default number of workers. See struct docs.

    -

    Manual(usize)

    A specific number of workers.

    -

    Trait Implementations

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Deserialize this value from the given Serde deserializer. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    Parse Self from string.
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. 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
    Compare self to key and return true if they are equal.

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    Variants§

    §

    Default

    The default number of workers. See struct docs.

    +
    §

    Manual(usize)

    A specific number of workers.

    +

    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
    Deserialize this value from the given Serde deserializer. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    Parse Self from string.
    This method tests for self and other values to be equal, and is used +by ==. Read more
    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason. 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
    Compare self to key and return true if they are equal.

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_settings/enum.Timeout.html b/actix_settings/enum.Timeout.html index dbd1900db..fee000471 100644 --- a/actix_settings/enum.Timeout.html +++ b/actix_settings/enum.Timeout.html @@ -1,20 +1,20 @@ -Timeout in actix_settings - Rust
    pub enum Timeout {
    +Timeout in actix_settings - Rust
    pub enum Timeout {
         Default,
         Milliseconds(usize),
         Seconds(usize),
     }
    Expand description

    A timeout duration in milliseconds or seconds.

    -

    Variants

    Default

    The default timeout. Depends on context.

    -

    Milliseconds(usize)

    Timeout in milliseconds.

    -

    Seconds(usize)

    Timeout in seconds.

    -

    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
    Deserialize this value from the given Serde deserializer. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    Parse Self from string.
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. 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
    Compare self to key and return true if they are equal.

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    Variants§

    §

    Default

    The default timeout. Depends on context.

    +
    §

    Milliseconds(usize)

    Timeout in milliseconds.

    +
    §

    Seconds(usize)

    Timeout in seconds.

    +

    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
    Deserialize this value from the given Serde deserializer. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    Parse Self from string.
    This method tests for self and other values to be equal, and is used +by ==. Read more
    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason. 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
    Compare self to key and return true if they are equal.

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_settings/index.html b/actix_settings/index.html index 342859d22..2e49b61a0 100644 --- a/actix_settings/index.html +++ b/actix_settings/index.html @@ -1,5 +1,5 @@ -actix_settings - Rust

    Crate actix_settings

    source ·
    Expand description

    Easily manage Actix Web’s settings from a TOML file and environment variables.

    +actix_settings - Rust

    Crate actix_settings

    source ·
    Expand description

    Easily manage Actix Web’s settings from a TOML file and environment variables.

    To get started add a Settings::parse_toml("./Server.toml") call to the top of your main function. This will create a template file with descriptions of all the configurable settings. You can change or remove anything in that file and it will be picked up @@ -49,4 +49,4 @@ the environment using await }

    -

    Structs

    Settings types for Actix Web.
    A host/port pair for the server to bind to.
    Wrapper for server and application-specific settings.
    Marker type representing no defined application-specific settings.
    TLS (HTTPS) configuration.

    Enums

    The maximum number of pending connections.
    Errors that can be returned from methods in this crate.
    The server keep-alive preference.
    The maximum per-worker concurrent TLS connection limit.
    The maximum per-worker number of concurrent connections.
    Marker of intended deployment environment.
    The number of workers that the server should start.
    A timeout duration in milliseconds or seconds.

    Traits

    Extension trait for applying parsed settings to the server object.
    A specialized FromStr trait that returns [AtError] errors

    Type Definitions

    Convenience type alias for BasicSettings with no defined application-specific settings.
    \ No newline at end of file +

    Structs

    Settings types for Actix Web.
    A host/port pair for the server to bind to.
    Wrapper for server and application-specific settings.
    Marker type representing no defined application-specific settings.
    TLS (HTTPS) configuration.

    Enums

    The maximum number of pending connections.
    Errors that can be returned from methods in this crate.
    The server keep-alive preference.
    The maximum per-worker concurrent TLS connection limit.
    The maximum per-worker number of concurrent connections.
    Marker of intended deployment environment.
    The number of workers that the server should start.
    A timeout duration in milliseconds or seconds.

    Traits

    Extension trait for applying parsed settings to the server object.
    A specialized FromStr trait that returns [AtError] errors

    Type Definitions

    Convenience type alias for BasicSettings with no defined application-specific settings.
    \ No newline at end of file diff --git a/actix_settings/struct.ActixSettings.html b/actix_settings/struct.ActixSettings.html index 8b67439e5..bf417660d 100644 --- a/actix_settings/struct.ActixSettings.html +++ b/actix_settings/struct.ActixSettings.html @@ -1,5 +1,5 @@ -ActixSettings in actix_settings - Rust
    pub struct ActixSettings {
    Show 13 fields +ActixSettings in actix_settings - Rust
    pub struct ActixSettings {
    Show 13 fields pub hosts: Vec<Address>, pub mode: Mode, pub enable_compression: bool, @@ -14,27 +14,27 @@ pub shutdown_timeout: Timeout, pub tls: Tls,
    }
    Expand description

    Settings types for Actix Web.

    -

    Fields

    hosts: Vec<Address>

    List of addresses for the server to bind to.

    -
    mode: Mode

    Marker of intended deployment environment.

    -
    enable_compression: bool

    True if the Compress middleware should be enabled.

    -
    enable_log: bool

    True if the Logger middleware should be enabled.

    -
    num_workers: NumWorkers

    The number of workers that the server should start.

    -
    backlog: Backlog

    The maximum number of pending connections.

    -
    max_connections: MaxConnections

    The per-worker maximum number of concurrent connections.

    -
    max_connection_rate: MaxConnectionRate

    The per-worker maximum concurrent TLS connection limit.

    -
    keep_alive: KeepAlive

    Server keep-alive preference.

    -
    client_timeout: Timeout

    Timeout duration for reading client request header.

    -
    client_shutdown: Timeout

    Timeout duration for connection shutdown.

    -
    shutdown_timeout: Timeout

    Timeout duration for graceful worker shutdown.

    -
    tls: Tls

    TLS (HTTPS) configuration.

    -

    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
    Deserialize this value from the given Serde deserializer. 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
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. 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
    Compare self to key and return true if they are equal.

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    Fields§

    §hosts: Vec<Address>

    List of addresses for the server to bind to.

    +
    §mode: Mode

    Marker of intended deployment environment.

    +
    §enable_compression: bool

    True if the Compress middleware should be enabled.

    +
    §enable_log: bool

    True if the Logger middleware should be enabled.

    +
    §num_workers: NumWorkers

    The number of workers that the server should start.

    +
    §backlog: Backlog

    The maximum number of pending connections.

    +
    §max_connections: MaxConnections

    The per-worker maximum number of concurrent connections.

    +
    §max_connection_rate: MaxConnectionRate

    The per-worker maximum concurrent TLS connection limit.

    +
    §keep_alive: KeepAlive

    Server keep-alive preference.

    +
    §client_timeout: Timeout

    Timeout duration for reading client request header.

    +
    §client_shutdown: Timeout

    Timeout duration for connection shutdown.

    +
    §shutdown_timeout: Timeout

    Timeout duration for graceful worker shutdown.

    +
    §tls: Tls

    TLS (HTTPS) configuration.

    +

    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
    Deserialize this value from the given Serde deserializer. 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
    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason. 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
    Compare self to key and return true if they are equal.

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_settings/struct.Address.html b/actix_settings/struct.Address.html index 317c60865..f5d03236d 100644 --- a/actix_settings/struct.Address.html +++ b/actix_settings/struct.Address.html @@ -1,18 +1,18 @@ -Address in actix_settings - Rust

    Struct actix_settings::Address

    source ·
    pub struct Address {
    +Address in actix_settings - Rust

    Struct actix_settings::Address

    source ·
    pub struct Address {
         pub host: String,
         pub port: u16,
     }
    Expand description

    A host/port pair for the server to bind to.

    -

    Fields

    host: String

    Host part of address.

    -
    port: u16

    Port part of address.

    -

    Trait Implementations

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Deserialize this value from the given Serde deserializer. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    Parse Self from string.
    This method tests for self and other values to be equal, and is used -by ==. Read more
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. 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
    Compare self to key and return true if they are equal.

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    Fields§

    §host: String

    Host part of address.

    +
    §port: u16

    Port part of address.

    +

    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
    Deserialize this value from the given Serde deserializer. Read more
    Feeds this value into the given Hasher. Read more
    Feeds a slice of this type into the given Hasher. Read more
    Parse Self from string.
    This method tests for self and other values to be equal, and is used +by ==. Read more
    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason. 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
    Compare self to key and return true if they are equal.

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_settings/struct.BasicSettings.html b/actix_settings/struct.BasicSettings.html index d01407e7a..d85ee547d 100644 --- a/actix_settings/struct.BasicSettings.html +++ b/actix_settings/struct.BasicSettings.html @@ -1,20 +1,20 @@ -BasicSettings in actix_settings - Rust
    pub struct BasicSettings<A> {
    +BasicSettings in actix_settings - Rust
    pub struct BasicSettings<A> {
         pub actix: ActixSettings,
         pub application: A,
     }
    Expand description

    Wrapper for server and application-specific settings.

    -

    Fields

    actix: ActixSettings

    Actix Web server settings.

    -
    application: A

    Application-specific settings.

    -

    Implementations

    Parse an instance of Self from a TOML file located at filepath.

    +

    Fields§

    §actix: ActixSettings

    Actix Web server settings.

    +
    §application: A

    Application-specific settings.

    +

    Implementations§

    Parse an instance of Self from a TOML file located at filepath.

    If the file doesn’t exist, it is generated from the default TOML template, after which the newly generated file is read in and parsed.

    -

    Parse an instance of Self straight from the default TOML template.

    -

    Parse an instance of Self straight from the default TOML template.

    -

    Writes the default TOML template to a new file, located at filepath.

    +

    Parse an instance of Self straight from the default TOML template.

    +

    Parse an instance of Self straight from the default TOML template.

    +

    Writes the default TOML template to a new file, located at filepath.

    Errors

    Returns a FileExists error if a file already exists at that location.

    -

    Attempts to parse value and override the referenced field.

    +

    Attempts to parse value and override the referenced field.

    Examples
    use actix_settings::{Settings, Mode};
     
    @@ -23,7 +23,7 @@ location.

    Settings::override_field(&mut settings.actix.mode, "production")?; assert_eq!(settings.actix.mode, Mode::Production);
    -

    Attempts to read an environment variable, parse it, and override the referenced field.

    +

    Attempts to read an environment variable, parse it, and override the referenced field.

    Examples
    use actix_settings::{Settings, Mode};
     
    @@ -34,14 +34,14 @@ std::env::set_var("OVERRIDE__MODE", &mut settings.actix.mode, "OVERRIDE__MODE")?;
     assert_eq!(settings.actix.mode, Mode::Production);
    -

    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
    Deserialize this value from the given Serde deserializer. 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
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. 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
    Compare self to key and return true if they are equal.

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    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
    Deserialize this value from the given Serde deserializer. 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
    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason. 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
    Compare self to key and return true if they are equal.

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_settings/struct.NoSettings.html b/actix_settings/struct.NoSettings.html index 22dcb8bf4..ff159041a 100644 --- a/actix_settings/struct.NoSettings.html +++ b/actix_settings/struct.NoSettings.html @@ -1,13 +1,13 @@ -NoSettings in actix_settings - Rust
    #[non_exhaustive]
    pub struct NoSettings {}
    Expand description

    Marker type representing no defined application-specific settings.

    -

    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
    Deserialize this value from the given Serde deserializer. 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
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. 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
    Compare self to key and return true if they are equal.

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +NoSettings in actix_settings - Rust
    #[non_exhaustive]
    pub struct NoSettings {}
    Expand description

    Marker type representing no defined application-specific settings.

    +

    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
    Deserialize this value from the given Serde deserializer. 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
    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason. 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
    Compare self to key and return true if they are equal.

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_settings/struct.Tls.html b/actix_settings/struct.Tls.html index a5c702488..89c8ef201 100644 --- a/actix_settings/struct.Tls.html +++ b/actix_settings/struct.Tls.html @@ -1,20 +1,20 @@ -Tls in actix_settings - Rust

    Struct actix_settings::Tls

    source ·
    pub struct Tls {
    +Tls in actix_settings - Rust

    Struct actix_settings::Tls

    source ·
    pub struct Tls {
         pub enabled: bool,
         pub certificate: PathBuf,
         pub private_key: PathBuf,
     }
    Expand description

    TLS (HTTPS) configuration.

    -

    Fields

    enabled: bool

    Tru if accepting TLS connections should be enabled.

    -
    certificate: PathBuf

    Path to certificate .pem file.

    -
    private_key: PathBuf

    Path to private key .pem file.

    -

    Trait Implementations

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Deserialize this value from the given Serde deserializer. 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
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. 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
    Compare self to key and return true if they are equal.

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    Fields§

    §enabled: bool

    Tru if accepting TLS connections should be enabled.

    +
    §certificate: PathBuf

    Path to certificate .pem file.

    +
    §private_key: PathBuf

    Path to private key .pem file.

    +

    Trait Implementations§

    Returns a copy of the value. Read more
    Performs copy-assignment from source. Read more
    Formats the value using the given formatter. Read more
    Deserialize this value from the given Serde deserializer. 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
    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason. 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
    Compare self to key and return true if they are equal.

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_settings/trait.ApplySettings.html b/actix_settings/trait.ApplySettings.html index 83db390c1..4cd56570a 100644 --- a/actix_settings/trait.ApplySettings.html +++ b/actix_settings/trait.ApplySettings.html @@ -1,6 +1,6 @@ -ApplySettings in actix_settings - Rust
    pub trait ApplySettings {
    -    fn apply_settings<A>(self, settings: &BasicSettings<A>) -> Self
        where
            A: DeserializeOwned
    ; +ApplySettings in actix_settings - Rust
    pub trait ApplySettings {
    +    fn apply_settings<A>(self, settings: &BasicSettings<A>) -> Self
        where
            A: DeserializeOwned
    ; }
    Expand description

    Extension trait for applying parsed settings to the server object.

    -

    Required Methods

    Apply a BasicSettings value to self.

    -

    Implementations on Foreign Types

    Implementors

    \ No newline at end of file +

    Required Methods§

    Apply a BasicSettings value to self.

    +

    Implementations on Foreign Types§

    Implementors§

    \ No newline at end of file diff --git a/actix_settings/trait.Parse.html b/actix_settings/trait.Parse.html index 9bf35ac77..9e33b7a69 100644 --- a/actix_settings/trait.Parse.html +++ b/actix_settings/trait.Parse.html @@ -1,6 +1,6 @@ -Parse in actix_settings - Rust

    Trait actix_settings::Parse

    source ·
    pub trait Parse: Sized {
    -    fn parse(string: &str) -> Result<Self, Error>;
    +Parse in actix_settings - Rust

    Trait actix_settings::Parse

    source ·
    pub trait Parse: Sized {
    +    fn parse(string: &str) -> Result<Self, Error>;
     }
    Expand description

    A specialized FromStr trait that returns [AtError] errors

    -

    Required Methods

    Parse Self from string.

    -

    Implementations on Foreign Types

    Implementors

    \ No newline at end of file +

    Required Methods§

    Parse Self from string.

    +

    Implementations on Foreign Types§

    Implementors§

    \ No newline at end of file diff --git a/actix_settings/type.Settings.html b/actix_settings/type.Settings.html index 5c793ea03..e0797d879 100644 --- a/actix_settings/type.Settings.html +++ b/actix_settings/type.Settings.html @@ -1,3 +1,3 @@ -Settings in actix_settings - Rust

    Type Definition actix_settings::Settings

    source ·
    pub type Settings = BasicSettings<NoSettings>;
    Expand description

    Convenience type alias for BasicSettings with no defined application-specific settings.

    -
    \ No newline at end of file +Settings in actix_settings - Rust

    Type Definition actix_settings::Settings

    source ·
    pub type Settings = BasicSettings<NoSettings>;
    Expand description

    Convenience type alias for BasicSettings with no defined application-specific settings.

    +
    \ No newline at end of file diff --git a/actix_web_httpauth/all.html b/actix_web_httpauth/all.html index ea88b002b..03b48b1f3 100644 --- a/actix_web_httpauth/all.html +++ b/actix_web_httpauth/all.html @@ -1 +1 @@ -List of all items in this crate
    \ No newline at end of file +List of all items in this crate
    \ No newline at end of file diff --git a/actix_web_httpauth/extractors/basic/index.html b/actix_web_httpauth/extractors/basic/index.html index 6c91c4169..51fbfc48a 100644 --- a/actix_web_httpauth/extractors/basic/index.html +++ b/actix_web_httpauth/extractors/basic/index.html @@ -1,2 +1,2 @@ -actix_web_httpauth::extractors::basic - Rust
    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 +actix_web_httpauth::extractors::basic - Rust
    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 diff --git a/actix_web_httpauth/extractors/basic/struct.BasicAuth.html b/actix_web_httpauth/extractors/basic/struct.BasicAuth.html index 35ffd19c3..23c2827d2 100644 --- a/actix_web_httpauth/extractors/basic/struct.BasicAuth.html +++ b/actix_web_httpauth/extractors/basic/struct.BasicAuth.html @@ -1,4 +1,4 @@ -BasicAuth in actix_web_httpauth::extractors::basic - Rust
    pub struct BasicAuth(_);
    Expand description

    Extractor for HTTP Basic auth.

    +BasicAuth in actix_web_httpauth::extractors::basic - Rust
    pub struct BasicAuth(_);
    Expand description

    Extractor for HTTP Basic auth.

    Examples

    use actix_web_httpauth::extractors::basic::BasicAuth;
     
    @@ -18,14 +18,14 @@ order to properly form the WWW-Authenticate response header.

    App::new() .app_data(basic::Config::default().realm("Restricted area")) .service(web::resource("/index.html").route(web::get().to(index)));
    -

    Implementations

    Returns client’s user-ID.

    -

    Returns client’s password.

    -

    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
    Future that resolves to a Self. Read more
    The associated error which can be returned.
    Create a Self from request parts asynchronously.
    Create a Self from request head asynchronously. 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

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    Implementations§

    Returns client’s user-ID.

    +

    Returns client’s password.

    +

    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
    Future that resolves to a Self. Read more
    The associated error which can be returned.
    Create a Self from request parts asynchronously.
    Create a Self from request head asynchronously. 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

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ 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 a50a838a2..463cde3e3 100644 --- a/actix_web_httpauth/extractors/basic/struct.Config.html +++ b/actix_web_httpauth/extractors/basic/struct.Config.html @@ -1,13 +1,13 @@ -Config in actix_web_httpauth::extractors::basic - Rust
    pub struct Config(_);
    Expand description

    BasicAuth extractor configuration used for WWW-Authenticate header later.

    -

    Implementations

    Set challenge realm attribute.

    +Config in actix_web_httpauth::extractors::basic - Rust
    pub struct Config(_);
    Expand description

    BasicAuth extractor configuration used for WWW-Authenticate header later.

    +

    Implementations§

    Set challenge realm attribute.

    The “realm” attribute indicates the scope of protection in the manner described in HTTP/1.1 RFC 2617 §1.2.

    -

    Trait Implementations

    Converts this type into a shared reference of the (usually inferred) input type.
    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

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    Trait Implementations§

    Converts this type into a shared reference of the (usually inferred) input type.
    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

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ 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 005f1ca8c..9db537ee1 100644 --- a/actix_web_httpauth/extractors/bearer/enum.Error.html +++ b/actix_web_httpauth/extractors/bearer/enum.Error.html @@ -1,24 +1,24 @@ -Error in actix_web_httpauth::extractors::bearer - Rust
    pub enum Error {
    +Error in actix_web_httpauth::extractors::bearer - Rust
    pub enum Error {
         InvalidRequest,
         InvalidToken,
         InsufficientScope,
     }
    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 +

    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.

    -

    InvalidToken

    The access token provided is expired, revoked, malformed, or invalid for other reasons.

    -

    InsufficientScope

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

    -

    Implementations

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

    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.

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +
    §

    InvalidToken

    The access token provided is expired, revoked, malformed, or invalid for other reasons.

    +
    §

    InsufficientScope

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

    +

    Implementations§

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

    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.

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ 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 aaf9a3ce3..bc86b1ec0 100644 --- a/actix_web_httpauth/extractors/bearer/index.html +++ b/actix_web_httpauth/extractors/bearer/index.html @@ -1,2 +1,2 @@ -actix_web_httpauth::extractors::bearer - Rust
    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 +actix_web_httpauth::extractors::bearer - Rust
    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 073d79229..548d5b926 100644 --- a/actix_web_httpauth/extractors/bearer/struct.BearerAuth.html +++ b/actix_web_httpauth/extractors/bearer/struct.BearerAuth.html @@ -1,4 +1,4 @@ -BearerAuth in actix_web_httpauth::extractors::bearer - Rust
    pub struct BearerAuth(_);
    Expand description

    Extractor for HTTP Bearer auth

    +BearerAuth in actix_web_httpauth::extractors::bearer - Rust
    pub struct BearerAuth(_);
    Expand description

    Extractor for HTTP Bearer auth

    Examples

    use actix_web_httpauth::extractors::bearer::BearerAuth;
     
    @@ -23,13 +23,13 @@ App::new()
                 .scope("email photo"),
         )
         .service(web::resource("/index.html").route(web::get().to(index)));
    -

    Implementations

    Returns bearer token provided by client.

    -

    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
    Future that resolves to a Self. Read more
    The associated error which can be returned.
    Create a Self from request parts asynchronously.
    Create a Self from request head asynchronously. 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

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    Implementations§

    Returns bearer token provided by client.

    +

    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
    Future that resolves to a Self. Read more
    The associated error which can be returned.
    Create a Self from request parts asynchronously.
    Create a Self from request head asynchronously. 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

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ 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 2a1c271bf..90145e70c 100644 --- a/actix_web_httpauth/extractors/bearer/struct.Config.html +++ b/actix_web_httpauth/extractors/bearer/struct.Config.html @@ -1,17 +1,17 @@ -Config in actix_web_httpauth::extractors::bearer - Rust
    pub struct Config(_);
    Expand description

    BearerAuth extractor configuration.

    -

    Implementations

    Set challenge scope attribute.

    +Config in actix_web_httpauth::extractors::bearer - Rust
    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.

    -

    Set challenge realm attribute.

    +

    Set challenge realm attribute.

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

    -

    Trait Implementations

    Converts this type into a shared reference of the (usually inferred) input type.
    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

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    Trait Implementations§

    Converts this type into a shared reference of the (usually inferred) input type.
    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

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_web_httpauth/extractors/index.html b/actix_web_httpauth/extractors/index.html index f7f4322e0..25455f481 100644 --- a/actix_web_httpauth/extractors/index.html +++ b/actix_web_httpauth/extractors/index.html @@ -1,3 +1,3 @@ -actix_web_httpauth::extractors - Rust
    Expand description

    Type-safe authentication information extractors.

    +actix_web_httpauth::extractors - Rust
    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 for types that provides configuration for the authentication -extractors.
    \ No newline at end of file +extractors.
    \ 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 29dfb55a0..8a63c7478 100644 --- a/actix_web_httpauth/extractors/struct.AuthenticationError.html +++ b/actix_web_httpauth/extractors/struct.AuthenticationError.html @@ -1,26 +1,26 @@ -AuthenticationError in actix_web_httpauth::extractors - Rust
    pub struct AuthenticationError<C: Challenge> { /* private fields */ }
    Expand description

    Authentication error returned by authentication extractors.

    +AuthenticationError in actix_web_httpauth::extractors - Rust
    pub struct AuthenticationError<C: Challenge> { /* private fields */ }
    Expand description

    Authentication error returned by authentication extractors.

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

    -

    Implementations

    Extended error customization for HTTP Bearer auth.

    -

    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.

    -

    Attach error description to the current Authentication error.

    -

    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.

    -

    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.

    -

    Returns mutable reference to the inner challenge instance.

    -

    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

    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
    👎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
    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    Converts to this type from the input type.
    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

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    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
    👎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
    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    Converts to this type from the input type.
    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

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    🔬This is a nightly-only experimental API. (provide_any)
    Data providers should implement this method to provide all values they are able to -provide by using demand. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    🔬This is a nightly-only experimental API. (provide_any)
    Data providers should implement this method to provide all values they are able to +provide by using demand. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ 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 8adfb72b2..c8b296a89 100644 --- a/actix_web_httpauth/extractors/trait.AuthExtractorConfig.html +++ b/actix_web_httpauth/extractors/trait.AuthExtractorConfig.html @@ -1,9 +1,9 @@ -AuthExtractorConfig in actix_web_httpauth::extractors - Rust
    pub trait AuthExtractorConfig {
    +AuthExtractorConfig in actix_web_httpauth::extractors - Rust
    pub trait AuthExtractorConfig {
         type Inner: Challenge;
     
    -    fn into_inner(self) -> Self::Inner;
    +    fn into_inner(self) -> Self::Inner;
     }
    Expand description

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

    -

    Required Associated Types

    Associated challenge type.

    -

    Required Methods

    Convert the config instance into a HTTP challenge.

    -

    Implementors

    \ No newline at end of file +

    Required 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 ebd912bca..fd6ffd04e 100644 --- a/actix_web_httpauth/headers/authorization/enum.ParseError.html +++ b/actix_web_httpauth/headers/authorization/enum.ParseError.html @@ -1,4 +1,4 @@ -ParseError in actix_web_httpauth::headers::authorization - Rust
    pub enum ParseError {
    +ParseError in actix_web_httpauth::headers::authorization - Rust
    pub enum ParseError {
         Invalid,
         MissingScheme,
         MissingField(&'static str),
    @@ -8,19 +8,19 @@
     }
    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.

    -

    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

    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
    👎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
    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.

    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

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    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§

    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
    👎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
    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    Converts to this type from the input type.
    Converts to this type from the input type.
    Converts to this type from the input type.

    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

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    🔬This is a nightly-only experimental API. (provide_any)
    Data providers should implement this method to provide all values they are able to -provide by using demand. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    🔬This is a nightly-only experimental API. (provide_any)
    Data providers should implement this method to provide all values they are able to +provide by using demand. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_web_httpauth/headers/authorization/index.html b/actix_web_httpauth/headers/authorization/index.html index 2d031ca13..b1155791e 100644 --- a/actix_web_httpauth/headers/authorization/index.html +++ b/actix_web_httpauth/headers/authorization/index.html @@ -1,2 +1,2 @@ -actix_web_httpauth::headers::authorization - Rust
    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 RFC 6750.

    Enums

    Possible errors while parsing Authorization header.

    Traits

    Authentication scheme for Authorization header.
    \ No newline at end of file +actix_web_httpauth::headers::authorization - Rust
    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 RFC 6750.

    Enums

    Possible errors while parsing Authorization header.

    Traits

    Authentication scheme for Authorization header.
    \ No newline at end of file diff --git a/actix_web_httpauth/headers/authorization/struct.Authorization.html b/actix_web_httpauth/headers/authorization/struct.Authorization.html index 5502913ea..63e1f42fa 100644 --- a/actix_web_httpauth/headers/authorization/struct.Authorization.html +++ b/actix_web_httpauth/headers/authorization/struct.Authorization.html @@ -1,4 +1,4 @@ -Authorization in actix_web_httpauth::headers::authorization - Rust
    pub struct Authorization<S: Scheme>(_);
    Expand description

    Authorization header, defined in RFC 7235

    +Authorization in actix_web_httpauth::headers::authorization - Rust
    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 credentials containing the authentication information of the user agent for the @@ -10,17 +10,17 @@ realm of the resource being requested.

    Ok(format!("Hello, {}!", auth.as_ref().user_id())) }
    -

    Implementations

    Consumes Authorization header and returns inner Scheme implementation.

    -

    Trait Implementations

    Converts this type into a mutable reference of the (usually inferred) input type.
    Converts this type into a shared reference of the (usually inferred) input type.
    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
    Converts to this type from the input type.
    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 the header from a HTTP message.
    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
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    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
    The type returned in the event of a conversion error.
    Try to convert value to a HeaderValue.

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

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    Implementations§

    Consumes Authorization header and returns inner Scheme implementation.

    +

    Trait Implementations§

    Converts this type into a mutable reference of the (usually inferred) input type.
    Converts this type into a shared reference of the (usually inferred) input type.
    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
    Converts to this type from the input type.
    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 the header from a HTTP message.
    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
    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason. Read more
    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
    The type returned in the event of a conversion error.
    Try to convert value to a HeaderValue.

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

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ 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 4a028f06e..f13a0cd91 100644 --- a/actix_web_httpauth/headers/authorization/struct.Basic.html +++ b/actix_web_httpauth/headers/authorization/struct.Basic.html @@ -1,20 +1,20 @@ -Basic in actix_web_httpauth::headers::authorization - Rust
    pub struct Basic { /* private fields */ }
    Expand description

    Credentials for Basic authentication scheme, defined in RFC 7617

    -

    Implementations

    Creates Basic credentials with provided user_id and optional +Basic in actix_web_httpauth::headers::authorization - Rust

    pub struct Basic { /* private fields */ }
    Expand description

    Credentials for Basic authentication scheme, defined in RFC 7617

    +

    Implementations§

    Creates Basic credentials with provided user_id and optional password.

    Examples
    let credentials = Basic::new("Alladin", Some("open sesame"));
    -

    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
    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
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    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
    Try to parse an authentication scheme from the Authorization header.
    The type returned in the event of a conversion error.
    Try to convert value to a HeaderValue.

    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.

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    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
    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
    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason. Read more
    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
    Try to parse an authentication scheme from the Authorization header.
    The type returned in the event of a conversion error.
    Try to convert value to a HeaderValue.

    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.

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ 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 ee4425153..03f90ae3d 100644 --- a/actix_web_httpauth/headers/authorization/struct.Bearer.html +++ b/actix_web_httpauth/headers/authorization/struct.Bearer.html @@ -1,19 +1,19 @@ -Bearer in actix_web_httpauth::headers::authorization - Rust
    pub struct Bearer { /* private fields */ }
    Expand description

    Credentials for Bearer authentication scheme, defined in RFC 6750.

    +Bearer in actix_web_httpauth::headers::authorization - Rust
    pub struct Bearer { /* private fields */ }
    Expand description

    Credentials for Bearer authentication scheme, defined in RFC 6750.

    Should be used in combination with Authorization header.

    -

    Implementations

    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");
    -

    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
    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
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    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
    Try to parse an authentication scheme from the Authorization header.
    The type returned in the event of a conversion error.
    Try to convert value to a HeaderValue.

    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.

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    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
    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
    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason. Read more
    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
    Try to parse an authentication scheme from the Authorization header.
    The type returned in the event of a conversion error.
    Try to convert value to a HeaderValue.

    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.

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ 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 67a0b234b..b17328fec 100644 --- a/actix_web_httpauth/headers/authorization/trait.Scheme.html +++ b/actix_web_httpauth/headers/authorization/trait.Scheme.html @@ -1,5 +1,5 @@ -Scheme in actix_web_httpauth::headers::authorization - Rust
    pub trait Scheme: TryIntoHeaderValue + Debug + Display + Clone + Send + Sync {
    -    fn parse(header: &HeaderValue) -> Result<Self, ParseError>;
    +Scheme in actix_web_httpauth::headers::authorization - Rust
    pub trait Scheme: TryIntoHeaderValue + Debug + Display + Clone + Send + Sync {
    +    fn parse(header: &HeaderValue) -> Result<Self, ParseError>;
     }
    Expand description

    Authentication scheme for Authorization header.

    -

    Required Methods

    Try to parse an authentication scheme from the Authorization header.

    -

    Implementors

    \ No newline at end of file +

    Required Methods§

    Try to parse an 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 532c6d6d6..2e2d1269e 100644 --- a/actix_web_httpauth/headers/index.html +++ b/actix_web_httpauth/headers/index.html @@ -1,2 +1,2 @@ -actix_web_httpauth::headers - Rust
    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 +actix_web_httpauth::headers - Rust
    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 35b527be7..79b6bfef1 100644 --- a/actix_web_httpauth/headers/www_authenticate/basic/index.html +++ b/actix_web_httpauth/headers/www_authenticate/basic/index.html @@ -1,3 +1,3 @@ -actix_web_httpauth::headers::www_authenticate::basic - Rust
    Expand description

    Challenge for the “Basic” HTTP Authentication Scheme.

    +actix_web_httpauth::headers::www_authenticate::basic - Rust
    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 +described in RFC 7617
    \ 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 ebfec1fd8..5b1689afd 100644 --- a/actix_web_httpauth/headers/www_authenticate/basic/struct.Basic.html +++ b/actix_web_httpauth/headers/www_authenticate/basic/struct.Basic.html @@ -1,4 +1,4 @@ -Basic in actix_web_httpauth::headers::www_authenticate::basic - Rust
    pub struct Basic { /* private fields */ }
    Expand description

    Challenge for WWW-Authenticate header with HTTP Basic auth scheme, +Basic in actix_web_httpauth::headers::www_authenticate::basic - Rust

    pub struct Basic { /* private fields */ }
    Expand description

    Challenge for WWW-Authenticate header with HTTP Basic auth scheme, described in RFC 7617

    Examples

    use actix_web_httpauth::headers::www_authenticate::basic::Basic;
    @@ -11,25 +11,25 @@ described in RFC 7617

    .insert_header(WwwAuthenticate(challenge)) .finish() }
    -

    Implementations

    Creates new Basic challenge with an empty realm field.

    +

    Implementations§

    Creates new Basic challenge with an empty realm field.

    Examples
    let challenge = Basic::new();
    -

    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");
    let my_realm = "Earth realm".to_string();
     let challenge = Basic::with_realm(my_realm);
    -

    Trait Implementations

    Converts this type into a shared reference of the (usually inferred) input type.
    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
    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
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    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
    The type returned in the event of a conversion error.
    Try to convert value to a HeaderValue.

    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.

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    Trait Implementations§

    Converts this type into a shared reference of the (usually inferred) input type.
    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
    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
    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason. Read more
    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
    The type returned in the event of a conversion error.
    Try to convert value to a HeaderValue.

    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.

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ 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 71ff3bc13..8f94ae7d9 100644 --- a/actix_web_httpauth/headers/www_authenticate/bearer/enum.Error.html +++ b/actix_web_httpauth/headers/www_authenticate/bearer/enum.Error.html @@ -1,24 +1,24 @@ -Error in actix_web_httpauth::headers::www_authenticate::bearer - Rust
    pub enum Error {
    +Error in actix_web_httpauth::headers::www_authenticate::bearer - Rust
    pub enum Error {
         InvalidRequest,
         InvalidToken,
         InsufficientScope,
     }
    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 +

    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.

    -

    InvalidToken

    The access token provided is expired, revoked, malformed, or invalid for other reasons.

    -

    InsufficientScope

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

    -

    Implementations

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

    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.

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +
    §

    InvalidToken

    The access token provided is expired, revoked, malformed, or invalid for other reasons.

    +
    §

    InsufficientScope

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

    +

    Implementations§

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

    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.

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ 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 093026838..7d73f3913 100644 --- a/actix_web_httpauth/headers/www_authenticate/bearer/index.html +++ b/actix_web_httpauth/headers/www_authenticate/bearer/index.html @@ -1,2 +1,2 @@ -actix_web_httpauth::headers::www_authenticate::bearer - Rust
    Expand description

    Challenge for the “Bearer” HTTP Authentication Scheme.

    -

    Structs

    Challenge for WWW-Authenticate header with HTTP Bearer auth scheme, described in RFC 6750.
    Builder for the Bearer challenge.

    Enums

    Bearer authorization error types, described in RFC 6750.
    \ No newline at end of file +actix_web_httpauth::headers::www_authenticate::bearer - Rust
    Expand description

    Challenge for the “Bearer” HTTP Authentication Scheme.

    +

    Structs

    Challenge for WWW-Authenticate header with HTTP Bearer auth scheme, described in RFC 6750.
    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 3f2b72a81..df0175e90 100644 --- a/actix_web_httpauth/headers/www_authenticate/bearer/struct.Bearer.html +++ b/actix_web_httpauth/headers/www_authenticate/bearer/struct.Bearer.html @@ -1,4 +1,4 @@ -Bearer in actix_web_httpauth::headers::www_authenticate::bearer - Rust
    pub struct Bearer { /* private fields */ }
    Expand description

    Challenge for WWW-Authenticate header with HTTP Bearer auth scheme, described in RFC 6750.

    +Bearer in actix_web_httpauth::headers::www_authenticate::bearer - Rust
    pub struct Bearer { /* private fields */ }
    Expand description

    Challenge for WWW-Authenticate header with HTTP Bearer auth scheme, described in RFC 6750.

    Examples

    use actix_web_httpauth::headers::www_authenticate::bearer::{
         Bearer, Error,
    @@ -18,22 +18,22 @@
             .insert_header(WwwAuthenticate(challenge))
             .finish()
     }
    -

    Implementations

    Creates the builder for Bearer challenge.

    +

    Implementations§

    Creates the builder for Bearer challenge.

    Examples
    let challenge = Bearer::build()
         .realm("Restricted area")
         .scope("openid profile email")
         .finish();
    -

    Trait Implementations

    Converts this type into a shared reference of the (usually inferred) input type.
    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
    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
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    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
    The type returned in the event of a conversion error.
    Try to convert value to a HeaderValue.

    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.

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    Trait Implementations§

    Converts this type into a shared reference of the (usually inferred) input type.
    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
    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
    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason. Read more
    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
    The type returned in the event of a conversion error.
    Try to convert value to a HeaderValue.

    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.

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ 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 d4ff6061b..66d38a11a 100644 --- a/actix_web_httpauth/headers/www_authenticate/bearer/struct.BearerBuilder.html +++ b/actix_web_httpauth/headers/www_authenticate/bearer/struct.BearerBuilder.html @@ -1,20 +1,20 @@ -BearerBuilder in actix_web_httpauth::headers::www_authenticate::bearer - Rust
    pub struct BearerBuilder(_);
    Expand description

    Builder for the Bearer challenge.

    +BearerBuilder in actix_web_httpauth::headers::www_authenticate::bearer - Rust
    pub struct BearerBuilder(_);
    Expand description

    Builder for the Bearer challenge.

    It is up to implementor to fill all required fields, neither this Builder nor Bearer provide any validation.

    -

    Implementations

    Provides the scope attribute, as defined in RFC 6749 §3.3.

    -

    Provides the realm attribute, as defined in RFC 2617.

    -

    Provides the error attribute, as defined in [RFC 6750, Section 3.1].

    -

    Provides the error_description attribute, as defined in [RFC 6750, Section 3].

    -

    Provides the error_uri attribute, as defined in [RFC 6750 §3].

    +

    Implementations§

    Provides the scope attribute, as defined in RFC 6749 §3.3.

    +

    Provides the realm attribute, as defined in RFC 2617.

    +

    Provides the error attribute, as defined in [RFC 6750, Section 3.1].

    +

    Provides the error_description attribute, as defined in [RFC 6750, Section 3].

    +

    Provides the error_uri attribute, as defined in [RFC 6750 §3].

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

    RFC 6750 §3

    -

    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

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    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

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/actix_web_httpauth/headers/www_authenticate/index.html b/actix_web_httpauth/headers/www_authenticate/index.html index 05a657060..f2ca0f553 100644 --- a/actix_web_httpauth/headers/www_authenticate/index.html +++ b/actix_web_httpauth/headers/www_authenticate/index.html @@ -1,2 +1,2 @@ -actix_web_httpauth::headers::www_authenticate - Rust
    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 +actix_web_httpauth::headers::www_authenticate - Rust
    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 880a57d35..cb396a924 100644 --- a/actix_web_httpauth/headers/www_authenticate/struct.WwwAuthenticate.html +++ b/actix_web_httpauth/headers/www_authenticate/struct.WwwAuthenticate.html @@ -1,16 +1,16 @@ -WwwAuthenticate in actix_web_httpauth::headers::www_authenticate - Rust
    pub struct WwwAuthenticate<C: Challenge>(pub C);
    Expand description

    WWW-Authenticate header, described in RFC 7235.

    +WwwAuthenticate in actix_web_httpauth::headers::www_authenticate - Rust
    pub struct WwwAuthenticate<C: Challenge>(pub C);
    Expand description

    WWW-Authenticate header, described in RFC 7235.

    This header is generic over the Challenge trait, see Basic and Bearer challenges for details.

    -

    Tuple Fields

    0: C

    Trait Implementations

    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 the header from a HTTP message.
    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
    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason. Read more
    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
    The type returned in the event of a conversion error.
    Try to convert value to a HeaderValue.

    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.

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    Tuple Fields§

    §0: C

    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 the header from a HTTP message.
    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
    This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason. Read more
    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
    The type returned in the event of a conversion error.
    Try to convert value to a HeaderValue.

    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.

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ 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 d386751f1..368b2d5c4 100644 --- a/actix_web_httpauth/headers/www_authenticate/trait.Challenge.html +++ b/actix_web_httpauth/headers/www_authenticate/trait.Challenge.html @@ -1,5 +1,5 @@ -Challenge in actix_web_httpauth::headers::www_authenticate - Rust
    pub trait Challenge: TryIntoHeaderValue + Debug + Display + Clone + Send + Sync {
    -    fn to_bytes(&self) -> Bytes;
    +Challenge in actix_web_httpauth::headers::www_authenticate - Rust
    pub trait Challenge: TryIntoHeaderValue + Debug + Display + Clone + Send + Sync {
    +    fn to_bytes(&self) -> Bytes;
     }
    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 +

    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 98d86c7d5..f3577dd65 100644 --- a/actix_web_httpauth/index.html +++ b/actix_web_httpauth/index.html @@ -1,4 +1,4 @@ -actix_web_httpauth - Rust
    Expand description

    HTTP authentication schemes for Actix Web.

    +actix_web_httpauth - Rust
    Expand description

    HTTP authentication schemes for Actix Web.

    Provides:

    -

    Modules

    Type-safe authentication information extractors.
    Typed HTTP headers.
    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 173e6457c..16a3c5619 100644 --- a/actix_web_httpauth/middleware/index.html +++ b/actix_web_httpauth/middleware/index.html @@ -1,2 +1,2 @@ -actix_web_httpauth::middleware - Rust
    Expand description

    HTTP Authentication middleware.

    -

    Structs

    Middleware for checking HTTP authentication.
    \ No newline at end of file +actix_web_httpauth::middleware - Rust
    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 f220678f1..918598ebc 100644 --- a/actix_web_httpauth/middleware/struct.HttpAuthentication.html +++ b/actix_web_httpauth/middleware/struct.HttpAuthentication.html @@ -1,11 +1,11 @@ -HttpAuthentication in actix_web_httpauth::middleware - Rust
    pub struct HttpAuthentication<T, F>where
        T: FromRequest,
    { /* private fields */ }
    Expand description

    Middleware for checking HTTP authentication.

    +HttpAuthentication in actix_web_httpauth::middleware - Rust
    pub struct HttpAuthentication<T, F>where
        T: FromRequest,
    { /* private fields */ }
    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

    Construct HttpAuthentication middleware with the provided auth extractor T and +

    Implementations§

    Construct HttpAuthentication middleware with the provided auth extractor T and validation callback F.

    -

    Construct HttpAuthentication middleware for the HTTP “Basic” authentication scheme.

    +

    Construct HttpAuthentication middleware for the HTTP “Basic” authentication scheme.

    Examples
    // In this example validator returns immediately, but since it is required to return
     // anything that implements `IntoFuture` trait, it can be extended to query database or to
    @@ -19,7 +19,7 @@ validation callback F.

    } let middleware = HttpAuthentication::basic(validator);
    -

    Construct HttpAuthentication middleware for the HTTP “Bearer” authentication scheme.

    +

    Construct HttpAuthentication middleware for the HTTP “Bearer” authentication scheme.

    Examples
    async fn validator(
         req: ServiceRequest,
    @@ -38,12 +38,12 @@ validation callback F.

    } let middleware = HttpAuthentication::bearer(validator);
    -

    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

    Returns the argument unchanged.

    -
    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

    Calls U::from(self).

    +

    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

    Returns the argument unchanged.

    +
    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

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a -WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a -WithDispatch wrapper. Read more
    \ No newline at end of file +
    Should always be Self
    The resulting type after obtaining ownership.
    Creates owned data from borrowed data, usually by cloning. Read more
    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.
    Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
    Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
    \ No newline at end of file diff --git a/help.html b/help.html index 84b29d14b..aa710ac09 100644 --- a/help.html +++ b/help.html @@ -1,2 +1 @@ -Rustdoc help

    Rustdoc help

    Back
    \ No newline at end of file +Rustdoc help

    Rustdoc help

    Back
    \ No newline at end of file diff --git a/implementors/actix_web/extract/trait.FromRequest.js b/implementors/actix_web/extract/trait.FromRequest.js index c202cc4dd..590f1a61d 100644 --- a/implementors/actix_web/extract/trait.FromRequest.js +++ b/implementors/actix_web/extract/trait.FromRequest.js @@ -1,6 +1,6 @@ (function() {var implementors = { "actix_identity":[["impl FromRequest for Identity"]], -"actix_protobuf":[["impl<T> FromRequest for ProtoBuf<T>where
        T: Message + Default + 'static,
    "]], +"actix_protobuf":[["impl<T> FromRequest for ProtoBuf<T>where
        T: Message + Default + 'static,
    "]], "actix_session":[["impl FromRequest for Session"]], "actix_web_httpauth":[["impl FromRequest for BasicAuth"],["impl FromRequest for BearerAuth"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/actix_web/response/responder/trait.Responder.js b/implementors/actix_web/response/responder/trait.Responder.js index eab7ed284..41838b25b 100644 --- a/implementors/actix_web/response/responder/trait.Responder.js +++ b/implementors/actix_web/response/responder/trait.Responder.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"actix_protobuf":[["impl<T: Message + Default> Responder for ProtoBuf<T>"]] +"actix_protobuf":[["impl<T: Message + Default> Responder for ProtoBuf<T>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/convert/trait.From.js b/implementors/core/convert/trait.From.js index cc199f1d4..e682b26fb 100644 --- a/implementors/core/convert/trait.From.js +++ b/implementors/core/convert/trait.From.js @@ -1,6 +1,6 @@ (function() {var implementors = { "actix_limitation":[["impl From<ComponentRange> for Error"],["impl From<RedisError> for Error"]], -"actix_protobuf":[["impl From<PayloadError> for ProtoBufPayloadError"],["impl From<DecodeError> for ProtoBufPayloadError"]], +"actix_protobuf":[["impl From<PayloadError> for ProtoBufPayloadError"],["impl From<DecodeError> for ProtoBufPayloadError"]], "actix_redis":[["impl From<Error> for Error"]], "actix_session":[["impl From<PersistentSession> for SessionLifecycle"],["impl From<BrowserSession> for SessionLifecycle"],["impl From<Error> for SessionGetError"],["impl From<Error> for SessionInsertError"],["impl From<SessionKey> for String"]], "actix_settings":[["impl From<Error> for Error"],["impl From<IoError> for Error"],["impl From<ParseBoolError> for Error"],["impl From<ParseIntError> for Error"],["impl From<Error> for Error"],["impl From<VarError> for Error"],["impl From<Error> for Error"]], diff --git a/implementors/core/fmt/trait.Debug.js b/implementors/core/fmt/trait.Debug.js index ecc1b7a5c..5b0d8fdff 100644 --- a/implementors/core/fmt/trait.Debug.js +++ b/implementors/core/fmt/trait.Debug.js @@ -2,7 +2,7 @@ "actix_cors":[["impl Debug for Cors"],["impl Debug for CorsError"]], "actix_identity":[["impl Debug for LogoutBehaviour"],["impl Debug for IdentityMiddlewareBuilder"]], "actix_limitation":[["impl Debug for Builder"],["impl Debug for Error"],["impl Debug for RateLimiter"],["impl Debug for Status"],["impl Debug for Limiter"]], -"actix_protobuf":[["impl Debug for ProtoBufPayloadError"],["impl<T: Message> Debug for ProtoBuf<T>where
        T: Debug,
    "]], +"actix_protobuf":[["impl Debug for ProtoBufPayloadError"],["impl<T: Message> Debug for ProtoBuf<T>where
        T: Debug,
    "]], "actix_redis":[["impl Debug for Command"],["impl Debug for Error"]], "actix_session":[["impl Debug for SessionLifecycle"],["impl Debug for BrowserSession"],["impl Debug for PersistentSession"],["impl Debug for TtlExtensionPolicy"],["impl Debug for CookieContentSecurity"],["impl Debug for SessionStatus"],["impl Debug for SessionGetError"],["impl Debug for SessionInsertError"],["impl Debug for LoadError"],["impl Debug for SaveError"],["impl Debug for UpdateError"],["impl Debug for SessionKey"]], "actix_settings":[["impl Debug for Error"],["impl Debug for Address"],["impl Debug for Backlog"],["impl Debug for KeepAlive"],["impl Debug for MaxConnectionRate"],["impl Debug for MaxConnections"],["impl Debug for Mode"],["impl Debug for NumWorkers"],["impl Debug for Timeout"],["impl Debug for Tls"],["impl Debug for ActixSettings"],["impl<A: Debug> Debug for BasicSettings<A>"],["impl Debug for NoSettings"]], diff --git a/implementors/core/fmt/trait.Display.js b/implementors/core/fmt/trait.Display.js index bc58d44dd..aaf81cda9 100644 --- a/implementors/core/fmt/trait.Display.js +++ b/implementors/core/fmt/trait.Display.js @@ -1,7 +1,7 @@ (function() {var implementors = { "actix_cors":[["impl Display for CorsError"]], "actix_limitation":[["impl Display for Error"]], -"actix_protobuf":[["impl Display for ProtoBufPayloadError"],["impl<T: Message> Display for ProtoBuf<T>where
        T: Display,
    "]], +"actix_protobuf":[["impl Display for ProtoBufPayloadError"],["impl<T: Message> Display for ProtoBuf<T>where
        T: Display,
    "]], "actix_redis":[["impl Display for Error"]], "actix_session":[["impl Display for SessionGetError"],["impl Display for SessionInsertError"],["impl Display for LoadError"],["impl Display for SaveError"],["impl Display for UpdateError"]], "actix_web_httpauth":[["impl<C: Challenge> Display for AuthenticationError<C>"],["impl Display for ParseError"],["impl<S: Scheme> Display for Authorization<S>"],["impl Display for Basic"],["impl Display for Bearer"],["impl Display for Basic"],["impl Display for Bearer"],["impl Display for Error"]] diff --git a/implementors/core/future/future/trait.Future.js b/implementors/core/future/future/trait.Future.js index 81a93b6d6..83a7b62b8 100644 --- a/implementors/core/future/future/trait.Future.js +++ b/implementors/core/future/future/trait.Future.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"actix_protobuf":[["impl<T: Message + Default + 'static> Future for ProtoBufMessage<T>"]] +"actix_protobuf":[["impl<T: Message + Default + 'static> Future for ProtoBufMessage<T>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/ops/deref/trait.Deref.js b/implementors/core/ops/deref/trait.Deref.js index 2b0308368..2dc2bbd7d 100644 --- a/implementors/core/ops/deref/trait.Deref.js +++ b/implementors/core/ops/deref/trait.Deref.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"actix_protobuf":[["impl<T: Message> Deref for ProtoBuf<T>"]] +"actix_protobuf":[["impl<T: Message> Deref for ProtoBuf<T>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/ops/deref/trait.DerefMut.js b/implementors/core/ops/deref/trait.DerefMut.js index c06823257..3f45d390c 100644 --- a/implementors/core/ops/deref/trait.DerefMut.js +++ b/implementors/core/ops/deref/trait.DerefMut.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"actix_protobuf":[["impl<T: Message> DerefMut for ProtoBuf<T>"]] +"actix_protobuf":[["impl<T: Message> DerefMut for ProtoBuf<T>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/serde/de/trait.Deserialize.js b/implementors/serde/de/trait.Deserialize.js index 220e14b43..a8e273417 100644 --- a/implementors/serde/de/trait.Deserialize.js +++ b/implementors/serde/de/trait.Deserialize.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"actix_settings":[["impl<'de> Deserialize<'de> for Address"],["impl<'de> Deserialize<'de> for Backlog"],["impl<'de> Deserialize<'de> for KeepAlive"],["impl<'de> Deserialize<'de> for MaxConnectionRate"],["impl<'de> Deserialize<'de> for MaxConnections"],["impl<'de> Deserialize<'de> for Mode"],["impl<'de> Deserialize<'de> for NumWorkers"],["impl<'de> Deserialize<'de> for Timeout"],["impl<'de> Deserialize<'de> for Tls"],["impl<'de> Deserialize<'de> for ActixSettings"],["impl<'de, A> Deserialize<'de> for BasicSettings<A>where
        A: Deserialize<'de>,
    "],["impl<'de> Deserialize<'de> for NoSettings"]] +"actix_settings":[["impl<'de> Deserialize<'de> for Address"],["impl<'de> Deserialize<'de> for Backlog"],["impl<'de> Deserialize<'de> for KeepAlive"],["impl<'de> Deserialize<'de> for MaxConnectionRate"],["impl<'de> Deserialize<'de> for MaxConnections"],["impl<'de> Deserialize<'de> for Mode"],["impl<'de> Deserialize<'de> for NumWorkers"],["impl<'de> Deserialize<'de> for Timeout"],["impl<'de> Deserialize<'de> for Tls"],["impl<'de> Deserialize<'de> for ActixSettings"],["impl<'de, A> Deserialize<'de> for BasicSettings<A>where
        A: Deserialize<'de>,
    "],["impl<'de> Deserialize<'de> for NoSettings"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/search-index.js b/search-index.js index dcb1443f6..4a26fb54e 100644 --- a/search-index.js +++ b/search-index.js @@ -1,12 +1,12 @@ 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,11,11,11],"n":["BadRequestHeaders","BadRequestMethod","Cors","CorsError","HeadersNotAllowed","MethodNotAllowed","MissingOrigin","MissingRequestMethod","OriginNotAllowed","WildcardOrigin","allow_any_header","allow_any_method","allow_any_origin","allow_private_network_access","allowed_header","allowed_headers","allowed_methods","allowed_origin","allowed_origin_fn","block_on_origin_mismatch","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","default","disable_preflight","disable_vary_header","error_response","expose_any_header","expose_headers","fmt","fmt","fmt","from","from","into","into","max_age","new_transform","permissive","provide","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 …","Allow private network access.","Add an allowed request header.","Set a list of request header field names which can be used …","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 …","Configures whether requests should be pre-emptively …","","","","","","","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 all …","Set a list of headers which are safe to expose to the API …","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","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":[4,4,0,0,4,4,4,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,1,4,4,4,1,1,1,4,1,1,1,4,4,1,4,1,4,1,1,1,4,1,4,1,4,4,1,4,1,4,1,4,1,4],"f":[0,0,0,0,0,0,0,0,0,0,[1,1],[1,1],[1,1],[1,1],[1,1],[1,1],[1,1],[[1,2],1],[1,1],[[1,3],1],[[]],[[]],[[]],[[]],[4,4],[[]],[[],1],[1,1],[1,1],[4,5],[1,1],[1,1],[[1,6],7],[[4,6],7],[[4,6],7],[[]],[[]],[[]],[[]],[[1,[10,[[9,[8]]]]],1],[1],[[],1],[11],[1,1],[4,12],[1,1],[[]],[[],13],[[],14],[[],14],[[],14],[[],14],[[],15],[[],15],[[]],[[]]],"p":[[3,"Cors"],[15,"str"],[15,"bool"],[4,"CorsError"],[3,"HttpResponse"],[3,"Formatter"],[6,"Result"],[15,"usize"],[4,"Option"],[8,"Into"],[3,"Demand"],[3,"StatusCode"],[3,"String"],[4,"Result"],[3,"TypeId"]]},\ "actix_identity":{"doc":"Identity management for Actix Web.","t":[3,8,3,11,11,11,11,11,11,11,0,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,13,3,4,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],"n":["Identity","IdentityExt","IdentityMiddleware","borrow","borrow","borrow_mut","borrow_mut","builder","clone","clone_into","config","default","from","from","from_request","get_identity","id","into","into","login","logout","new_transform","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","DeleteIdentityKeys","IdentityMiddlewareBuilder","LogoutBehaviour","PurgeSession","borrow","borrow","borrow_mut","borrow_mut","build","clone","clone","clone_into","clone_into","fmt","fmt","from","from","into","into","login_deadline","logout_behaviour","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","visit_deadline","vzip","vzip"],"q":["actix_identity","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","actix_identity::config","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["A verified user identity. It can be used as a request …","Helper trait to retrieve an Identity instance from various …","Identity management middleware.","","","","","A fluent API to configure IdentityMiddleware.","","","Configuration options to tune the behaviour of …","","Returns the argument unchanged.","Returns the argument unchanged.","","Retrieve the identity attached to the current session, if …","Return the user id associated to the current session.","Calls U::from(self).","Calls U::from(self).","Attach a valid user identity to the current session.","Remove the user identity from the current session.","","","","","","","","","","","When Identity::logout is called, remove the identity …","A fluent builder to construct an IdentityMiddleware …","LogoutBehaviour controls what actions are going to be …","When Identity::logout is called, purge the current session.","","","","","Finalises the builder and returns an IdentityMiddleware …","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Automatically logs out users after a certain amount of …","Determines how Identity::logout affects the current …","","","","","","","","","Automatically logs out users after a certain amount of …","",""],"i":[0,0,0,5,2,5,2,2,2,2,0,2,5,2,5,16,5,5,2,5,5,2,2,5,2,5,2,5,2,5,2,11,0,0,11,11,1,11,1,1,11,1,11,1,11,1,11,1,11,1,1,1,11,1,11,1,11,1,11,1,1,11,1],"f":[0,0,0,[[]],[[]],[[]],[[]],[[],1],[2,2],[[]],0,[[],2],[[]],[[]],[[3,4]],[[],[[7,[5,6]]]],[5,[[7,[8,6]]]],[[]],[[]],[[9,8],[[7,[5,6]]]],[5],[2],[[]],[[],7],[[],7],[[],7],[[],7],[[],10],[[],10],[[]],[[]],0,0,0,0,[[]],[[]],[[]],[[]],[1,2],[11,11],[1,1],[[]],[[]],[[11,12],13],[[1,12],13],[[]],[[]],[[]],[[]],[[1,[15,[14]]],1],[[1,11],1],[[]],[[]],[[],7],[[],7],[[],7],[[],7],[[],10],[[],10],[[1,[15,[14]]],1],[[]],[[]]],"p":[[3,"IdentityMiddlewareBuilder"],[3,"IdentityMiddleware"],[3,"HttpRequest"],[4,"Payload"],[3,"Identity"],[3,"Error"],[4,"Result"],[3,"String"],[3,"Extensions"],[3,"TypeId"],[4,"LogoutBehaviour"],[3,"Formatter"],[6,"Result"],[3,"Duration"],[4,"Option"],[8,"IdentityExt"]]},\ -"actix_limitation":{"doc":"Rate limiter using a fixed window counter for arbitrary …","t":[3,13,17,17,17,17,4,13,3,13,3,3,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],"n":["Builder","Client","DEFAULT_COOKIE_NAME","DEFAULT_PERIOD_SECS","DEFAULT_REQUEST_LIMIT","DEFAULT_SESSION_KEY","Error","LimitExceeded","Limiter","Other","RateLimiter","Status","Time","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","builder","clone","clone","clone_into","clone_into","cookie_name","count","default","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","into","into","into","into","into","key_by","limit","limit","new_transform","period","provide","remaining","reset_epoch_utc","session_key","source","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip"],"q":["actix_limitation","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["Rate limiter builder.","Redis client failed to connect or run a query.","Default cookie name.","Default period (in seconds).","Default request limit.","Default session key.","Failure modes of the rate limiter.","Limit is exceeded for a key.","Rate limiter.","Generic error.","Rate limit middleware.","A report for a given key containing the limit status.","Time conversion failed.","","","","","","","","","","","Finalizes and returns a Limiter.","Construct rate limiter builder with defaults.","","","","","Sets name of cookie to be sent.","Consumes one rate limit unit, returning the status.","","","","","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Sets rate limit key derivation function.","Set upper limit.","Returns the maximum number of requests allowed in the …","","Set limit window/period.","","Returns how many requests are left in the current period.","Returns a UNIX timestamp in UTC approximately when the …","Sets session key to be used in backend.","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[0,3,0,0,0,0,0,3,0,3,0,0,3,1,3,10,7,2,1,3,10,7,2,1,2,7,2,7,2,1,2,10,1,3,3,10,7,2,1,3,3,3,10,7,2,1,3,10,7,2,1,1,7,10,1,3,7,7,1,3,7,2,3,1,3,10,7,2,1,3,10,7,2,1,3,10,7,2,1,3,10,7,2],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[1,[[4,[2,3]]]],[[[6,[5]]],1],[7,7],[2,2],[[]],[[]],[[1,[6,[[9,[8]]]]],1],[[2,[6,[5]]],[[4,[7,3]]]],[[],10],[[1,11],12],[[3,11],12],[[3,11],12],[[10,11],12],[[7,11],12],[[2,11],12],[[]],[13,3],[14,3],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[1,1],[[1,15],1],[7,15],[10],[[1,16],1],[17],[7,15],[7,15],[[1,[6,[[9,[8]]]]],1],[3,[[19,[18]]]],[[]],[[]],[[],5],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],20],[[],20],[[],20],[[],20],[[],20],[[]],[[]],[[]],[[]],[[]]],"p":[[3,"Builder"],[3,"Limiter"],[4,"Error"],[4,"Result"],[3,"String"],[8,"Into"],[3,"Status"],[15,"str"],[4,"Cow"],[3,"RateLimiter"],[3,"Formatter"],[6,"Result"],[3,"ComponentRange"],[3,"RedisError"],[15,"usize"],[3,"Duration"],[3,"Demand"],[8,"Error"],[4,"Option"],[3,"TypeId"]]},\ -"actix_protobuf":{"doc":"Protobuf payload extractor for Actix Web.","t":[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,11],"n":["ContentType","Deserialize","Overflow","Payload","ProtoBuf","ProtoBufConfig","ProtoBufMessage","ProtoBufPayloadError","ProtoBufResponseBuilder","Serialize","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","default","deref","deref_mut","error_response","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from_request","into","into","into","into","into_future","limit","limit","new","poll","protobuf","resource_path","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","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","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":[4,4,4,4,0,0,0,0,0,4,3,1,14,4,3,1,14,4,1,3,3,4,3,3,4,4,3,1,14,4,4,4,3,3,1,14,4,14,1,14,14,14,23,3,3,3,4,3,1,14,4,3,1,14,4,14,3,1,14,4,3,1,14,4],"f":[0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[[3,[2]]]],[[[3,[2]]]],[4,5],[[[3,[2]],6],7],[[[3,[2]],6],7],[[4,6],7],[[4,6],7],[[]],[[]],[[]],[8,4],[[]],[9,4],[[10,11]],[[]],[[]],[[]],[[]],[[]],[[1,12],1],[[[14,[[0,[2,13]]]],12],[[14,[[0,[2,13]]]]]],[[10,11],[[14,[[0,[2,13]]]]]],[[[15,[[14,[[0,[2,13]]]]]],16],17],[2,[[19,[5,18]]]],[[],20],[[[3,[[0,[2,13]]]],10],5],[[],21],[[],21],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[15,16],17],[[],22],[[],22],[[],22],[[],22],[[]],[[]],[[]],[[]]],"p":[[3,"ProtoBufConfig"],[8,"Message"],[3,"ProtoBuf"],[4,"ProtoBufPayloadError"],[3,"HttpResponse"],[3,"Formatter"],[6,"Result"],[4,"PayloadError"],[3,"DecodeError"],[3,"HttpRequest"],[4,"Payload"],[15,"usize"],[8,"Default"],[3,"ProtoBufMessage"],[3,"Pin"],[3,"Context"],[4,"Poll"],[3,"Error"],[4,"Result"],[3,"Path"],[3,"String"],[3,"TypeId"],[8,"ProtoBufResponseBuilder"]]},\ -"actix_redis":{"doc":"Redis integration for actix.","t":[13,13,3,13,13,4,13,13,13,13,13,13,13,3,13,13,4,4,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,14,11,11,11,11,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":["Array","BulkString","Command","Connection","Disconnected","Error","Error","IO","Integer","Internal","Nil","NotConnected","Redis","RedisActor","Remote","Resp","RespError","RespValue","SimpleString","Unexpected","append","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","eq","equivalent","error","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_resp_int","handle","handle","into","into","into","into","into","provide","provide","push","resp_array","restarting","source","source","start","started","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip"],"q":["actix_redis","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["Zero, one or more other RespValues.","A bulk string. In Redis terminology a string is a …","Command for sending data to Redis.","Error creating a connection, or an error with a connection …","Cancel all waiters when connection is 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 …","","Receiving message during reconnecting.","","Redis communication actor.","A remote error","A RESP parsing/serialising error occurred","","A single RESP value, this owns the data that is read/to-be …","","An unexpected error. In this context “unexpected” …","Convenience function for building dynamic Redis commands …","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","Returns the argument unchanged.","","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","Push item to Resp array","Macro to create a RESP array, useful for preparing …","","","","Start new Supervisor with RedisActor.","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[1,1,0,13,10,0,1,13,1,13,1,10,10,0,13,13,0,0,1,13,1,4,7,10,1,13,4,7,10,1,13,1,1,1,1,4,7,10,10,1,13,13,4,7,10,10,1,1,1,1,1,1,1,1,13,13,13,1,4,4,4,7,10,1,13,10,13,1,0,4,10,13,4,4,1,10,13,4,7,10,1,13,4,7,10,1,13,4,7,10,1,13,4,7,10,1,13],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[1,2],1],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[1,1],[[]],[[1,1],3],[[],3],[[4,5],6],[[7,8],9],[[10,8],9],[[10,8],9],[[1,8],[[12,[11]]]],[[13,8],[[12,[11]]]],[[13,8],[[12,[11]]]],[[]],[[]],[13,10],[[]],[14,1],[[[16,[15]]],1],[17,1],[[[20,[18,19]]],1],[[]],[15,1],[[],1],[17,1],[5,13],[21,13],[[]],[1,[[12,[1,13]]]],[[4,[12,[1,13]]]],[[4,7]],[[]],[[]],[[]],[[]],[[]],[22],[22],[1],0,[4],[10,[[24,[23]]]],[13,[[24,[23]]]],[[[25,[17]]],[[26,[4]]]],[[4,27]],[[]],[[],17],[[],17],[[],12],[[],12],[[],12],[[],12],[[],12],[[],12],[[],12],[[],12],[[],12],[[],12],[[],28],[[],28],[[],28],[[],28],[[],28],[[]],[[]],[[]],[[]],[[]]],"p":[[4,"RespValue"],[8,"IntoIterator"],[15,"bool"],[3,"RedisActor"],[3,"Error"],[4,"Running"],[3,"Command"],[3,"Formatter"],[6,"Result"],[4,"Error"],[3,"Error"],[4,"Result"],[4,"RespError"],[15,"usize"],[15,"str"],[3,"Arc"],[3,"String"],[15,"u8"],[3,"Global"],[3,"Vec"],[3,"TrySendError"],[3,"Demand"],[8,"Error"],[4,"Option"],[8,"Into"],[3,"Addr"],[3,"Context"],[3,"TypeId"]]},\ -"actix_session":{"doc":"Session management for Actix Web.","t":[13,13,13,3,8,3,3,3,4,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,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,0,11,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,13,4,13,13,3,13,13,4,3,13,4,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,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,13,4,13,13,13,3,3,3,3,4,13,13,3,8,4,11,11,11,11,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,10,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,11,10,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11],"n":["Changed","Purged","Renewed","Session","SessionExt","SessionGetError","SessionInsertError","SessionMiddleware","SessionStatus","Unchanged","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","builder","clear","clone","clone","clone","clone_into","clone_into","clone_into","config","default","entries","eq","equivalent","error_response","error_response","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from_request","get","get_session","insert","into","into","into","into","into","new","new_transform","provide","provide","purge","remove","remove_as","renew","source","source","status","storage","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","BrowserSession","BrowserSession","CookieContentSecurity","OnEveryRequest","OnStateChanges","PersistentSession","PersistentSession","Private","SessionLifecycle","SessionMiddlewareBuilder","Signed","TtlExtensionPolicy","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cookie_content_security","cookie_domain","cookie_http_only","cookie_name","cookie_path","cookie_same_site","cookie_secure","default","default","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","into","into","into","into","into","into","session_lifecycle","session_ttl","session_ttl_extension_policy","state_ttl","state_ttl_extension_policy","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","CookieSessionStore","Deserialization","LoadError","Other","Other","Other","RedisActorSessionStore","RedisActorSessionStoreBuilder","RedisSessionStore","RedisSessionStoreBuilder","SaveError","Serialization","Serialization","SessionKey","SessionStore","UpdateError","as_ref","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","build","builder","builder","cache_keygen","cache_keygen","clone","clone_into","default","delete","delete","delete","delete","eq","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","into","into","into","into","into","into","into","into","into","load","load","load","load","new","new","provide","provide","provide","save","save","save","save","source","source","source","to_owned","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update","update","update","update","update_ttl","update_ttl","update_ttl","update_ttl","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip"],"q":["actix_session","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","actix_session::config","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","actix_session::storage","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["Session state has been updated - the changes will have to …","The session has been flagged for deletion - the session …","The session has been flagged for renewal.","The primary interface to access and modify session state.","Extract a Session object from various actix-web types …","Error returned by Session::get.","Error returned by Session::insert.","A middleware for session management in Actix Web …","Status of a Session.","The session state has not been modified since its …","","","","","","","","","","","A fluent API to configure SessionMiddleware.","Clear the session.","","","","","","","Configuration options to tune the behaviour of …","","Get all raw key-value data from the session.","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Get a value from the session.","Extract a Session object.","Inserts a key-value pair into the session.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Use SessionMiddleware::new to initialize the session …","","","","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 …","","","Returns session status.","Pluggable storage backends for session state.","","","","","","","","","","","","","","","","","","","","","","","","","","A session lifecycle strategy where the session cookie …","The session cookie will expire when the current browser …","Determines how to secure the content of the session cookie.","The TTL is refreshed every time the server receives a …","The TTL is refreshed every time the session state changes …","A session lifecycle strategy where the session cookie will …","The session cookie will be a persistent cookie.","The cookie content is encrypted when using …","Determines what type of session cookie should be used and …","A fluent, customized SessionMiddleware builder.","The cookie content is signed when using …","Configuration for which events should trigger an extension …","","","","","","","","","","","","","Finalise the builder and return a SessionMiddleware …","","","","","","","","","","","Choose how the session cookie content should be secured.","Set the Domain attribute for the cookie used to store the …","Set the HttpOnly attribute for the cookie used to store …","Set the name of the cookie used to store the session ID.","Set the Path attribute for the cookie used to store the …","Set the SameSite attribute for the cookie used to store …","Set the Secure attribute for the cookie used to store the …","","","","","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Determines what type of session cookie should be used and …","Specifies how long the session cookie should live.","Determines under what circumstances the TTL of your …","Sets a time-to-live (TTL) when storing the session state …","Determine under what circumstances the TTL of your session …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Use the session key, stored in the session cookie, as …","Failed to deserialize session state.","Possible failures modes for SessionStore::load.","Something went wrong when retrieving the session state.","Something went wrong when persisting the session state.","Something went wrong when updating the session state.","Use Redis as session storage backend.","A fluent builder to construct a RedisActorSessionStore …","Use Redis as session storage backend.","A fluent builder to construct a RedisSessionStore instance …","Possible failures modes for SessionStore::save.","Failed to serialize session state.","Failed to serialize session state.","A session key, the string stored in a client-side cookie …","The interface to retrieve and save the current session …","Possible failures modes for SessionStore::update.","","","","","","","","","","","","","","","","","","","","Finalise the builder and return a RedisActorSessionStore …","Finalise the builder and return a RedisActorSessionStore …","A fluent API to configure RedisActorSessionStore.","A fluent API to configure RedisSessionStore. It takes as …","Set a custom cache key generation strategy, expecting a …","Set a custom cache key generation strategy, expecting a …","","","","Deletes a session from the store.","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Loads the session state associated to a session key.","","","","Create a new instance of RedisActorSessionStore using the …","Create a new instance of RedisSessionStore using the …","","","","Persist the session state for a newly created session.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Updates the session state associated to a pre-existing …","","","","Updates the TTL of the session state associated to a …","","","","","","","","","","","",""],"i":[7,7,7,0,0,0,0,0,0,7,6,4,7,12,15,6,4,7,12,15,6,4,6,4,7,6,4,7,0,7,4,7,7,12,15,7,12,12,15,15,6,4,7,12,12,15,15,4,4,49,4,6,4,7,12,15,6,6,12,15,4,4,4,4,12,15,4,0,6,4,7,12,15,6,4,7,12,15,6,4,7,12,15,6,4,7,12,15,6,4,7,12,15,0,30,0,33,33,0,30,34,0,0,34,0,3,30,31,32,33,34,3,30,31,32,33,34,3,30,31,32,33,34,30,31,32,33,34,3,3,3,3,3,3,3,31,32,30,31,32,33,34,3,30,30,30,31,32,33,34,3,30,31,32,33,34,3,32,32,31,31,30,31,32,33,34,3,30,31,32,33,34,3,30,31,32,33,34,3,30,31,32,33,34,3,30,31,32,33,34,0,46,0,46,47,48,0,0,0,0,0,47,48,0,0,0,37,39,38,40,46,47,48,37,42,41,39,38,40,46,47,48,37,42,41,38,40,39,41,38,40,41,41,42,1,39,42,41,37,37,46,46,47,47,48,48,37,39,38,40,46,47,48,37,42,41,39,38,40,46,47,48,37,42,41,1,39,42,41,39,41,46,47,48,1,39,42,41,46,47,48,41,46,47,48,39,38,40,46,47,48,37,37,42,41,39,38,40,46,47,48,37,42,41,39,38,40,46,47,48,37,42,41,1,39,42,41,1,39,42,41,39,38,40,46,47,48,37,42,41],"f":[0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[1,2],[[3,[1]]]],[4],[[[6,[[0,[5,1]]]]],[[6,[[0,[5,1]]]]]],[4,4],[7,7],[[]],[[]],[[]],0,[[],7],[4,[[10,[[9,[8,8]]]]]],[[7,7],11],[[],11],[12,[[14,[13]]]],[15,[[14,[13]]]],[[7,16],17],[[12,16],17],[[12,16],17],[[15,16],17],[[15,16],17],[[]],[[]],[[]],[[]],[18,12],[18,15],[[]],[[19,20]],[[4,21],[[24,[[23,[22]],12]]]],[[],4],[[4,[25,[8]],26],[[24,[15]]]],[[]],[[]],[[]],[[]],[[]],[[1,2],[[6,[1]]]],[6],[27],[27],[4],[[4,21],[[23,[8]]]],[[4,21],[[23,[[24,[22,8]]]]]],[4],[12,[[23,[28]]]],[15,[[23,[28]]]],[4,7],0,[[]],[[]],[[]],[[],8],[[],8],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],29],[[],29],[[],29],[[],29],[[],29],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[3,[1]]],[[6,[1]]]],[30,30],[31,31],[32,32],[33,33],[34,34],[[]],[[]],[[]],[[]],[[]],[[[3,[1]],34],[[3,[1]]]],[[[3,[1]],[23,[8]]],[[3,[1]]]],[[[3,[1]],11],[[3,[1]]]],[[[3,[1]],8],[[3,[1]]]],[[[3,[1]],8],[[3,[1]]]],[[[3,[1]],35],[[3,[1]]]],[[[3,[1]],11],[[3,[1]]]],[[],31],[[],32],[[30,16],17],[[31,16],17],[[32,16],17],[[33,16],17],[[34,16],17],[[]],[31,30],[32,30],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[3,[1]],[25,[30]]],[[3,[1]]]],[[32,36],32],[[32,33],32],[[31,36],31],[[31,33],31],[[]],[[]],[[]],[[]],[[]],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],29],[[],29],[[],29],[[],29],[[],29],[[],29],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[37,21],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[38,39],[40,[[24,[41,18]]]],[[[25,[8]]],38],[[[25,[8]]],40],[38,38],[40,40],[41,41],[[]],[[],42],[37,[[45,[[44,[43]]]]]],[[39,37],[[45,[[44,[43]]]]]],[[42,37],[[45,[[44,[43]]]]]],[[41,37],[[45,[[44,[43]]]]]],[[37,37],11],[[],11],[[46,16],17],[[46,16],17],[[47,16],17],[[47,16],17],[[48,16],17],[[48,16],17],[[37,16],17],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[37,[[45,[[44,[43]]]]]],[[39,37],[[45,[[44,[43]]]]]],[[42,37],[[45,[[44,[43]]]]]],[[41,37],[[45,[[44,[43]]]]]],[[[25,[8]]],39],[[[25,[8]]],[[24,[41,18]]]],[27],[27],[27],[[[9,[8,8]],36],[[45,[[44,[43]]]]]],[[39,[9,[8,8]],36],[[45,[[44,[43]]]]]],[[42,[9,[8,8]],36],[[45,[[44,[43]]]]]],[[41,[9,[8,8]],36],[[45,[[44,[43]]]]]],[46,[[23,[28]]]],[47,[[23,[28]]]],[48,[[23,[28]]]],[[]],[[],8],[[],8],[[],8],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[8,[[24,[37]]]],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],29],[[],29],[[],29],[[],29],[[],29],[[],29],[[],29],[[],29],[[],29],[[37,[9,[8,8]],36],[[45,[[44,[43]]]]]],[[39,37,[9,[8,8]],36],[[45,[[44,[43]]]]]],[[42,37,[9,[8,8]],36],[[45,[[44,[43]]]]]],[[41,37,[9,[8,8]],36],[[45,[[44,[43]]]]]],[[37,36],[[45,[[44,[43]]]]]],[[39,37,36],[[45,[[44,[43]]]]]],[[42,37,36],[[45,[[44,[43]]]]]],[[41,37,36],[[45,[[44,[43]]]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]]],"p":[[8,"SessionStore"],[3,"Key"],[3,"SessionMiddlewareBuilder"],[3,"Session"],[8,"Clone"],[3,"SessionMiddleware"],[4,"SessionStatus"],[3,"String"],[3,"HashMap"],[3,"Ref"],[15,"bool"],[3,"SessionGetError"],[3,"BoxBody"],[3,"HttpResponse"],[3,"SessionInsertError"],[3,"Formatter"],[6,"Result"],[3,"Error"],[3,"HttpRequest"],[4,"Payload"],[15,"str"],[8,"DeserializeOwned"],[4,"Option"],[4,"Result"],[8,"Into"],[8,"Serialize"],[3,"Demand"],[8,"Error"],[3,"TypeId"],[4,"SessionLifecycle"],[3,"BrowserSession"],[3,"PersistentSession"],[4,"TtlExtensionPolicy"],[4,"CookieContentSecurity"],[4,"SameSite"],[3,"Duration"],[3,"SessionKey"],[3,"RedisActorSessionStoreBuilder"],[3,"RedisActorSessionStore"],[3,"RedisSessionStoreBuilder"],[3,"RedisSessionStore"],[3,"CookieSessionStore"],[8,"Future"],[3,"Box"],[3,"Pin"],[4,"LoadError"],[4,"SaveError"],[4,"UpdateError"],[8,"SessionExt"]]},\ -"actix_settings":{"doc":"Easily manage Actix Web’s settings from a TOML file and …","t":[3,3,8,4,3,13,13,13,13,13,13,13,13,13,4,13,13,13,4,13,13,13,13,4,4,13,4,3,4,13,8,13,13,13,13,13,13,6,4,3,13,12,12,10,12,11,11,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,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,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,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,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,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,11,11,10,11,11,11,11,11,11,11,11,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,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,12,12,12,12],"n":["ActixSettings","Address","ApplySettings","Backlog","BasicSettings","Default","Default","Default","Default","Default","Default","Development","Disabled","EnvVarError","Error","FileExists","InvalidValue","IoError","KeepAlive","Manual","Manual","Manual","Manual","MaxConnectionRate","MaxConnections","Milliseconds","Mode","NoSettings","NumWorkers","Os","Parse","ParseAddressError","ParseBoolError","ParseIntError","Production","Seconds","Seconds","Settings","Timeout","Tls","TomlError","actix","application","apply_settings","backlog","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","certificate","client_shutdown","client_timeout","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","enable_compression","enable_log","enabled","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_default_template","from_template","get_hash","get_hash","get_hash","get_hash","get_hash","get_hash","get_hash","get_hash","get_hash","get_hash","get_hash","get_hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","host","hosts","into","into","into","into","into","into","into","into","into","into","into","into","into","keep_alive","max_connection_rate","max_connections","mode","num_workers","override_field","override_field_with_env_var","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse_toml","port","private_key","shutdown_timeout","tls","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","write_toml_file","column","expected","file","got","line"],"q":["actix_settings","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","actix_settings::Error","","","",""],"d":["Settings types for Actix Web.","A host/port pair for the server to bind to.","Extension trait for applying parsed settings to the server …","The maximum number of pending connections.","Wrapper for server and application-specific settings.","The default number of connections. See struct docs.","The default keep-alive as defined by Actix Web.","The default connection limit. See struct docs.","The default number of connections. See struct docs.","The default number of workers. See struct docs.","The default timeout. Depends on context.","Marks development environment.","Disable keep-alive.","Environment variable does not exists or is invalid.","Errors that can be returned from methods in this crate.","File already exists on disk.","Invalid value.","I/O error.","The server keep-alive preference.","A specific number of connections.","A specific connection limit.","A specific number of connections.","A specific number of workers.","The maximum per-worker concurrent TLS connection limit.","The maximum per-worker number of concurrent connections.","Timeout in milliseconds.","Marker of intended deployment environment.","Marker type representing no defined application-specific …","The number of workers that the server should start.","Let the OS determine keep-alive duration.","A specialized FromStr trait that returns [AtError] errors","Value is not an address.","Value is not a boolean.","Value is not an integer.","Marks production environment.","A specific keep-alive duration (in seconds).","Timeout in seconds.","Convenience type alias for BasicSettings with no defined …","A timeout duration in milliseconds or seconds.","TLS (HTTPS) configuration.","Error deserializing as TOML.","Actix Web server settings.","Application-specific settings.","Apply a BasicSettings value to self.","The maximum number of pending connections.","","","","","","","","","","","","","","","","","","","","","","","","","","","Path to certificate .pem file.","Timeout duration for connection shutdown.","Timeout duration for reading client request header.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","True if the Compress middleware should be enabled.","True if the Logger middleware should be enabled.","Tru if accepting TLS connections should be enabled.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Parse an instance of Self straight from the default TOML …","Parse an instance of Self straight from the default TOML …","","","","","","","","","","","","","","","","","","","","","","","","","Host part of address.","List of addresses for the server to bind to.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Server keep-alive preference.","The per-worker maximum concurrent TLS connection limit.","The per-worker maximum number of concurrent connections.","Marker of intended deployment environment.","The number of workers that the server should start.","Attempts to parse value and override the referenced field.","Attempts to read an environment variable, parse it, and …","Parse Self from string.","","","","","","","","","Parse an instance of Self from a TOML file located at …","Port part of address.","Path to private key .pem file.","Timeout duration for graceful worker shutdown.","TLS (HTTPS) configuration.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Writes the default TOML template to a new file, located at …","","","","",""],"i":[0,0,0,0,0,4,5,6,7,9,10,8,5,2,0,2,2,2,0,4,6,7,9,0,0,10,0,0,0,5,0,2,2,2,8,5,10,0,0,0,2,1,1,31,12,2,3,4,5,6,7,8,9,10,11,12,1,14,2,3,4,5,6,7,8,9,10,11,12,1,14,11,12,12,2,3,4,5,6,7,8,9,10,11,12,1,14,2,3,4,5,6,7,8,9,10,11,12,1,14,3,4,5,6,7,8,9,10,11,12,1,14,12,12,11,3,4,5,6,7,8,9,10,11,12,1,14,3,4,5,6,7,8,9,10,11,12,1,14,2,3,4,5,6,7,8,9,10,11,12,1,14,2,2,2,2,2,2,2,3,4,5,6,7,8,9,10,11,12,1,14,1,1,3,4,5,6,7,8,9,10,11,12,1,14,3,4,5,6,7,8,9,10,11,12,1,14,3,12,2,3,4,5,6,7,8,9,10,11,12,1,14,12,12,12,12,12,1,1,32,3,4,5,6,7,8,9,10,1,3,11,12,12,2,3,4,5,6,7,8,9,10,11,12,1,14,2,3,4,5,6,7,8,9,10,11,12,1,14,2,3,4,5,6,7,8,9,10,11,12,1,14,2,3,4,5,6,7,8,9,10,11,12,1,14,2,3,4,5,6,7,8,9,10,11,12,1,14,1,33,33,33,33,33],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,[2,2],[3,3],[4,4],[5,5],[6,6],[7,7],[8,8],[9,9],[10,10],[11,11],[12,12],[[[1,[13]]],[[1,[13]]]],[14,14],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],[[15,[3]]]],[[],[[15,[4]]]],[[],[[15,[5]]]],[[],[[15,[6]]]],[[],[[15,[7]]]],[[],[[15,[8]]]],[[],[[15,[9]]]],[[],[[15,[10]]]],[[],[[15,[11]]]],[[],[[15,[12]]]],[[],[[15,[1]]]],[[],[[15,[14]]]],0,0,0,[[3,3],16],[[4,4],16],[[5,5],16],[[6,6],16],[[7,7],16],[[8,8],16],[[9,9],16],[[10,10],16],[[11,11],16],[[12,12],16],[[[1,[17]],1],16],[[14,14],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[2,18],19],[[3,18],19],[[4,18],19],[[5,18],19],[[6,18],19],[[7,18],19],[[8,18],19],[[9,18],19],[[10,18],19],[[11,18],19],[[12,18],19],[[[1,[20]],18],19],[[14,18],19],[21,2],[22,2],[23,2],[24,2],[25,2],[[]],[26,2],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],[[15,[1,2]]]],[27,[[15,[1,2]]]],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[[[1,[29]]]],[14],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,[[],[[15,[2]]]],[[],[[15,[2]]]],[27,[[15,[2]]]],[27,[[15,[3,2]]]],[27,[[15,[4,2]]]],[27,[[15,[5,2]]]],[27,[[15,[6,2]]]],[27,[[15,[7,2]]]],[27,[[15,[8,2]]]],[27,[[15,[9,2]]]],[27,[[15,[10,2]]]],[[],[[15,[1,2]]]],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],[[15,[2]]]],0,0,0,0,0],"p":[[3,"BasicSettings"],[4,"Error"],[3,"Address"],[4,"Backlog"],[4,"KeepAlive"],[4,"MaxConnectionRate"],[4,"MaxConnections"],[4,"Mode"],[4,"NumWorkers"],[4,"Timeout"],[3,"Tls"],[3,"ActixSettings"],[8,"Clone"],[3,"NoSettings"],[4,"Result"],[15,"bool"],[8,"PartialEq"],[3,"Formatter"],[6,"Result"],[8,"Debug"],[3,"ParseIntError"],[3,"Error"],[4,"VarError"],[3,"Error"],[3,"ParseBoolError"],[3,"IoError"],[15,"str"],[15,"u64"],[8,"Hash"],[3,"TypeId"],[8,"ApplySettings"],[8,"Parse"],[13,"InvalidValue"]],"a":{"https":[39],"ssl":[39]}},\ -"actix_web_httpauth":{"doc":"HTTP authentication schemes for Actix Web.","t":[0,0,0,8,3,16,0,0,11,11,11,11,11,11,11,11,11,10,11,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,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,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,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,11,8,3,0,0,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,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,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["extractors","headers","middleware","AuthExtractorConfig","AuthenticationError","Inner","basic","bearer","borrow","borrow_mut","challenge_mut","error_response","fmt","fmt","from","from","into","into_inner","new","provide","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","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","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","new","new","parse","parse","parse","parse","partial_cmp","partial_cmp","partial_cmp","password","provide","source","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","token","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into_pair","try_into_value","try_into_value","try_into_value","type_id","type_id","type_id","type_id","user_id","vzip","vzip","vzip","vzip","Challenge","WwwAuthenticate","basic","bearer","borrow","borrow_mut","clone","clone_into","cmp","default","eq","equivalent","fmt","from","get_hash","hash","into","name","parse","partial_cmp","to_bytes","to_owned","try_from","try_into","try_into_pair","try_into_value","type_id","vzip","Basic","borrow","borrow_mut","clone","clone_into","cmp","default","eq","equivalent","fmt","fmt","from","get_hash","hash","into","new","partial_cmp","to_owned","to_string","try_from","try_into","try_into_value","type_id","vzip","with_realm","Bearer","BearerBuilder","Error","InsufficientScope","InvalidRequest","InvalidToken","borrow","borrow","borrow_mut","borrow_mut","build","clone","clone_into","cmp","default","default","eq","equivalent","error","error_description","error_uri","finish","fmt","fmt","fmt","from","from","get_hash","hash","into","into","partial_cmp","realm","scope","to_owned","to_string","try_from","try_from","try_into","try_into","try_into_value","type_id","type_id","vzip","vzip","HttpAuthentication","basic","bearer","borrow","borrow_mut","clone","clone_into","fmt","from","into","new_transform","to_owned","try_from","try_into","type_id","vzip","with_fn"],"q":["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 for types that provides configuration …","Authentication error returned by authentication extractors.","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.","","","","Returns the argument unchanged.","","Calls U::from(self).","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 WWW-Authenticate…","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","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, …","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","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.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","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 an 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.","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","Converts the challenge into a bytes suitable for HTTP …","","","","","","","","Challenge for WWW-Authenticate header with HTTP Basic auth …","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","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 [RFC 6750, …","Provides the error_description attribute, as defined in […","Provides the error_uri attribute, as defined in [RFC 6750 …","Consumes the builder and returns built Bearer instance.","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","Provides the realm attribute, as defined in RFC 2617.","Provides the scope attribute, as defined in RFC 6749 §3.3.","","","","","","","","","","","","Middleware for checking HTTP authentication.","Construct HttpAuthentication middleware for the HTTP “…","Construct HttpAuthentication middleware for the HTTP “…","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","Construct HttpAuthentication middleware with the provided …"],"i":[0,0,0,0,0,52,0,0,2,2,2,2,2,2,2,2,2,52,2,2,2,2,2,2,2,2,2,2,2,2,0,0,14,14,16,14,16,14,16,14,16,14,14,16,14,16,16,14,16,14,16,14,14,16,14,16,14,16,14,16,16,14,16,0,0,0,13,13,13,21,21,22,13,21,22,13,21,22,13,21,22,13,13,21,13,13,21,22,13,13,21,22,13,22,13,13,21,22,13,21,13,21,21,13,21,22,13,13,22,21,22,13,21,22,13,21,22,13,21,22,13,0,0,0,36,0,0,36,36,36,0,0,36,36,29,29,36,29,31,32,36,29,31,32,29,31,32,29,31,32,29,31,32,29,29,31,32,29,31,32,36,36,29,29,31,31,32,32,36,36,36,36,29,29,29,31,32,29,29,36,29,31,32,29,29,31,32,28,29,31,32,29,31,32,31,36,36,29,31,32,36,29,31,32,32,36,29,31,32,36,29,31,32,29,29,31,32,36,29,31,32,31,36,29,31,32,0,0,0,0,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,1,47,47,47,47,47,47,47,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,0,0,13,13,13,50,12,50,12,12,12,12,12,50,12,12,12,50,50,50,50,50,12,12,50,12,12,12,50,12,12,50,50,12,12,50,12,50,12,12,50,12,50,12,0,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51],"f":[0,0,0,0,0,0,0,0,[[]],[[]],[[[2,[1]]]],[[[2,[1]]],3],[[[2,[[0,[4,1]]]],5],6],[[[2,[1]],5],6],[[]],[[],2],[[]],[[]],[1,[[2,[1]]]],[7],[[[2,[1]]],8],[[[2,[1]]],8],[[],9],[[],10],[[],10],[[],11],[[]],[[[2,[12]],13],[[2,[12]]]],[[[2,[12]]],[[2,[12]]]],[[[2,[12]]],[[2,[12]]]],0,0,[14,15],[[]],[[]],[[]],[[]],[14,14],[16,16],[[]],[[]],[[],14],[[14,5],6],[[16,5],6],[[]],[[]],[[17,18]],[[]],[[]],[14],[16,[[20,[19]]]],[14,14],[[]],[[]],[[],10],[[],10],[[],10],[[],10],[[],11],[[],11],[16,19],[[]],[[]],0,0,0,0,0,0,[21,12],[[]],[[]],[[]],[[]],[[]],[[]],[21,21],[22,22],[13,13],[[]],[[]],[[]],[[13,13],23],[[],21],[[13,13],24],[[],24],[[21,5],6],[[22,5],6],[[13,5],6],[[13,5],6],[[]],[[]],[[]],[[17,18]],[[],25],[13],[[]],[[]],[[]],[21],[[13,13],[[20,[23]]]],[[21,[27,[[26,[19]]]]],21],[[21,[27,[[26,[19]]]]],21],[13,8],[[]],[[]],[[]],[[],9],[22,19],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],11],[[],11],[[],11],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,[[[29,[28]]]],[[[29,[28]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[29,[[0,[30,28]]]]],[[29,[[0,[30,28]]]]]],[31,31],[32,32],[[]],[[]],[[]],[[[29,[[0,[33,28]]]],29],23],[[31,31],23],[[32,32],23],[[],[[29,[[0,[34,28]]]]]],[[[29,[[0,[35,28]]]],29],24],[[31,31],24],[[32,32],24],[[],24],[[],24],[[],24],[[36,5],6],[[36,5],6],[[[29,[[0,[4,28]]]],5],6],[[[29,[28]],5],6],[[31,5],6],[[31,5],6],[[32,5],6],[[32,5],6],[37,36],[38,36],[39,36],[[]],[[]],[28,[[29,[28]]]],[40],[[]],[[]],[[],25],[[[29,[[0,[41,28]]]]]],[[]],[[]],[[]],[[]],[[[29,[28]]],28],[[],42],[20,31],[[],32],[43,[[10,[36]]]],[[],[[10,[[29,[28]],44]]]],[43,[[10,[31,36]]]],[43,[[10,[32,36]]]],[[[29,[[0,[45,28]]]],29],[[20,[23]]]],[[31,31],[[20,[23]]]],[[32,32],[[20,[23]]]],[31,[[20,[19]]]],[7],[36,[[20,[46]]]],[[]],[[]],[[]],[[],9],[[],9],[[],9],[[],9],[32,19],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[[29,[28]]],[[10,[43]]]],[31,[[10,[43]]]],[32,[[10,[43]]]],[[],11],[[],11],[[],11],[[],11],[31,19],[[]],[[]],[[]],[[]],0,0,0,0,[[]],[[]],[[[47,[[0,[30,1]]]]],[[47,[[0,[30,1]]]]]],[[]],[[[47,[[0,[33,1]]]],47],23],[[],[[47,[[0,[34,1]]]]]],[[[47,[[0,[35,1]]]],47],24],[[],24],[[[47,[[0,[4,1]]]],5],6],[[]],[[],25],[[[47,[[0,[41,1]]]]]],[[]],[[],42],[[],[[10,[[47,[1]],44]]]],[[[47,[[0,[45,1]]]],47],[[20,[23]]]],[[],48],[[]],[[],10],[[],10],[[],10],[[[47,[1]]],[[10,[43]]]],[[],11],[[]],0,[[]],[[]],[15,15],[[]],[[15,15],23],[[],15],[[15,15],24],[[],24],[[15,5],[[10,[49]]]],[[15,5],6],[[]],[[],25],[15],[[]],[[],15],[[15,15],[[20,[23]]]],[[]],[[],9],[[],10],[[],10],[15,[[10,[43]]]],[[],11],[[]],[[],15],0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[],50],[12,12],[[]],[[12,12],23],[[],50],[[],12],[[12,12],24],[[],24],[[50,13],50],[50,50],[50,50],[50,12],[[50,5],6],[[12,5],[[10,[49]]]],[[12,5],6],[[]],[[]],[[],25],[12],[[]],[[]],[[12,12],[[20,[23]]]],[50,50],[50,50],[[]],[[],9],[[],10],[[],10],[[],10],[[],10],[12,[[10,[43]]]],[[],11],[[],11],[[]],[[]],0,[[],[[51,[16]]]],[[],[[51,[22]]]],[[]],[[]],[[[51,[30,30]]],[[51,[30,30]]]],[[]],[[[51,[4,4]],5],6],[[]],[[]],[51],[[]],[[],10],[[],10],[[],11],[[]],[[],51]],"p":[[8,"Challenge"],[3,"AuthenticationError"],[3,"HttpResponse"],[8,"Debug"],[3,"Formatter"],[6,"Result"],[3,"Demand"],[3,"StatusCode"],[3,"String"],[4,"Result"],[3,"TypeId"],[3,"Bearer"],[4,"Error"],[3,"Config"],[3,"Basic"],[3,"BasicAuth"],[3,"HttpRequest"],[4,"Payload"],[15,"str"],[4,"Option"],[3,"Config"],[3,"BearerAuth"],[4,"Ordering"],[15,"bool"],[15,"u64"],[4,"Cow"],[8,"Into"],[8,"Scheme"],[3,"Authorization"],[8,"Clone"],[3,"Basic"],[3,"Bearer"],[8,"Ord"],[8,"Default"],[8,"PartialEq"],[4,"ParseError"],[3,"ToStrError"],[4,"DecodeError"],[3,"Utf8Error"],[15,"never"],[8,"Hash"],[3,"HeaderName"],[3,"HeaderValue"],[4,"ParseError"],[8,"PartialOrd"],[8,"Error"],[3,"WwwAuthenticate"],[3,"Bytes"],[3,"Error"],[3,"BearerBuilder"],[3,"HttpAuthentication"],[8,"AuthExtractorConfig"]]}\ +"actix_limitation":{"doc":"Rate limiter using a fixed window counter for arbitrary …","t":[3,13,17,17,17,17,4,13,3,13,3,3,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],"n":["Builder","Client","DEFAULT_COOKIE_NAME","DEFAULT_PERIOD_SECS","DEFAULT_REQUEST_LIMIT","DEFAULT_SESSION_KEY","Error","LimitExceeded","Limiter","Other","RateLimiter","Status","Time","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","builder","clone","clone","clone_into","clone_into","cookie_name","count","default","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","into","into","into","into","into","key_by","limit","limit","new_transform","period","provide","remaining","reset_epoch_utc","session_key","source","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip"],"q":["actix_limitation","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["Rate limiter builder.","Redis client failed to connect or run a query.","Default cookie name.","Default period (in seconds).","Default request limit.","Default session key.","Failure modes of the rate limiter.","Limit is exceeded for a key.","Rate limiter.","Generic error.","Rate limit middleware.","A report for a given key containing the limit status.","Time conversion failed.","","","","","","","","","","","Finalizes and returns a Limiter.","Construct rate limiter builder with defaults.","","","","","Sets name of cookie to be sent.","Consumes one rate limit unit, returning the status.","","","","","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Sets rate limit key derivation function.","Set upper limit.","Returns the maximum number of requests allowed in the …","","Set limit window/period.","","Returns how many requests are left in the current period.","Returns a UNIX timestamp in UTC approximately when the …","Sets session key to be used in backend.","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[0,3,0,0,0,0,0,3,0,3,0,0,3,1,3,10,7,2,1,3,10,7,2,1,2,7,2,7,2,1,2,10,1,3,3,10,7,2,1,3,3,3,10,7,2,1,3,10,7,2,1,1,7,10,1,3,7,7,1,3,7,2,3,1,3,10,7,2,1,3,10,7,2,1,3,10,7,2,1,3,10,7,2],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[1,[[4,[2,3]]]],[[[6,[5]]],1],[7,7],[2,2],[[]],[[]],[[1,[6,[[9,[8]]]]],1],[[2,[6,[5]]],[[4,[7,3]]]],[[],10],[[1,11],12],[[3,11],12],[[3,11],12],[[10,11],12],[[7,11],12],[[2,11],12],[[]],[13,3],[14,3],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[1,1],[[1,15],1],[7,15],[10],[[1,16],1],[17],[7,15],[7,15],[[1,[6,[[9,[8]]]]],1],[3,[[19,[18]]]],[[]],[[]],[[],5],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],20],[[],20],[[],20],[[],20],[[],20],[[]],[[]],[[]],[[]],[[]]],"p":[[3,"Builder"],[3,"Limiter"],[4,"Error"],[4,"Result"],[3,"String"],[8,"Into"],[3,"Status"],[15,"str"],[4,"Cow"],[3,"RateLimiter"],[3,"Formatter"],[6,"Result"],[3,"RedisError"],[3,"ComponentRange"],[15,"usize"],[3,"Duration"],[3,"Demand"],[8,"Error"],[4,"Option"],[3,"TypeId"]]},\ +"actix_protobuf":{"doc":"Protobuf payload extractor for Actix Web.","t":[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,11],"n":["ContentType","Deserialize","Overflow","Payload","ProtoBuf","ProtoBufConfig","ProtoBufMessage","ProtoBufPayloadError","ProtoBufResponseBuilder","Serialize","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","default","deref","deref_mut","error_response","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from_request","into","into","into","into","into_future","limit","limit","new","poll","protobuf","resource_path","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","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","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":[4,4,4,4,0,0,0,0,0,4,3,1,14,4,3,1,14,4,1,3,3,4,3,3,4,4,3,1,14,4,4,4,3,3,1,14,4,14,1,14,14,14,23,3,3,3,4,3,1,14,4,3,1,14,4,14,3,1,14,4,3,1,14,4],"f":[0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[[3,[2]]]],[[[3,[2]]]],[4,5],[[[3,[2]],6],7],[[[3,[2]],6],7],[[4,6],7],[[4,6],7],[[]],[[]],[[]],[8,4],[[]],[9,4],[[10,11]],[[]],[[]],[[]],[[]],[[]],[[1,12],1],[[[14,[[0,[2,13]]]],12],[[14,[[0,[2,13]]]]]],[[10,11],[[14,[[0,[2,13]]]]]],[[[15,[[14,[[0,[2,13]]]]]],16],17],[2,[[19,[5,18]]]],[[],20],[[[3,[[0,[2,13]]]],10],5],[[],21],[[],21],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[15,16],17],[[],22],[[],22],[[],22],[[],22],[[]],[[]],[[]],[[]]],"p":[[3,"ProtoBufConfig"],[8,"Message"],[3,"ProtoBuf"],[4,"ProtoBufPayloadError"],[3,"HttpResponse"],[3,"Formatter"],[6,"Result"],[3,"DecodeError"],[4,"PayloadError"],[3,"HttpRequest"],[4,"Payload"],[15,"usize"],[8,"Default"],[3,"ProtoBufMessage"],[3,"Pin"],[3,"Context"],[4,"Poll"],[3,"Error"],[4,"Result"],[3,"Path"],[3,"String"],[3,"TypeId"],[8,"ProtoBufResponseBuilder"]]},\ +"actix_redis":{"doc":"Redis integration for actix.","t":[13,13,3,13,13,4,13,13,13,13,13,13,13,3,13,13,4,4,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,14,11,11,11,11,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":["Array","BulkString","Command","Connection","Disconnected","Error","Error","IO","Integer","Internal","Nil","NotConnected","Redis","RedisActor","Remote","Resp","RespError","RespValue","SimpleString","Unexpected","append","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","eq","equivalent","error","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_resp_int","handle","handle","into","into","into","into","into","provide","provide","push","resp_array","restarting","source","source","start","started","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip"],"q":["actix_redis","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["Zero, one or more other RespValues.","A bulk string. In Redis terminology a string is a …","Command for sending data to Redis.","Error creating a connection, or an error with a connection …","Cancel all waiters when connection is 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 …","","Receiving message during reconnecting.","","Redis communication actor.","A remote error","A RESP parsing/serialising error occurred","","A single RESP value, this owns the data that is read/to-be …","","An unexpected error. In this context “unexpected” …","Convenience function for building dynamic Redis commands …","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Returns the argument unchanged.","","","","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","Push item to Resp array","Macro to create a RESP array, useful for preparing …","","","","Start new Supervisor with RedisActor.","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[1,1,0,13,10,0,1,13,1,13,1,10,10,0,13,13,0,0,1,13,1,4,7,10,1,13,4,7,10,1,13,1,1,1,1,4,7,10,10,1,13,13,4,7,10,10,1,1,1,1,1,1,1,1,13,13,13,1,4,4,4,7,10,1,13,10,13,1,0,4,10,13,4,4,1,10,13,4,7,10,1,13,4,7,10,1,13,4,7,10,1,13,4,7,10,1,13],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[1,2],1],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[1,1],[[]],[[1,1],3],[[],3],[[4,5],6],[[7,8],9],[[10,8],9],[[10,8],9],[[1,8],[[12,[11]]]],[[13,8],[[12,[11]]]],[[13,8],[[12,[11]]]],[[]],[[]],[[]],[13,10],[[[16,[14,15]]],1],[17,1],[[]],[18,1],[[[19,[18]]],1],[20,1],[20,1],[[],1],[21,13],[5,13],[[]],[1,[[12,[1,13]]]],[[4,[12,[1,13]]]],[[4,7]],[[]],[[]],[[]],[[]],[[]],[22],[22],[1],0,[4],[10,[[24,[23]]]],[13,[[24,[23]]]],[[[25,[20]]],[[26,[4]]]],[[4,27]],[[]],[[],20],[[],20],[[],12],[[],12],[[],12],[[],12],[[],12],[[],12],[[],12],[[],12],[[],12],[[],12],[[],28],[[],28],[[],28],[[],28],[[],28],[[]],[[]],[[]],[[]],[[]]],"p":[[4,"RespValue"],[8,"IntoIterator"],[15,"bool"],[3,"RedisActor"],[3,"Error"],[4,"Running"],[3,"Command"],[3,"Formatter"],[6,"Result"],[4,"Error"],[3,"Error"],[4,"Result"],[4,"RespError"],[15,"u8"],[3,"Global"],[3,"Vec"],[15,"usize"],[15,"str"],[3,"Arc"],[3,"String"],[3,"TrySendError"],[3,"Demand"],[8,"Error"],[4,"Option"],[8,"Into"],[3,"Addr"],[3,"Context"],[3,"TypeId"]]},\ +"actix_session":{"doc":"Session management for Actix Web.","t":[13,13,13,3,8,3,3,3,4,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,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,0,11,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,13,4,13,13,3,13,13,4,3,13,4,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,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,13,4,13,13,13,3,3,3,3,4,13,13,3,8,4,11,11,11,11,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,10,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,11,10,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11],"n":["Changed","Purged","Renewed","Session","SessionExt","SessionGetError","SessionInsertError","SessionMiddleware","SessionStatus","Unchanged","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","builder","clear","clone","clone","clone","clone_into","clone_into","clone_into","config","default","entries","eq","equivalent","error_response","error_response","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from_request","get","get_session","insert","into","into","into","into","into","new","new_transform","provide","provide","purge","remove","remove_as","renew","source","source","status","storage","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","BrowserSession","BrowserSession","CookieContentSecurity","OnEveryRequest","OnStateChanges","PersistentSession","PersistentSession","Private","SessionLifecycle","SessionMiddlewareBuilder","Signed","TtlExtensionPolicy","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cookie_content_security","cookie_domain","cookie_http_only","cookie_name","cookie_path","cookie_same_site","cookie_secure","default","default","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","into","into","into","into","into","into","session_lifecycle","session_ttl","session_ttl_extension_policy","state_ttl","state_ttl_extension_policy","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","CookieSessionStore","Deserialization","LoadError","Other","Other","Other","RedisActorSessionStore","RedisActorSessionStoreBuilder","RedisSessionStore","RedisSessionStoreBuilder","SaveError","Serialization","Serialization","SessionKey","SessionStore","UpdateError","as_ref","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","build","builder","builder","cache_keygen","cache_keygen","clone","clone_into","default","delete","delete","delete","delete","eq","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","into","into","into","into","into","into","into","into","into","load","load","load","load","new","new","provide","provide","provide","save","save","save","save","source","source","source","to_owned","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update","update","update","update","update_ttl","update_ttl","update_ttl","update_ttl","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip"],"q":["actix_session","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","actix_session::config","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","actix_session::storage","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["Session state has been updated - the changes will have to …","The session has been flagged for deletion - the session …","The session has been flagged for renewal.","The primary interface to access and modify session state.","Extract a Session object from various actix-web types …","Error returned by Session::get.","Error returned by Session::insert.","A middleware for session management in Actix Web …","Status of a Session.","The session state has not been modified since its …","","","","","","","","","","","A fluent API to configure SessionMiddleware.","Clear the session.","","","","","","","Configuration options to tune the behaviour of …","","Get all raw key-value data from the session.","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Get a value from the session.","Extract a Session object.","Inserts a key-value pair into the session.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Use SessionMiddleware::new to initialize the session …","","","","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 …","","","Returns session status.","Pluggable storage backends for session state.","","","","","","","","","","","","","","","","","","","","","","","","","","A session lifecycle strategy where the session cookie …","The session cookie will expire when the current browser …","Determines how to secure the content of the session cookie.","The TTL is refreshed every time the server receives a …","The TTL is refreshed every time the session state changes …","A session lifecycle strategy where the session cookie will …","The session cookie will be a persistent cookie.","The cookie content is encrypted when using …","Determines what type of session cookie should be used and …","A fluent, customized SessionMiddleware builder.","The cookie content is signed when using …","Configuration for which events should trigger an extension …","","","","","","","","","","","","","Finalise the builder and return a SessionMiddleware …","","","","","","","","","","","Choose how the session cookie content should be secured.","Set the Domain attribute for the cookie used to store the …","Set the HttpOnly attribute for the cookie used to store …","Set the name of the cookie used to store the session ID.","Set the Path attribute for the cookie used to store the …","Set the SameSite attribute for the cookie used to store …","Set the Secure attribute for the cookie used to store the …","","","","","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Determines what type of session cookie should be used and …","Specifies how long the session cookie should live.","Determines under what circumstances the TTL of your …","Sets a time-to-live (TTL) when storing the session state …","Determine under what circumstances the TTL of your session …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Use the session key, stored in the session cookie, as …","Failed to deserialize session state.","Possible failures modes for SessionStore::load.","Something went wrong when retrieving the session state.","Something went wrong when persisting the session state.","Something went wrong when updating the session state.","Use Redis as session storage backend.","A fluent builder to construct a RedisActorSessionStore …","Use Redis as session storage backend.","A fluent builder to construct a RedisSessionStore instance …","Possible failures modes for SessionStore::save.","Failed to serialize session state.","Failed to serialize session state.","A session key, the string stored in a client-side cookie …","The interface to retrieve and save the current session …","Possible failures modes for SessionStore::update.","","","","","","","","","","","","","","","","","","","","Finalise the builder and return a RedisActorSessionStore …","Finalise the builder and return a RedisActorSessionStore …","A fluent API to configure RedisActorSessionStore.","A fluent API to configure RedisSessionStore. It takes as …","Set a custom cache key generation strategy, expecting a …","Set a custom cache key generation strategy, expecting a …","","","","Deletes a session from the store.","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Loads the session state associated to a session key.","","","","Create a new instance of RedisActorSessionStore using the …","Create a new instance of RedisSessionStore using the …","","","","Persist the session state for a newly created session.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Updates the session state associated to a pre-existing …","","","","Updates the TTL of the session state associated to a …","","","","","","","","","","","",""],"i":[7,7,7,0,0,0,0,0,0,7,6,4,7,12,15,6,4,7,12,15,6,4,6,4,7,6,4,7,0,7,4,7,7,12,15,7,12,12,15,15,6,4,7,12,12,15,15,4,4,49,4,6,4,7,12,15,6,6,12,15,4,4,4,4,12,15,4,0,6,4,7,12,15,6,4,7,12,15,6,4,7,12,15,6,4,7,12,15,6,4,7,12,15,0,30,0,33,33,0,30,34,0,0,34,0,3,30,31,32,33,34,3,30,31,32,33,34,3,30,31,32,33,34,30,31,32,33,34,3,3,3,3,3,3,3,31,32,30,31,32,33,34,3,30,30,30,31,32,33,34,3,30,31,32,33,34,3,32,32,31,31,30,31,32,33,34,3,30,31,32,33,34,3,30,31,32,33,34,3,30,31,32,33,34,3,30,31,32,33,34,0,46,0,46,47,48,0,0,0,0,0,47,48,0,0,0,37,39,38,40,46,47,48,37,42,41,39,38,40,46,47,48,37,42,41,38,40,39,41,38,40,41,41,42,1,39,42,41,37,37,46,46,47,47,48,48,37,39,38,40,46,47,48,37,42,41,39,38,40,46,47,48,37,42,41,1,39,42,41,39,41,46,47,48,1,39,42,41,46,47,48,41,46,47,48,39,38,40,46,47,48,37,37,42,41,39,38,40,46,47,48,37,42,41,39,38,40,46,47,48,37,42,41,1,39,42,41,1,39,42,41,39,38,40,46,47,48,37,42,41],"f":[0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[1,2],[[3,[1]]]],[4],[[[6,[[0,[5,1]]]]],[[6,[[0,[5,1]]]]]],[4,4],[7,7],[[]],[[]],[[]],0,[[],7],[4,[[10,[[9,[8,8]]]]]],[[7,7],11],[[],11],[12,[[14,[13]]]],[15,[[14,[13]]]],[[7,16],17],[[12,16],17],[[12,16],17],[[15,16],17],[[15,16],17],[[]],[[]],[[]],[18,12],[[]],[18,15],[[]],[[19,20]],[[4,21],[[24,[[23,[22]],12]]]],[[],4],[[4,[25,[8]],26],[[24,[15]]]],[[]],[[]],[[]],[[]],[[]],[[1,2],[[6,[1]]]],[6],[27],[27],[4],[[4,21],[[23,[8]]]],[[4,21],[[23,[[24,[22,8]]]]]],[4],[12,[[23,[28]]]],[15,[[23,[28]]]],[4,7],0,[[]],[[]],[[]],[[],8],[[],8],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],29],[[],29],[[],29],[[],29],[[],29],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[3,[1]]],[[6,[1]]]],[30,30],[31,31],[32,32],[33,33],[34,34],[[]],[[]],[[]],[[]],[[]],[[[3,[1]],34],[[3,[1]]]],[[[3,[1]],[23,[8]]],[[3,[1]]]],[[[3,[1]],11],[[3,[1]]]],[[[3,[1]],8],[[3,[1]]]],[[[3,[1]],8],[[3,[1]]]],[[[3,[1]],35],[[3,[1]]]],[[[3,[1]],11],[[3,[1]]]],[[],31],[[],32],[[30,16],17],[[31,16],17],[[32,16],17],[[33,16],17],[[34,16],17],[[]],[32,30],[31,30],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[3,[1]],[25,[30]]],[[3,[1]]]],[[32,36],32],[[32,33],32],[[31,36],31],[[31,33],31],[[]],[[]],[[]],[[]],[[]],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],29],[[],29],[[],29],[[],29],[[],29],[[],29],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[37,21],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[38,39],[40,[[24,[41,18]]]],[[[25,[8]]],38],[[[25,[8]]],40],[38,38],[40,40],[41,41],[[]],[[],42],[37,[[45,[[44,[43]]]]]],[[39,37],[[45,[[44,[43]]]]]],[[42,37],[[45,[[44,[43]]]]]],[[41,37],[[45,[[44,[43]]]]]],[[37,37],11],[[],11],[[46,16],17],[[46,16],17],[[47,16],17],[[47,16],17],[[48,16],17],[[48,16],17],[[37,16],17],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[37,[[45,[[44,[43]]]]]],[[39,37],[[45,[[44,[43]]]]]],[[42,37],[[45,[[44,[43]]]]]],[[41,37],[[45,[[44,[43]]]]]],[[[25,[8]]],39],[[[25,[8]]],[[24,[41,18]]]],[27],[27],[27],[[[9,[8,8]],36],[[45,[[44,[43]]]]]],[[39,[9,[8,8]],36],[[45,[[44,[43]]]]]],[[42,[9,[8,8]],36],[[45,[[44,[43]]]]]],[[41,[9,[8,8]],36],[[45,[[44,[43]]]]]],[46,[[23,[28]]]],[47,[[23,[28]]]],[48,[[23,[28]]]],[[]],[[],8],[[],8],[[],8],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[8,[[24,[37]]]],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],29],[[],29],[[],29],[[],29],[[],29],[[],29],[[],29],[[],29],[[],29],[[37,[9,[8,8]],36],[[45,[[44,[43]]]]]],[[39,37,[9,[8,8]],36],[[45,[[44,[43]]]]]],[[42,37,[9,[8,8]],36],[[45,[[44,[43]]]]]],[[41,37,[9,[8,8]],36],[[45,[[44,[43]]]]]],[[37,36],[[45,[[44,[43]]]]]],[[39,37,36],[[45,[[44,[43]]]]]],[[42,37,36],[[45,[[44,[43]]]]]],[[41,37,36],[[45,[[44,[43]]]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]]],"p":[[8,"SessionStore"],[3,"Key"],[3,"SessionMiddlewareBuilder"],[3,"Session"],[8,"Clone"],[3,"SessionMiddleware"],[4,"SessionStatus"],[3,"String"],[3,"HashMap"],[3,"Ref"],[15,"bool"],[3,"SessionGetError"],[3,"BoxBody"],[3,"HttpResponse"],[3,"SessionInsertError"],[3,"Formatter"],[6,"Result"],[3,"Error"],[3,"HttpRequest"],[4,"Payload"],[15,"str"],[8,"DeserializeOwned"],[4,"Option"],[4,"Result"],[8,"Into"],[8,"Serialize"],[3,"Demand"],[8,"Error"],[3,"TypeId"],[4,"SessionLifecycle"],[3,"BrowserSession"],[3,"PersistentSession"],[4,"TtlExtensionPolicy"],[4,"CookieContentSecurity"],[4,"SameSite"],[3,"Duration"],[3,"SessionKey"],[3,"RedisActorSessionStoreBuilder"],[3,"RedisActorSessionStore"],[3,"RedisSessionStoreBuilder"],[3,"RedisSessionStore"],[3,"CookieSessionStore"],[8,"Future"],[3,"Box"],[3,"Pin"],[4,"LoadError"],[4,"SaveError"],[4,"UpdateError"],[8,"SessionExt"]]},\ +"actix_settings":{"doc":"Easily manage Actix Web’s settings from a TOML file and …","t":[3,3,8,4,3,13,13,13,13,13,13,13,13,13,4,13,13,13,4,13,13,13,13,4,4,13,4,3,4,13,8,13,13,13,13,13,13,6,4,3,13,12,12,10,12,11,11,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,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,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,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,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,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,11,11,10,11,11,11,11,11,11,11,11,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,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,12,12,12,12],"n":["ActixSettings","Address","ApplySettings","Backlog","BasicSettings","Default","Default","Default","Default","Default","Default","Development","Disabled","EnvVarError","Error","FileExists","InvalidValue","IoError","KeepAlive","Manual","Manual","Manual","Manual","MaxConnectionRate","MaxConnections","Milliseconds","Mode","NoSettings","NumWorkers","Os","Parse","ParseAddressError","ParseBoolError","ParseIntError","Production","Seconds","Seconds","Settings","Timeout","Tls","TomlError","actix","application","apply_settings","backlog","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","certificate","client_shutdown","client_timeout","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","enable_compression","enable_log","enabled","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_default_template","from_template","get_hash","get_hash","get_hash","get_hash","get_hash","get_hash","get_hash","get_hash","get_hash","get_hash","get_hash","get_hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","hash","host","hosts","into","into","into","into","into","into","into","into","into","into","into","into","into","keep_alive","max_connection_rate","max_connections","mode","num_workers","override_field","override_field_with_env_var","parse","parse","parse","parse","parse","parse","parse","parse","parse","parse_toml","port","private_key","shutdown_timeout","tls","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","write_toml_file","column","expected","file","got","line"],"q":["actix_settings","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","actix_settings::Error","","","",""],"d":["Settings types for Actix Web.","A host/port pair for the server to bind to.","Extension trait for applying parsed settings to the server …","The maximum number of pending connections.","Wrapper for server and application-specific settings.","The default number of connections. See struct docs.","The default keep-alive as defined by Actix Web.","The default connection limit. See struct docs.","The default number of connections. See struct docs.","The default number of workers. See struct docs.","The default timeout. Depends on context.","Marks development environment.","Disable keep-alive.","Environment variable does not exists or is invalid.","Errors that can be returned from methods in this crate.","File already exists on disk.","Invalid value.","I/O error.","The server keep-alive preference.","A specific number of connections.","A specific connection limit.","A specific number of connections.","A specific number of workers.","The maximum per-worker concurrent TLS connection limit.","The maximum per-worker number of concurrent connections.","Timeout in milliseconds.","Marker of intended deployment environment.","Marker type representing no defined application-specific …","The number of workers that the server should start.","Let the OS determine keep-alive duration.","A specialized FromStr trait that returns [AtError] errors","Value is not an address.","Value is not a boolean.","Value is not an integer.","Marks production environment.","A specific keep-alive duration (in seconds).","Timeout in seconds.","Convenience type alias for BasicSettings with no defined …","A timeout duration in milliseconds or seconds.","TLS (HTTPS) configuration.","Error deserializing as TOML.","Actix Web server settings.","Application-specific settings.","Apply a BasicSettings value to self.","The maximum number of pending connections.","","","","","","","","","","","","","","","","","","","","","","","","","","","Path to certificate .pem file.","Timeout duration for connection shutdown.","Timeout duration for reading client request header.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","True if the Compress middleware should be enabled.","True if the Logger middleware should be enabled.","Tru if accepting TLS connections should be enabled.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Parse an instance of Self straight from the default TOML …","Parse an instance of Self straight from the default TOML …","","","","","","","","","","","","","","","","","","","","","","","","","Host part of address.","List of addresses for the server to bind to.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Server keep-alive preference.","The per-worker maximum concurrent TLS connection limit.","The per-worker maximum number of concurrent connections.","Marker of intended deployment environment.","The number of workers that the server should start.","Attempts to parse value and override the referenced field.","Attempts to read an environment variable, parse it, and …","Parse Self from string.","","","","","","","","","Parse an instance of Self from a TOML file located at …","Port part of address.","Path to private key .pem file.","Timeout duration for graceful worker shutdown.","TLS (HTTPS) configuration.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Writes the default TOML template to a new file, located at …","","","","",""],"i":[0,0,0,0,0,4,5,6,7,9,10,8,5,2,0,2,2,2,0,4,6,7,9,0,0,10,0,0,0,5,0,2,2,2,8,5,10,0,0,0,2,1,1,31,12,2,3,4,5,6,7,8,9,10,11,12,1,14,2,3,4,5,6,7,8,9,10,11,12,1,14,11,12,12,2,3,4,5,6,7,8,9,10,11,12,1,14,2,3,4,5,6,7,8,9,10,11,12,1,14,3,4,5,6,7,8,9,10,11,12,1,14,12,12,11,3,4,5,6,7,8,9,10,11,12,1,14,3,4,5,6,7,8,9,10,11,12,1,14,2,3,4,5,6,7,8,9,10,11,12,1,14,2,2,2,2,2,2,2,3,4,5,6,7,8,9,10,11,12,1,14,1,1,3,4,5,6,7,8,9,10,11,12,1,14,3,4,5,6,7,8,9,10,11,12,1,14,3,12,2,3,4,5,6,7,8,9,10,11,12,1,14,12,12,12,12,12,1,1,32,3,4,5,6,7,8,9,10,1,3,11,12,12,2,3,4,5,6,7,8,9,10,11,12,1,14,2,3,4,5,6,7,8,9,10,11,12,1,14,2,3,4,5,6,7,8,9,10,11,12,1,14,2,3,4,5,6,7,8,9,10,11,12,1,14,2,3,4,5,6,7,8,9,10,11,12,1,14,1,33,33,33,33,33],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,[2,2],[3,3],[4,4],[5,5],[6,6],[7,7],[8,8],[9,9],[10,10],[11,11],[12,12],[[[1,[13]]],[[1,[13]]]],[14,14],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],[[15,[3]]]],[[],[[15,[4]]]],[[],[[15,[5]]]],[[],[[15,[6]]]],[[],[[15,[7]]]],[[],[[15,[8]]]],[[],[[15,[9]]]],[[],[[15,[10]]]],[[],[[15,[11]]]],[[],[[15,[12]]]],[[],[[15,[1]]]],[[],[[15,[14]]]],0,0,0,[[3,3],16],[[4,4],16],[[5,5],16],[[6,6],16],[[7,7],16],[[8,8],16],[[9,9],16],[[10,10],16],[[11,11],16],[[12,12],16],[[[1,[17]],1],16],[[14,14],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[],16],[[2,18],19],[[3,18],19],[[4,18],19],[[5,18],19],[[6,18],19],[[7,18],19],[[8,18],19],[[9,18],19],[[10,18],19],[[11,18],19],[[12,18],19],[[[1,[20]],18],19],[[14,18],19],[[]],[21,2],[22,2],[23,2],[24,2],[25,2],[26,2],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],[[15,[1,2]]]],[27,[[15,[1,2]]]],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[[],28],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[[[1,[29]]]],[14],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,[[],[[15,[2]]]],[[],[[15,[2]]]],[27,[[15,[2]]]],[27,[[15,[3,2]]]],[27,[[15,[4,2]]]],[27,[[15,[5,2]]]],[27,[[15,[6,2]]]],[27,[[15,[7,2]]]],[27,[[15,[8,2]]]],[27,[[15,[9,2]]]],[27,[[15,[10,2]]]],[[],[[15,[1,2]]]],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[],30],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],[[15,[2]]]],0,0,0,0,0],"p":[[3,"BasicSettings"],[4,"Error"],[3,"Address"],[4,"Backlog"],[4,"KeepAlive"],[4,"MaxConnectionRate"],[4,"MaxConnections"],[4,"Mode"],[4,"NumWorkers"],[4,"Timeout"],[3,"Tls"],[3,"ActixSettings"],[8,"Clone"],[3,"NoSettings"],[4,"Result"],[15,"bool"],[8,"PartialEq"],[3,"Formatter"],[6,"Result"],[8,"Debug"],[4,"VarError"],[3,"Error"],[3,"ParseIntError"],[3,"ParseBoolError"],[3,"IoError"],[3,"Error"],[15,"str"],[15,"u64"],[8,"Hash"],[3,"TypeId"],[8,"ApplySettings"],[8,"Parse"],[13,"InvalidValue"]],"a":{"https":[39],"ssl":[39]}},\ +"actix_web_httpauth":{"doc":"HTTP authentication schemes for Actix Web.","t":[0,0,0,8,3,16,0,0,11,11,11,11,11,11,11,11,11,10,11,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,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,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,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,11,8,3,0,0,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,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,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["extractors","headers","middleware","AuthExtractorConfig","AuthenticationError","Inner","basic","bearer","borrow","borrow_mut","challenge_mut","error_response","fmt","fmt","from","from","into","into_inner","new","provide","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","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","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","new","new","parse","parse","parse","parse","partial_cmp","partial_cmp","partial_cmp","password","provide","source","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","token","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into_pair","try_into_value","try_into_value","try_into_value","type_id","type_id","type_id","type_id","user_id","vzip","vzip","vzip","vzip","Challenge","WwwAuthenticate","basic","bearer","borrow","borrow_mut","clone","clone_into","cmp","default","eq","equivalent","fmt","from","get_hash","hash","into","name","parse","partial_cmp","to_bytes","to_owned","try_from","try_into","try_into_pair","try_into_value","type_id","vzip","Basic","borrow","borrow_mut","clone","clone_into","cmp","default","eq","equivalent","fmt","fmt","from","get_hash","hash","into","new","partial_cmp","to_owned","to_string","try_from","try_into","try_into_value","type_id","vzip","with_realm","Bearer","BearerBuilder","Error","InsufficientScope","InvalidRequest","InvalidToken","borrow","borrow","borrow_mut","borrow_mut","build","clone","clone_into","cmp","default","default","eq","equivalent","error","error_description","error_uri","finish","fmt","fmt","fmt","from","from","get_hash","hash","into","into","partial_cmp","realm","scope","to_owned","to_string","try_from","try_from","try_into","try_into","try_into_value","type_id","type_id","vzip","vzip","HttpAuthentication","basic","bearer","borrow","borrow_mut","clone","clone_into","fmt","from","into","new_transform","to_owned","try_from","try_into","type_id","vzip","with_fn"],"q":["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 for types that provides configuration …","Authentication error returned by authentication extractors.","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.","","","","","Returns the argument unchanged.","Calls U::from(self).","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 WWW-Authenticate…","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","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, …","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","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.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","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 an 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.","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","Converts the challenge into a bytes suitable for HTTP …","","","","","","","","Challenge for WWW-Authenticate header with HTTP Basic auth …","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","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 [RFC 6750, …","Provides the error_description attribute, as defined in […","Provides the error_uri attribute, as defined in [RFC 6750 …","Consumes the builder and returns built Bearer instance.","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","Provides the realm attribute, as defined in RFC 2617.","Provides the scope attribute, as defined in RFC 6749 §3.3.","","","","","","","","","","","","Middleware for checking HTTP authentication.","Construct HttpAuthentication middleware for the HTTP “…","Construct HttpAuthentication middleware for the HTTP “…","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","Construct HttpAuthentication middleware with the provided …"],"i":[0,0,0,0,0,52,0,0,2,2,2,2,2,2,2,2,2,52,2,2,2,2,2,2,2,2,2,2,2,2,0,0,14,14,16,14,16,14,16,14,16,14,14,16,14,16,16,14,16,14,16,14,14,16,14,16,14,16,14,16,16,14,16,0,0,0,13,13,13,21,21,22,13,21,22,13,21,22,13,21,22,13,13,21,13,13,21,22,13,13,21,22,13,22,13,13,21,22,13,21,13,21,21,13,21,22,13,13,22,21,22,13,21,22,13,21,22,13,21,22,13,0,0,0,36,0,0,36,36,36,0,0,36,36,29,29,36,29,31,32,36,29,31,32,29,31,32,29,31,32,29,31,32,29,29,31,32,29,31,32,36,36,29,29,31,31,32,32,36,36,36,36,29,29,29,31,32,29,29,36,29,31,32,29,29,31,32,28,29,31,32,29,31,32,31,36,36,29,31,32,36,29,31,32,32,36,29,31,32,36,29,31,32,29,29,31,32,36,29,31,32,31,36,29,31,32,0,0,0,0,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,1,47,47,47,47,47,47,47,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,0,0,13,13,13,50,12,50,12,12,12,12,12,50,12,12,12,50,50,50,50,50,12,12,50,12,12,12,50,12,12,50,50,12,12,50,12,50,12,12,50,12,50,12,0,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51],"f":[0,0,0,0,0,0,0,0,[[]],[[]],[[[2,[1]]]],[[[2,[1]]],3],[[[2,[1]],4],5],[[[2,[[0,[6,1]]]],4],5],[[],2],[[]],[[]],[[]],[1,[[2,[1]]]],[7],[[[2,[1]]],8],[[[2,[1]]],8],[[],9],[[],10],[[],10],[[],11],[[]],[[[2,[12]],13],[[2,[12]]]],[[[2,[12]]],[[2,[12]]]],[[[2,[12]]],[[2,[12]]]],0,0,[14,15],[[]],[[]],[[]],[[]],[14,14],[16,16],[[]],[[]],[[],14],[[14,4],5],[[16,4],5],[[]],[[]],[[17,18]],[[]],[[]],[14],[16,[[20,[19]]]],[14,14],[[]],[[]],[[],10],[[],10],[[],10],[[],10],[[],11],[[],11],[16,19],[[]],[[]],0,0,0,0,0,0,[21,12],[[]],[[]],[[]],[[]],[[]],[[]],[21,21],[22,22],[13,13],[[]],[[]],[[]],[[13,13],23],[[],21],[[13,13],24],[[],24],[[21,4],5],[[22,4],5],[[13,4],5],[[13,4],5],[[]],[[]],[[]],[[17,18]],[[],25],[13],[[]],[[]],[[]],[21],[[13,13],[[20,[23]]]],[[21,[27,[[26,[19]]]]],21],[[21,[27,[[26,[19]]]]],21],[13,8],[[]],[[]],[[]],[[],9],[22,19],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],11],[[],11],[[],11],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,[[[29,[28]]]],[[[29,[28]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[29,[[0,[30,28]]]]],[[29,[[0,[30,28]]]]]],[31,31],[32,32],[[]],[[]],[[]],[[[29,[[0,[33,28]]]],29],23],[[31,31],23],[[32,32],23],[[],[[29,[[0,[34,28]]]]]],[[[29,[[0,[35,28]]]],29],24],[[31,31],24],[[32,32],24],[[],24],[[],24],[[],24],[[36,4],5],[[36,4],5],[[[29,[[0,[6,28]]]],4],5],[[[29,[28]],4],5],[[31,4],5],[[31,4],5],[[32,4],5],[[32,4],5],[37,36],[38,36],[[]],[39,36],[28,[[29,[28]]]],[40],[[]],[[]],[[]],[[],25],[[[29,[[0,[41,28]]]]]],[[]],[[]],[[]],[[]],[[[29,[28]]],28],[[],42],[20,31],[[],32],[43,[[10,[36]]]],[[],[[10,[[29,[28]],44]]]],[43,[[10,[31,36]]]],[43,[[10,[32,36]]]],[[[29,[[0,[45,28]]]],29],[[20,[23]]]],[[31,31],[[20,[23]]]],[[32,32],[[20,[23]]]],[31,[[20,[19]]]],[7],[36,[[20,[46]]]],[[]],[[]],[[]],[[],9],[[],9],[[],9],[[],9],[32,19],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[],10],[[[29,[28]]],[[10,[43]]]],[31,[[10,[43]]]],[32,[[10,[43]]]],[[],11],[[],11],[[],11],[[],11],[31,19],[[]],[[]],[[]],[[]],0,0,0,0,[[]],[[]],[[[47,[[0,[30,1]]]]],[[47,[[0,[30,1]]]]]],[[]],[[[47,[[0,[33,1]]]],47],23],[[],[[47,[[0,[34,1]]]]]],[[[47,[[0,[35,1]]]],47],24],[[],24],[[[47,[[0,[6,1]]]],4],5],[[]],[[],25],[[[47,[[0,[41,1]]]]]],[[]],[[],42],[[],[[10,[[47,[1]],44]]]],[[[47,[[0,[45,1]]]],47],[[20,[23]]]],[[],48],[[]],[[],10],[[],10],[[],10],[[[47,[1]]],[[10,[43]]]],[[],11],[[]],0,[[]],[[]],[15,15],[[]],[[15,15],23],[[],15],[[15,15],24],[[],24],[[15,4],[[10,[49]]]],[[15,4],5],[[]],[[],25],[15],[[]],[[],15],[[15,15],[[20,[23]]]],[[]],[[],9],[[],10],[[],10],[15,[[10,[43]]]],[[],11],[[]],[[],15],0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[],50],[12,12],[[]],[[12,12],23],[[],50],[[],12],[[12,12],24],[[],24],[[50,13],50],[50,50],[50,50],[50,12],[[50,4],5],[[12,4],[[10,[49]]]],[[12,4],5],[[]],[[]],[[],25],[12],[[]],[[]],[[12,12],[[20,[23]]]],[50,50],[50,50],[[]],[[],9],[[],10],[[],10],[[],10],[[],10],[12,[[10,[43]]]],[[],11],[[],11],[[]],[[]],0,[[],[[51,[16]]]],[[],[[51,[22]]]],[[]],[[]],[[[51,[30,30]]],[[51,[30,30]]]],[[]],[[[51,[6,6]],4],5],[[]],[[]],[51],[[]],[[],10],[[],10],[[],11],[[]],[[],51]],"p":[[8,"Challenge"],[3,"AuthenticationError"],[3,"HttpResponse"],[3,"Formatter"],[6,"Result"],[8,"Debug"],[3,"Demand"],[3,"StatusCode"],[3,"String"],[4,"Result"],[3,"TypeId"],[3,"Bearer"],[4,"Error"],[3,"Config"],[3,"Basic"],[3,"BasicAuth"],[3,"HttpRequest"],[4,"Payload"],[15,"str"],[4,"Option"],[3,"Config"],[3,"BearerAuth"],[4,"Ordering"],[15,"bool"],[15,"u64"],[4,"Cow"],[8,"Into"],[8,"Scheme"],[3,"Authorization"],[8,"Clone"],[3,"Basic"],[3,"Bearer"],[8,"Ord"],[8,"Default"],[8,"PartialEq"],[4,"ParseError"],[3,"Utf8Error"],[3,"ToStrError"],[4,"DecodeError"],[15,"never"],[8,"Hash"],[3,"HeaderName"],[3,"HeaderValue"],[4,"ParseError"],[8,"PartialOrd"],[8,"Error"],[3,"WwwAuthenticate"],[3,"Bytes"],[3,"Error"],[3,"BearerBuilder"],[3,"HttpAuthentication"],[8,"AuthExtractorConfig"]]}\ }'); if (typeof window !== 'undefined' && window.initSearch) {window.initSearch(searchIndex)}; if (typeof exports !== 'undefined') {exports.searchIndex = searchIndex}; diff --git a/settings.html b/settings.html index 87bca3844..4d7760e3d 100644 --- a/settings.html +++ b/settings.html @@ -1,2 +1 @@ -Rustdoc settings

    Rustdoc settings

    Back
    \ No newline at end of file +Rustdoc settings

    Rustdoc settings

    Back
    \ No newline at end of file diff --git a/src/actix_cors/all_or_some.rs.html b/src/actix_cors/all_or_some.rs.html index 47cf89afa..3b4c3a2e3 100644 --- a/src/actix_cors/all_or_some.rs.html +++ b/src/actix_cors/all_or_some.rs.html @@ -1,59 +1,59 @@ -all_or_some.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    +all_or_some.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
     
    /// An enum signifying that some of type `T` is allowed, or `All` (anything is allowed).
     #[derive(Debug, Clone, PartialEq, Eq)]
     pub enum AllOrSome<T> {
    @@ -110,4 +110,4 @@
         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 0c69d4178..a6614bfd0 100644 --- a/src/actix_cors/builder.rs.html +++ b/src/actix_cors/builder.rs.html @@ -1,689 +1,689 @@ -builder.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    -71
    -72
    -73
    -74
    -75
    -76
    -77
    -78
    -79
    -80
    -81
    -82
    -83
    -84
    -85
    -86
    -87
    -88
    -89
    -90
    -91
    -92
    -93
    -94
    -95
    -96
    -97
    -98
    -99
    -100
    -101
    -102
    -103
    -104
    -105
    -106
    -107
    -108
    -109
    -110
    -111
    -112
    -113
    -114
    -115
    -116
    -117
    -118
    -119
    -120
    -121
    -122
    -123
    -124
    -125
    -126
    -127
    -128
    -129
    -130
    -131
    -132
    -133
    -134
    -135
    -136
    -137
    -138
    -139
    -140
    -141
    -142
    -143
    -144
    -145
    -146
    -147
    -148
    -149
    -150
    -151
    -152
    -153
    -154
    -155
    -156
    -157
    -158
    -159
    -160
    -161
    -162
    -163
    -164
    -165
    -166
    -167
    -168
    -169
    -170
    -171
    -172
    -173
    -174
    -175
    -176
    -177
    -178
    -179
    -180
    -181
    -182
    -183
    -184
    -185
    -186
    -187
    -188
    -189
    -190
    -191
    -192
    -193
    -194
    -195
    -196
    -197
    -198
    -199
    -200
    -201
    -202
    -203
    -204
    -205
    -206
    -207
    -208
    -209
    -210
    -211
    -212
    -213
    -214
    -215
    -216
    -217
    -218
    -219
    -220
    -221
    -222
    -223
    -224
    -225
    -226
    -227
    -228
    -229
    -230
    -231
    -232
    -233
    -234
    -235
    -236
    -237
    -238
    -239
    -240
    -241
    -242
    -243
    -244
    -245
    -246
    -247
    -248
    -249
    -250
    -251
    -252
    -253
    -254
    -255
    -256
    -257
    -258
    -259
    -260
    -261
    -262
    -263
    -264
    -265
    -266
    -267
    -268
    -269
    -270
    -271
    -272
    -273
    -274
    -275
    -276
    -277
    -278
    -279
    -280
    -281
    -282
    -283
    -284
    -285
    -286
    -287
    -288
    -289
    -290
    -291
    -292
    -293
    -294
    -295
    -296
    -297
    -298
    -299
    -300
    -301
    -302
    -303
    -304
    -305
    -306
    -307
    -308
    -309
    -310
    -311
    -312
    -313
    -314
    -315
    -316
    -317
    -318
    -319
    -320
    -321
    -322
    -323
    -324
    -325
    -326
    -327
    -328
    -329
    -330
    -331
    -332
    -333
    -334
    -335
    -336
    -337
    -338
    -339
    -340
    -341
    -342
    -343
    -344
    -345
    -346
    -347
    -348
    -349
    -350
    -351
    -352
    -353
    -354
    -355
    -356
    -357
    -358
    -359
    -360
    -361
    -362
    -363
    -364
    -365
    -366
    -367
    -368
    -369
    -370
    -371
    -372
    -373
    -374
    -375
    -376
    -377
    -378
    -379
    -380
    -381
    -382
    -383
    -384
    -385
    -386
    -387
    -388
    -389
    -390
    -391
    -392
    -393
    -394
    -395
    -396
    -397
    -398
    -399
    -400
    -401
    -402
    -403
    -404
    -405
    -406
    -407
    -408
    -409
    -410
    -411
    -412
    -413
    -414
    -415
    -416
    -417
    -418
    -419
    -420
    -421
    -422
    -423
    -424
    -425
    -426
    -427
    -428
    -429
    -430
    -431
    -432
    -433
    -434
    -435
    -436
    -437
    -438
    -439
    -440
    -441
    -442
    -443
    -444
    -445
    -446
    -447
    -448
    -449
    -450
    -451
    -452
    -453
    -454
    -455
    -456
    -457
    -458
    -459
    -460
    -461
    -462
    -463
    -464
    -465
    -466
    -467
    -468
    -469
    -470
    -471
    -472
    -473
    -474
    -475
    -476
    -477
    -478
    -479
    -480
    -481
    -482
    -483
    -484
    -485
    -486
    -487
    -488
    -489
    -490
    -491
    -492
    -493
    -494
    -495
    -496
    -497
    -498
    -499
    -500
    -501
    -502
    -503
    -504
    -505
    -506
    -507
    -508
    -509
    -510
    -511
    -512
    -513
    -514
    -515
    -516
    -517
    -518
    -519
    -520
    -521
    -522
    -523
    -524
    -525
    -526
    -527
    -528
    -529
    -530
    -531
    -532
    -533
    -534
    -535
    -536
    -537
    -538
    -539
    -540
    -541
    -542
    -543
    -544
    -545
    -546
    -547
    -548
    -549
    -550
    -551
    -552
    -553
    -554
    -555
    -556
    -557
    -558
    -559
    -560
    -561
    -562
    -563
    -564
    -565
    -566
    -567
    -568
    -569
    -570
    -571
    -572
    -573
    -574
    -575
    -576
    -577
    -578
    -579
    -580
    -581
    -582
    -583
    -584
    -585
    -586
    -587
    -588
    -589
    -590
    -591
    -592
    -593
    -594
    -595
    -596
    -597
    -598
    -599
    -600
    -601
    -602
    -603
    -604
    -605
    -606
    -607
    -608
    -609
    -610
    -611
    -612
    -613
    -614
    -615
    -616
    -617
    -618
    -619
    -620
    -621
    -622
    -623
    -624
    -625
    -626
    -627
    -628
    -629
    -630
    -631
    -632
    -633
    -634
    -635
    -636
    -637
    -638
    -639
    -640
    -641
    -642
    -643
    -644
    -645
    -646
    -647
    -648
    -649
    -650
    -651
    -652
    -653
    -654
    -655
    -656
    -657
    -658
    -659
    -660
    -661
    -662
    -663
    -664
    -665
    -666
    -667
    -668
    -669
    -670
    -671
    -672
    -673
    -674
    -675
    -676
    -677
    -678
    -679
    -680
    -681
    -682
    -683
    -684
    -685
    +builder.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
    +99
    +100
    +101
    +102
    +103
    +104
    +105
    +106
    +107
    +108
    +109
    +110
    +111
    +112
    +113
    +114
    +115
    +116
    +117
    +118
    +119
    +120
    +121
    +122
    +123
    +124
    +125
    +126
    +127
    +128
    +129
    +130
    +131
    +132
    +133
    +134
    +135
    +136
    +137
    +138
    +139
    +140
    +141
    +142
    +143
    +144
    +145
    +146
    +147
    +148
    +149
    +150
    +151
    +152
    +153
    +154
    +155
    +156
    +157
    +158
    +159
    +160
    +161
    +162
    +163
    +164
    +165
    +166
    +167
    +168
    +169
    +170
    +171
    +172
    +173
    +174
    +175
    +176
    +177
    +178
    +179
    +180
    +181
    +182
    +183
    +184
    +185
    +186
    +187
    +188
    +189
    +190
    +191
    +192
    +193
    +194
    +195
    +196
    +197
    +198
    +199
    +200
    +201
    +202
    +203
    +204
    +205
    +206
    +207
    +208
    +209
    +210
    +211
    +212
    +213
    +214
    +215
    +216
    +217
    +218
    +219
    +220
    +221
    +222
    +223
    +224
    +225
    +226
    +227
    +228
    +229
    +230
    +231
    +232
    +233
    +234
    +235
    +236
    +237
    +238
    +239
    +240
    +241
    +242
    +243
    +244
    +245
    +246
    +247
    +248
    +249
    +250
    +251
    +252
    +253
    +254
    +255
    +256
    +257
    +258
    +259
    +260
    +261
    +262
    +263
    +264
    +265
    +266
    +267
    +268
    +269
    +270
    +271
    +272
    +273
    +274
    +275
    +276
    +277
    +278
    +279
    +280
    +281
    +282
    +283
    +284
    +285
    +286
    +287
    +288
    +289
    +290
    +291
    +292
    +293
    +294
    +295
    +296
    +297
    +298
    +299
    +300
    +301
    +302
    +303
    +304
    +305
    +306
    +307
    +308
    +309
    +310
    +311
    +312
    +313
    +314
    +315
    +316
    +317
    +318
    +319
    +320
    +321
    +322
    +323
    +324
    +325
    +326
    +327
    +328
    +329
    +330
    +331
    +332
    +333
    +334
    +335
    +336
    +337
    +338
    +339
    +340
    +341
    +342
    +343
    +344
    +345
    +346
    +347
    +348
    +349
    +350
    +351
    +352
    +353
    +354
    +355
    +356
    +357
    +358
    +359
    +360
    +361
    +362
    +363
    +364
    +365
    +366
    +367
    +368
    +369
    +370
    +371
    +372
    +373
    +374
    +375
    +376
    +377
    +378
    +379
    +380
    +381
    +382
    +383
    +384
    +385
    +386
    +387
    +388
    +389
    +390
    +391
    +392
    +393
    +394
    +395
    +396
    +397
    +398
    +399
    +400
    +401
    +402
    +403
    +404
    +405
    +406
    +407
    +408
    +409
    +410
    +411
    +412
    +413
    +414
    +415
    +416
    +417
    +418
    +419
    +420
    +421
    +422
    +423
    +424
    +425
    +426
    +427
    +428
    +429
    +430
    +431
    +432
    +433
    +434
    +435
    +436
    +437
    +438
    +439
    +440
    +441
    +442
    +443
    +444
    +445
    +446
    +447
    +448
    +449
    +450
    +451
    +452
    +453
    +454
    +455
    +456
    +457
    +458
    +459
    +460
    +461
    +462
    +463
    +464
    +465
    +466
    +467
    +468
    +469
    +470
    +471
    +472
    +473
    +474
    +475
    +476
    +477
    +478
    +479
    +480
    +481
    +482
    +483
    +484
    +485
    +486
    +487
    +488
    +489
    +490
    +491
    +492
    +493
    +494
    +495
    +496
    +497
    +498
    +499
    +500
    +501
    +502
    +503
    +504
    +505
    +506
    +507
    +508
    +509
    +510
    +511
    +512
    +513
    +514
    +515
    +516
    +517
    +518
    +519
    +520
    +521
    +522
    +523
    +524
    +525
    +526
    +527
    +528
    +529
    +530
    +531
    +532
    +533
    +534
    +535
    +536
    +537
    +538
    +539
    +540
    +541
    +542
    +543
    +544
    +545
    +546
    +547
    +548
    +549
    +550
    +551
    +552
    +553
    +554
    +555
    +556
    +557
    +558
    +559
    +560
    +561
    +562
    +563
    +564
    +565
    +566
    +567
    +568
    +569
    +570
    +571
    +572
    +573
    +574
    +575
    +576
    +577
    +578
    +579
    +580
    +581
    +582
    +583
    +584
    +585
    +586
    +587
    +588
    +589
    +590
    +591
    +592
    +593
    +594
    +595
    +596
    +597
    +598
    +599
    +600
    +601
    +602
    +603
    +604
    +605
    +606
    +607
    +608
    +609
    +610
    +611
    +612
    +613
    +614
    +615
    +616
    +617
    +618
    +619
    +620
    +621
    +622
    +623
    +624
    +625
    +626
    +627
    +628
    +629
    +630
    +631
    +632
    +633
    +634
    +635
    +636
    +637
    +638
    +639
    +640
    +641
    +642
    +643
    +644
    +645
    +646
    +647
    +648
    +649
    +650
    +651
    +652
    +653
    +654
    +655
    +656
    +657
    +658
    +659
    +660
    +661
    +662
    +663
    +664
    +665
    +666
    +667
    +668
    +669
    +670
    +671
    +672
    +673
    +674
    +675
    +676
    +677
    +678
    +679
    +680
    +681
    +682
    +683
    +684
    +685
     
    use std::{collections::HashSet, convert::TryInto, iter::FromIterator, rc::Rc};
     
     use actix_utils::future::{self, Ready};
    @@ -1370,4 +1370,4 @@
         }
     }
     
    -
    \ 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 6b00969e6..f4a139689 100644 --- a/src/actix_cors/error.rs.html +++ b/src/actix_cors/error.rs.html @@ -1,53 +1,53 @@ -error.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    +error.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
     
    use actix_web::{http::StatusCode, HttpResponse, ResponseError};
     use derive_more::{Display, Error};
     
    @@ -98,4 +98,4 @@
         }
     }
     
    -
    \ 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 9e2b10c17..97ed17d75 100644 --- a/src/actix_cors/inner.rs.html +++ b/src/actix_cors/inner.rs.html @@ -1,411 +1,411 @@ -inner.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    -71
    -72
    -73
    -74
    -75
    -76
    -77
    -78
    -79
    -80
    -81
    -82
    -83
    -84
    -85
    -86
    -87
    -88
    -89
    -90
    -91
    -92
    -93
    -94
    -95
    -96
    -97
    -98
    -99
    -100
    -101
    -102
    -103
    -104
    -105
    -106
    -107
    -108
    -109
    -110
    -111
    -112
    -113
    -114
    -115
    -116
    -117
    -118
    -119
    -120
    -121
    -122
    -123
    -124
    -125
    -126
    -127
    -128
    -129
    -130
    -131
    -132
    -133
    -134
    -135
    -136
    -137
    -138
    -139
    -140
    -141
    -142
    -143
    -144
    -145
    -146
    -147
    -148
    -149
    -150
    -151
    -152
    -153
    -154
    -155
    -156
    -157
    -158
    -159
    -160
    -161
    -162
    -163
    -164
    -165
    -166
    -167
    -168
    -169
    -170
    -171
    -172
    -173
    -174
    -175
    -176
    -177
    -178
    -179
    -180
    -181
    -182
    -183
    -184
    -185
    -186
    -187
    -188
    -189
    -190
    -191
    -192
    -193
    -194
    -195
    -196
    -197
    -198
    -199
    -200
    -201
    -202
    -203
    -204
    -205
    -206
    -207
    -208
    -209
    -210
    -211
    -212
    -213
    -214
    -215
    -216
    -217
    -218
    -219
    -220
    -221
    -222
    -223
    -224
    -225
    -226
    -227
    -228
    -229
    -230
    -231
    -232
    -233
    -234
    -235
    -236
    -237
    -238
    -239
    -240
    -241
    -242
    -243
    -244
    -245
    -246
    -247
    -248
    -249
    -250
    -251
    -252
    -253
    -254
    -255
    -256
    -257
    -258
    -259
    -260
    -261
    -262
    -263
    -264
    -265
    -266
    -267
    -268
    -269
    -270
    -271
    -272
    -273
    -274
    -275
    -276
    -277
    -278
    -279
    -280
    -281
    -282
    -283
    -284
    -285
    -286
    -287
    -288
    -289
    -290
    -291
    -292
    -293
    -294
    -295
    -296
    -297
    -298
    -299
    -300
    -301
    -302
    -303
    -304
    -305
    -306
    -307
    -308
    -309
    -310
    -311
    -312
    -313
    -314
    -315
    -316
    -317
    -318
    -319
    -320
    -321
    -322
    -323
    -324
    -325
    -326
    -327
    -328
    -329
    -330
    -331
    -332
    -333
    -334
    -335
    -336
    -337
    -338
    -339
    -340
    -341
    -342
    -343
    -344
    -345
    -346
    -347
    -348
    -349
    -350
    -351
    -352
    -353
    -354
    -355
    -356
    -357
    -358
    -359
    -360
    -361
    -362
    -363
    -364
    -365
    -366
    -367
    -368
    -369
    -370
    -371
    -372
    -373
    -374
    -375
    -376
    -377
    -378
    -379
    -380
    -381
    -382
    -383
    -384
    -385
    -386
    -387
    -388
    -389
    -390
    -391
    -392
    -393
    -394
    -395
    -396
    -397
    -398
    -399
    -400
    -401
    -402
    -403
    -404
    -405
    -406
    -407
    +inner.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
    +99
    +100
    +101
    +102
    +103
    +104
    +105
    +106
    +107
    +108
    +109
    +110
    +111
    +112
    +113
    +114
    +115
    +116
    +117
    +118
    +119
    +120
    +121
    +122
    +123
    +124
    +125
    +126
    +127
    +128
    +129
    +130
    +131
    +132
    +133
    +134
    +135
    +136
    +137
    +138
    +139
    +140
    +141
    +142
    +143
    +144
    +145
    +146
    +147
    +148
    +149
    +150
    +151
    +152
    +153
    +154
    +155
    +156
    +157
    +158
    +159
    +160
    +161
    +162
    +163
    +164
    +165
    +166
    +167
    +168
    +169
    +170
    +171
    +172
    +173
    +174
    +175
    +176
    +177
    +178
    +179
    +180
    +181
    +182
    +183
    +184
    +185
    +186
    +187
    +188
    +189
    +190
    +191
    +192
    +193
    +194
    +195
    +196
    +197
    +198
    +199
    +200
    +201
    +202
    +203
    +204
    +205
    +206
    +207
    +208
    +209
    +210
    +211
    +212
    +213
    +214
    +215
    +216
    +217
    +218
    +219
    +220
    +221
    +222
    +223
    +224
    +225
    +226
    +227
    +228
    +229
    +230
    +231
    +232
    +233
    +234
    +235
    +236
    +237
    +238
    +239
    +240
    +241
    +242
    +243
    +244
    +245
    +246
    +247
    +248
    +249
    +250
    +251
    +252
    +253
    +254
    +255
    +256
    +257
    +258
    +259
    +260
    +261
    +262
    +263
    +264
    +265
    +266
    +267
    +268
    +269
    +270
    +271
    +272
    +273
    +274
    +275
    +276
    +277
    +278
    +279
    +280
    +281
    +282
    +283
    +284
    +285
    +286
    +287
    +288
    +289
    +290
    +291
    +292
    +293
    +294
    +295
    +296
    +297
    +298
    +299
    +300
    +301
    +302
    +303
    +304
    +305
    +306
    +307
    +308
    +309
    +310
    +311
    +312
    +313
    +314
    +315
    +316
    +317
    +318
    +319
    +320
    +321
    +322
    +323
    +324
    +325
    +326
    +327
    +328
    +329
    +330
    +331
    +332
    +333
    +334
    +335
    +336
    +337
    +338
    +339
    +340
    +341
    +342
    +343
    +344
    +345
    +346
    +347
    +348
    +349
    +350
    +351
    +352
    +353
    +354
    +355
    +356
    +357
    +358
    +359
    +360
    +361
    +362
    +363
    +364
    +365
    +366
    +367
    +368
    +369
    +370
    +371
    +372
    +373
    +374
    +375
    +376
    +377
    +378
    +379
    +380
    +381
    +382
    +383
    +384
    +385
    +386
    +387
    +388
    +389
    +390
    +391
    +392
    +393
    +394
    +395
    +396
    +397
    +398
    +399
    +400
    +401
    +402
    +403
    +404
    +405
    +406
    +407
     
    use std::{
         collections::HashSet,
         convert::{TryFrom, TryInto},
    @@ -814,4 +814,4 @@
         }
     }
     
    -
    \ 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 930a8a4f6..3165cb89d 100644 --- a/src/actix_cors/lib.rs.html +++ b/src/actix_cors/lib.rs.html @@ -1,72 +1,72 @@ -lib.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    +lib.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
     
    //! Cross-Origin Resource Sharing (CORS) controls for Actix Web.
     //!
     //! This middleware can be applied to both applications and resources. Once built, a [`Cors`]
    @@ -136,4 +136,4 @@
     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 898561f00..df73fd482 100644 --- a/src/actix_cors/middleware.rs.html +++ b/src/actix_cors/middleware.rs.html @@ -1,305 +1,305 @@ -middleware.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    -71
    -72
    -73
    -74
    -75
    -76
    -77
    -78
    -79
    -80
    -81
    -82
    -83
    -84
    -85
    -86
    -87
    -88
    -89
    -90
    -91
    -92
    -93
    -94
    -95
    -96
    -97
    -98
    -99
    -100
    -101
    -102
    -103
    -104
    -105
    -106
    -107
    -108
    -109
    -110
    -111
    -112
    -113
    -114
    -115
    -116
    -117
    -118
    -119
    -120
    -121
    -122
    -123
    -124
    -125
    -126
    -127
    -128
    -129
    -130
    -131
    -132
    -133
    -134
    -135
    -136
    -137
    -138
    -139
    -140
    -141
    -142
    -143
    -144
    -145
    -146
    -147
    -148
    -149
    -150
    -151
    -152
    -153
    -154
    -155
    -156
    -157
    -158
    -159
    -160
    -161
    -162
    -163
    -164
    -165
    -166
    -167
    -168
    -169
    -170
    -171
    -172
    -173
    -174
    -175
    -176
    -177
    -178
    -179
    -180
    -181
    -182
    -183
    -184
    -185
    -186
    -187
    -188
    -189
    -190
    -191
    -192
    -193
    -194
    -195
    -196
    -197
    -198
    -199
    -200
    -201
    -202
    -203
    -204
    -205
    -206
    -207
    -208
    -209
    -210
    -211
    -212
    -213
    -214
    -215
    -216
    -217
    -218
    -219
    -220
    -221
    -222
    -223
    -224
    -225
    -226
    -227
    -228
    -229
    -230
    -231
    -232
    -233
    -234
    -235
    -236
    -237
    -238
    -239
    -240
    -241
    -242
    -243
    -244
    -245
    -246
    -247
    -248
    -249
    -250
    -251
    -252
    -253
    -254
    -255
    -256
    -257
    -258
    -259
    -260
    -261
    -262
    -263
    -264
    -265
    -266
    -267
    -268
    -269
    -270
    -271
    -272
    -273
    -274
    -275
    -276
    -277
    -278
    -279
    -280
    -281
    -282
    -283
    -284
    -285
    -286
    -287
    -288
    -289
    -290
    -291
    -292
    -293
    -294
    -295
    -296
    -297
    -298
    -299
    -300
    -301
    +middleware.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
    +99
    +100
    +101
    +102
    +103
    +104
    +105
    +106
    +107
    +108
    +109
    +110
    +111
    +112
    +113
    +114
    +115
    +116
    +117
    +118
    +119
    +120
    +121
    +122
    +123
    +124
    +125
    +126
    +127
    +128
    +129
    +130
    +131
    +132
    +133
    +134
    +135
    +136
    +137
    +138
    +139
    +140
    +141
    +142
    +143
    +144
    +145
    +146
    +147
    +148
    +149
    +150
    +151
    +152
    +153
    +154
    +155
    +156
    +157
    +158
    +159
    +160
    +161
    +162
    +163
    +164
    +165
    +166
    +167
    +168
    +169
    +170
    +171
    +172
    +173
    +174
    +175
    +176
    +177
    +178
    +179
    +180
    +181
    +182
    +183
    +184
    +185
    +186
    +187
    +188
    +189
    +190
    +191
    +192
    +193
    +194
    +195
    +196
    +197
    +198
    +199
    +200
    +201
    +202
    +203
    +204
    +205
    +206
    +207
    +208
    +209
    +210
    +211
    +212
    +213
    +214
    +215
    +216
    +217
    +218
    +219
    +220
    +221
    +222
    +223
    +224
    +225
    +226
    +227
    +228
    +229
    +230
    +231
    +232
    +233
    +234
    +235
    +236
    +237
    +238
    +239
    +240
    +241
    +242
    +243
    +244
    +245
    +246
    +247
    +248
    +249
    +250
    +251
    +252
    +253
    +254
    +255
    +256
    +257
    +258
    +259
    +260
    +261
    +262
    +263
    +264
    +265
    +266
    +267
    +268
    +269
    +270
    +271
    +272
    +273
    +274
    +275
    +276
    +277
    +278
    +279
    +280
    +281
    +282
    +283
    +284
    +285
    +286
    +287
    +288
    +289
    +290
    +291
    +292
    +293
    +294
    +295
    +296
    +297
    +298
    +299
    +300
    +301
     
    use std::{collections::HashSet, rc::Rc};
     
     use actix_utils::future::ok;
    @@ -602,4 +602,4 @@
         }
     }
     
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/src/actix_identity/config.rs.html b/src/actix_identity/config.rs.html index ff43a637e..05e957312 100644 --- a/src/actix_identity/config.rs.html +++ b/src/actix_identity/config.rs.html @@ -1,104 +1,104 @@ -config.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    -71
    -72
    -73
    -74
    -75
    -76
    -77
    -78
    -79
    -80
    -81
    -82
    -83
    -84
    -85
    -86
    -87
    -88
    -89
    -90
    -91
    -92
    -93
    -94
    -95
    -96
    -97
    -98
    -99
    -100
    -101
    +config.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
    +99
    +100
    +101
     
    //! Configuration options to tune the behaviour of [`IdentityMiddleware`].
     
     use std::time::Duration;
    @@ -201,4 +201,4 @@
         }
     }
     
    -
    \ 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 9783250fb..ab15a1c60 100644 --- a/src/actix_identity/identity.rs.html +++ b/src/actix_identity/identity.rs.html @@ -1,268 +1,268 @@ -identity.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    -71
    -72
    -73
    -74
    -75
    -76
    -77
    -78
    -79
    -80
    -81
    -82
    -83
    -84
    -85
    -86
    -87
    -88
    -89
    -90
    -91
    -92
    -93
    -94
    -95
    -96
    -97
    -98
    -99
    -100
    -101
    -102
    -103
    -104
    -105
    -106
    -107
    -108
    -109
    -110
    -111
    -112
    -113
    -114
    -115
    -116
    -117
    -118
    -119
    -120
    -121
    -122
    -123
    -124
    -125
    -126
    -127
    -128
    -129
    -130
    -131
    -132
    -133
    -134
    -135
    -136
    -137
    -138
    -139
    -140
    -141
    -142
    -143
    -144
    -145
    -146
    -147
    -148
    -149
    -150
    -151
    -152
    -153
    -154
    -155
    -156
    -157
    -158
    -159
    -160
    -161
    -162
    -163
    -164
    -165
    -166
    -167
    -168
    -169
    -170
    -171
    -172
    -173
    -174
    -175
    -176
    -177
    -178
    -179
    -180
    -181
    -182
    -183
    -184
    -185
    -186
    -187
    -188
    -189
    -190
    -191
    -192
    -193
    -194
    -195
    -196
    -197
    -198
    -199
    -200
    -201
    -202
    -203
    -204
    -205
    -206
    -207
    -208
    -209
    -210
    -211
    -212
    -213
    -214
    -215
    -216
    -217
    -218
    -219
    -220
    -221
    -222
    -223
    -224
    -225
    -226
    -227
    -228
    -229
    -230
    -231
    -232
    -233
    -234
    -235
    -236
    -237
    -238
    -239
    -240
    -241
    -242
    -243
    -244
    -245
    -246
    -247
    -248
    -249
    -250
    -251
    -252
    -253
    -254
    -255
    -256
    -257
    -258
    -259
    -260
    -261
    -262
    -263
    -264
    -265
    +identity.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
    +99
    +100
    +101
    +102
    +103
    +104
    +105
    +106
    +107
    +108
    +109
    +110
    +111
    +112
    +113
    +114
    +115
    +116
    +117
    +118
    +119
    +120
    +121
    +122
    +123
    +124
    +125
    +126
    +127
    +128
    +129
    +130
    +131
    +132
    +133
    +134
    +135
    +136
    +137
    +138
    +139
    +140
    +141
    +142
    +143
    +144
    +145
    +146
    +147
    +148
    +149
    +150
    +151
    +152
    +153
    +154
    +155
    +156
    +157
    +158
    +159
    +160
    +161
    +162
    +163
    +164
    +165
    +166
    +167
    +168
    +169
    +170
    +171
    +172
    +173
    +174
    +175
    +176
    +177
    +178
    +179
    +180
    +181
    +182
    +183
    +184
    +185
    +186
    +187
    +188
    +189
    +190
    +191
    +192
    +193
    +194
    +195
    +196
    +197
    +198
    +199
    +200
    +201
    +202
    +203
    +204
    +205
    +206
    +207
    +208
    +209
    +210
    +211
    +212
    +213
    +214
    +215
    +216
    +217
    +218
    +219
    +220
    +221
    +222
    +223
    +224
    +225
    +226
    +227
    +228
    +229
    +230
    +231
    +232
    +233
    +234
    +235
    +236
    +237
    +238
    +239
    +240
    +241
    +242
    +243
    +244
    +245
    +246
    +247
    +248
    +249
    +250
    +251
    +252
    +253
    +254
    +255
    +256
    +257
    +258
    +259
    +260
    +261
    +262
    +263
    +264
    +265
     
    use actix_session::Session;
     use actix_utils::future::{ready, Ready};
     use actix_web::{
    @@ -529,4 +529,4 @@
         }
     }
     
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/src/actix_identity/identity_ext.rs.html b/src/actix_identity/identity_ext.rs.html index 57d8efc78..3fb257b62 100644 --- a/src/actix_identity/identity_ext.rs.html +++ b/src/actix_identity/identity_ext.rs.html @@ -1,30 +1,30 @@ -identity_ext.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
    +identity_ext.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
     
    use actix_web::{dev::ServiceRequest, guard::GuardContext, HttpMessage, HttpRequest};
     
     use crate::Identity;
    @@ -53,4 +53,4 @@
         }
     }
     
    -
    \ 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 b43e4fab2..1f82db912 100644 --- a/src/actix_identity/lib.rs.html +++ b/src/actix_identity/lib.rs.html @@ -1,101 +1,101 @@ -lib.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    -71
    -72
    -73
    -74
    -75
    -76
    -77
    -78
    -79
    -80
    -81
    -82
    -83
    -84
    -85
    -86
    -87
    -88
    -89
    -90
    -91
    -92
    -93
    -94
    -95
    -96
    -97
    -98
    +lib.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
     
    //! Identity management for Actix Web.
     //!
     //! `actix-identity` can be used to track identity of a user across multiple requests. It is built
    @@ -195,4 +195,4 @@
     
     pub use self::{identity::Identity, identity_ext::IdentityExt, middleware::IdentityMiddleware};
     
    -
    \ 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 b050e5d24..8aecef9b9 100644 --- a/src/actix_identity/middleware.rs.html +++ b/src/actix_identity/middleware.rs.html @@ -1,259 +1,259 @@ -middleware.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    -71
    -72
    -73
    -74
    -75
    -76
    -77
    -78
    -79
    -80
    -81
    -82
    -83
    -84
    -85
    -86
    -87
    -88
    -89
    -90
    -91
    -92
    -93
    -94
    -95
    -96
    -97
    -98
    -99
    -100
    -101
    -102
    -103
    -104
    -105
    -106
    -107
    -108
    -109
    -110
    -111
    -112
    -113
    -114
    -115
    -116
    -117
    -118
    -119
    -120
    -121
    -122
    -123
    -124
    -125
    -126
    -127
    -128
    -129
    -130
    -131
    -132
    -133
    -134
    -135
    -136
    -137
    -138
    -139
    -140
    -141
    -142
    -143
    -144
    -145
    -146
    -147
    -148
    -149
    -150
    -151
    -152
    -153
    -154
    -155
    -156
    -157
    -158
    -159
    -160
    -161
    -162
    -163
    -164
    -165
    -166
    -167
    -168
    -169
    -170
    -171
    -172
    -173
    -174
    -175
    -176
    -177
    -178
    -179
    -180
    -181
    -182
    -183
    -184
    -185
    -186
    -187
    -188
    -189
    -190
    -191
    -192
    -193
    -194
    -195
    -196
    -197
    -198
    -199
    -200
    -201
    -202
    -203
    -204
    -205
    -206
    -207
    -208
    -209
    -210
    -211
    -212
    -213
    -214
    -215
    -216
    -217
    -218
    -219
    -220
    -221
    -222
    -223
    -224
    -225
    -226
    -227
    -228
    -229
    -230
    -231
    -232
    -233
    -234
    -235
    -236
    -237
    -238
    -239
    -240
    -241
    -242
    -243
    -244
    -245
    -246
    -247
    -248
    -249
    -250
    -251
    -252
    -253
    -254
    -255
    -256
    +middleware.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
    +99
    +100
    +101
    +102
    +103
    +104
    +105
    +106
    +107
    +108
    +109
    +110
    +111
    +112
    +113
    +114
    +115
    +116
    +117
    +118
    +119
    +120
    +121
    +122
    +123
    +124
    +125
    +126
    +127
    +128
    +129
    +130
    +131
    +132
    +133
    +134
    +135
    +136
    +137
    +138
    +139
    +140
    +141
    +142
    +143
    +144
    +145
    +146
    +147
    +148
    +149
    +150
    +151
    +152
    +153
    +154
    +155
    +156
    +157
    +158
    +159
    +160
    +161
    +162
    +163
    +164
    +165
    +166
    +167
    +168
    +169
    +170
    +171
    +172
    +173
    +174
    +175
    +176
    +177
    +178
    +179
    +180
    +181
    +182
    +183
    +184
    +185
    +186
    +187
    +188
    +189
    +190
    +191
    +192
    +193
    +194
    +195
    +196
    +197
    +198
    +199
    +200
    +201
    +202
    +203
    +204
    +205
    +206
    +207
    +208
    +209
    +210
    +211
    +212
    +213
    +214
    +215
    +216
    +217
    +218
    +219
    +220
    +221
    +222
    +223
    +224
    +225
    +226
    +227
    +228
    +229
    +230
    +231
    +232
    +233
    +234
    +235
    +236
    +237
    +238
    +239
    +240
    +241
    +242
    +243
    +244
    +245
    +246
    +247
    +248
    +249
    +250
    +251
    +252
    +253
    +254
    +255
    +256
     
    use std::rc::Rc;
     
     use actix_session::SessionExt;
    @@ -511,4 +511,4 @@
         LogOut,
     }
     
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/src/actix_limitation/builder.rs.html b/src/actix_limitation/builder.rs.html index d8b5f14d3..4bda023f6 100644 --- a/src/actix_limitation/builder.rs.html +++ b/src/actix_limitation/builder.rs.html @@ -1,175 +1,175 @@ -builder.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    -71
    -72
    -73
    -74
    -75
    -76
    -77
    -78
    -79
    -80
    -81
    -82
    -83
    -84
    -85
    -86
    -87
    -88
    -89
    -90
    -91
    -92
    -93
    -94
    -95
    -96
    -97
    -98
    -99
    -100
    -101
    -102
    -103
    -104
    -105
    -106
    -107
    -108
    -109
    -110
    -111
    -112
    -113
    -114
    -115
    -116
    -117
    -118
    -119
    -120
    -121
    -122
    -123
    -124
    -125
    -126
    -127
    -128
    -129
    -130
    -131
    -132
    -133
    -134
    -135
    -136
    -137
    -138
    -139
    -140
    -141
    -142
    -143
    -144
    -145
    -146
    -147
    -148
    -149
    -150
    -151
    -152
    -153
    -154
    -155
    -156
    -157
    -158
    -159
    -160
    -161
    -162
    -163
    -164
    -165
    -166
    -167
    -168
    -169
    -170
    -171
    +builder.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
    +99
    +100
    +101
    +102
    +103
    +104
    +105
    +106
    +107
    +108
    +109
    +110
    +111
    +112
    +113
    +114
    +115
    +116
    +117
    +118
    +119
    +120
    +121
    +122
    +123
    +124
    +125
    +126
    +127
    +128
    +129
    +130
    +131
    +132
    +133
    +134
    +135
    +136
    +137
    +138
    +139
    +140
    +141
    +142
    +143
    +144
    +145
    +146
    +147
    +148
    +149
    +150
    +151
    +152
    +153
    +154
    +155
    +156
    +157
    +158
    +159
    +160
    +161
    +162
    +163
    +164
    +165
    +166
    +167
    +168
    +169
    +170
    +171
     
    use std::{borrow::Cow, sync::Arc, time::Duration};
     
     #[cfg(feature = "session")]
    @@ -342,4 +342,4 @@
         }
     }
     
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/src/actix_limitation/errors.rs.html b/src/actix_limitation/errors.rs.html index 072ccfb76..fe243e48c 100644 --- a/src/actix_limitation/errors.rs.html +++ b/src/actix_limitation/errors.rs.html @@ -1,46 +1,46 @@ -errors.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    +errors.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
     
    use derive_more::{Display, Error, From};
     
     use crate::status::Status;
    @@ -84,4 +84,4 @@
         }
     }
     
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/src/actix_limitation/lib.rs.html b/src/actix_limitation/lib.rs.html index 44cd7a247..45cc146b4 100644 --- a/src/actix_limitation/lib.rs.html +++ b/src/actix_limitation/lib.rs.html @@ -1,183 +1,183 @@ -lib.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    -71
    -72
    -73
    -74
    -75
    -76
    -77
    -78
    -79
    -80
    -81
    -82
    -83
    -84
    -85
    -86
    -87
    -88
    -89
    -90
    -91
    -92
    -93
    -94
    -95
    -96
    -97
    -98
    -99
    -100
    -101
    -102
    -103
    -104
    -105
    -106
    -107
    -108
    -109
    -110
    -111
    -112
    -113
    -114
    -115
    -116
    -117
    -118
    -119
    -120
    -121
    -122
    -123
    -124
    -125
    -126
    -127
    -128
    -129
    -130
    -131
    -132
    -133
    -134
    -135
    -136
    -137
    -138
    -139
    -140
    -141
    -142
    -143
    -144
    -145
    -146
    -147
    -148
    -149
    -150
    -151
    -152
    -153
    -154
    -155
    -156
    -157
    -158
    -159
    -160
    -161
    -162
    -163
    -164
    -165
    -166
    -167
    -168
    -169
    -170
    -171
    -172
    -173
    -174
    -175
    -176
    -177
    -178
    -179
    +lib.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
    +99
    +100
    +101
    +102
    +103
    +104
    +105
    +106
    +107
    +108
    +109
    +110
    +111
    +112
    +113
    +114
    +115
    +116
    +117
    +118
    +119
    +120
    +121
    +122
    +123
    +124
    +125
    +126
    +127
    +128
    +129
    +130
    +131
    +132
    +133
    +134
    +135
    +136
    +137
    +138
    +139
    +140
    +141
    +142
    +143
    +144
    +145
    +146
    +147
    +148
    +149
    +150
    +151
    +152
    +153
    +154
    +155
    +156
    +157
    +158
    +159
    +160
    +161
    +162
    +163
    +164
    +165
    +166
    +167
    +168
    +169
    +170
    +171
    +172
    +173
    +174
    +175
    +176
    +177
    +178
    +179
     
    //! Rate limiter using a fixed window counter for arbitrary keys, backed by Redis for Actix Web.
     //!
     //! ```toml
    @@ -358,4 +358,4 @@
         }
     }
     
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/src/actix_limitation/middleware.rs.html b/src/actix_limitation/middleware.rs.html index 389f9b09d..5a084eb15 100644 --- a/src/actix_limitation/middleware.rs.html +++ b/src/actix_limitation/middleware.rs.html @@ -1,119 +1,119 @@ -middleware.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    -71
    -72
    -73
    -74
    -75
    -76
    -77
    -78
    -79
    -80
    -81
    -82
    -83
    -84
    -85
    -86
    -87
    -88
    -89
    -90
    -91
    -92
    -93
    -94
    -95
    -96
    -97
    -98
    -99
    -100
    -101
    -102
    -103
    -104
    -105
    -106
    -107
    -108
    -109
    -110
    -111
    -112
    -113
    -114
    -115
    +middleware.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
    +99
    +100
    +101
    +102
    +103
    +104
    +105
    +106
    +107
    +108
    +109
    +110
    +111
    +112
    +113
    +114
    +115
     
    use std::{future::Future, pin::Pin, rc::Rc};
     
     use actix_utils::future::{ok, Ready};
    @@ -230,4 +230,4 @@
         }
     }
     
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/src/actix_limitation/status.rs.html b/src/actix_limitation/status.rs.html index 9203643c1..0293157c6 100644 --- a/src/actix_limitation/status.rs.html +++ b/src/actix_limitation/status.rs.html @@ -1,122 +1,122 @@ -status.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    -71
    -72
    -73
    -74
    -75
    -76
    -77
    -78
    -79
    -80
    -81
    -82
    -83
    -84
    -85
    -86
    -87
    -88
    -89
    -90
    -91
    -92
    -93
    -94
    -95
    -96
    -97
    -98
    -99
    -100
    -101
    -102
    -103
    -104
    -105
    -106
    -107
    -108
    -109
    -110
    -111
    -112
    -113
    -114
    -115
    -116
    -117
    -118
    +status.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
    +99
    +100
    +101
    +102
    +103
    +104
    +105
    +106
    +107
    +108
    +109
    +110
    +111
    +112
    +113
    +114
    +115
    +116
    +117
    +118
     
    use std::{convert::TryInto, ops::Add, time::Duration};
     
     use chrono::SubsecRound as _;
    @@ -236,4 +236,4 @@
         }
     }
     
    -
    \ 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 feb3f499c..8c9c7a563 100644 --- a/src/actix_protobuf/lib.rs.html +++ b/src/actix_protobuf/lib.rs.html @@ -1,338 +1,338 @@ -lib.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    -71
    -72
    -73
    -74
    -75
    -76
    -77
    -78
    -79
    -80
    -81
    -82
    -83
    -84
    -85
    -86
    -87
    -88
    -89
    -90
    -91
    -92
    -93
    -94
    -95
    -96
    -97
    -98
    -99
    -100
    -101
    -102
    -103
    -104
    -105
    -106
    -107
    -108
    -109
    -110
    -111
    -112
    -113
    -114
    -115
    -116
    -117
    -118
    -119
    -120
    -121
    -122
    -123
    -124
    -125
    -126
    -127
    -128
    -129
    -130
    -131
    -132
    -133
    -134
    -135
    -136
    -137
    -138
    -139
    -140
    -141
    -142
    -143
    -144
    -145
    -146
    -147
    -148
    -149
    -150
    -151
    -152
    -153
    -154
    -155
    -156
    -157
    -158
    -159
    -160
    -161
    -162
    -163
    -164
    -165
    -166
    -167
    -168
    -169
    -170
    -171
    -172
    -173
    -174
    -175
    -176
    -177
    -178
    -179
    -180
    -181
    -182
    -183
    -184
    -185
    -186
    -187
    -188
    -189
    -190
    -191
    -192
    -193
    -194
    -195
    -196
    -197
    -198
    -199
    -200
    -201
    -202
    -203
    -204
    -205
    -206
    -207
    -208
    -209
    -210
    -211
    -212
    -213
    -214
    -215
    -216
    -217
    -218
    -219
    -220
    -221
    -222
    -223
    -224
    -225
    -226
    -227
    -228
    -229
    -230
    -231
    -232
    -233
    -234
    -235
    -236
    -237
    -238
    -239
    -240
    -241
    -242
    -243
    -244
    -245
    -246
    -247
    -248
    -249
    -250
    -251
    -252
    -253
    -254
    -255
    -256
    -257
    -258
    -259
    -260
    -261
    -262
    -263
    -264
    -265
    -266
    -267
    -268
    -269
    -270
    -271
    -272
    -273
    -274
    -275
    -276
    -277
    -278
    -279
    -280
    -281
    -282
    -283
    -284
    -285
    -286
    -287
    -288
    -289
    -290
    -291
    -292
    -293
    -294
    -295
    -296
    -297
    -298
    -299
    -300
    -301
    -302
    -303
    -304
    -305
    -306
    -307
    -308
    -309
    -310
    -311
    -312
    -313
    -314
    -315
    -316
    -317
    -318
    -319
    -320
    -321
    -322
    -323
    -324
    -325
    -326
    -327
    -328
    -329
    -330
    -331
    -332
    -333
    -334
    -335
    +lib.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
    +99
    +100
    +101
    +102
    +103
    +104
    +105
    +106
    +107
    +108
    +109
    +110
    +111
    +112
    +113
    +114
    +115
    +116
    +117
    +118
    +119
    +120
    +121
    +122
    +123
    +124
    +125
    +126
    +127
    +128
    +129
    +130
    +131
    +132
    +133
    +134
    +135
    +136
    +137
    +138
    +139
    +140
    +141
    +142
    +143
    +144
    +145
    +146
    +147
    +148
    +149
    +150
    +151
    +152
    +153
    +154
    +155
    +156
    +157
    +158
    +159
    +160
    +161
    +162
    +163
    +164
    +165
    +166
    +167
    +168
    +169
    +170
    +171
    +172
    +173
    +174
    +175
    +176
    +177
    +178
    +179
    +180
    +181
    +182
    +183
    +184
    +185
    +186
    +187
    +188
    +189
    +190
    +191
    +192
    +193
    +194
    +195
    +196
    +197
    +198
    +199
    +200
    +201
    +202
    +203
    +204
    +205
    +206
    +207
    +208
    +209
    +210
    +211
    +212
    +213
    +214
    +215
    +216
    +217
    +218
    +219
    +220
    +221
    +222
    +223
    +224
    +225
    +226
    +227
    +228
    +229
    +230
    +231
    +232
    +233
    +234
    +235
    +236
    +237
    +238
    +239
    +240
    +241
    +242
    +243
    +244
    +245
    +246
    +247
    +248
    +249
    +250
    +251
    +252
    +253
    +254
    +255
    +256
    +257
    +258
    +259
    +260
    +261
    +262
    +263
    +264
    +265
    +266
    +267
    +268
    +269
    +270
    +271
    +272
    +273
    +274
    +275
    +276
    +277
    +278
    +279
    +280
    +281
    +282
    +283
    +284
    +285
    +286
    +287
    +288
    +289
    +290
    +291
    +292
    +293
    +294
    +295
    +296
    +297
    +298
    +299
    +300
    +301
    +302
    +303
    +304
    +305
    +306
    +307
    +308
    +309
    +310
    +311
    +312
    +313
    +314
    +315
    +316
    +317
    +318
    +319
    +320
    +321
    +322
    +323
    +324
    +325
    +326
    +327
    +328
    +329
    +330
    +331
    +332
    +333
    +334
    +335
     
    //! Protobuf payload extractor for Actix Web.
     
     #![forbid(unsafe_code)]
    @@ -669,4 +669,4 @@
         }
     }
     
    -
    \ 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 141339403..4948f3d81 100644 --- a/src/actix_redis/lib.rs.html +++ b/src/actix_redis/lib.rs.html @@ -1,32 +1,32 @@ -lib.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
    +lib.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
     
    //! Redis integration for `actix`.
     
     #![forbid(unsafe_code)]
    @@ -57,4 +57,4 @@
     #[cfg(feature = "web")]
     impl actix_web::ResponseError for Error {}
     
    -
    \ 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 c63dda422..9f2c57142 100644 --- a/src/actix_redis/redis.rs.html +++ b/src/actix_redis/redis.rs.html @@ -1,146 +1,146 @@ -redis.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    -71
    -72
    -73
    -74
    -75
    -76
    -77
    -78
    -79
    -80
    -81
    -82
    -83
    -84
    -85
    -86
    -87
    -88
    -89
    -90
    -91
    -92
    -93
    -94
    -95
    -96
    -97
    -98
    -99
    -100
    -101
    -102
    -103
    -104
    -105
    -106
    -107
    -108
    -109
    -110
    -111
    -112
    -113
    -114
    -115
    -116
    -117
    -118
    -119
    -120
    -121
    -122
    -123
    -124
    -125
    -126
    -127
    -128
    -129
    -130
    -131
    -132
    -133
    -134
    -135
    -136
    -137
    -138
    -139
    -140
    -141
    -142
    -143
    +redis.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
    +99
    +100
    +101
    +102
    +103
    +104
    +105
    +106
    +107
    +108
    +109
    +110
    +111
    +112
    +113
    +114
    +115
    +116
    +117
    +118
    +119
    +120
    +121
    +122
    +123
    +124
    +125
    +126
    +127
    +128
    +129
    +130
    +131
    +132
    +133
    +134
    +135
    +136
    +137
    +138
    +139
    +140
    +141
    +142
    +143
     
    use std::{collections::VecDeque, io};
     
     use actix::prelude::*;
    @@ -285,4 +285,4 @@
         }
     }
     
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/src/actix_session/config.rs.html b/src/actix_session/config.rs.html index a59c16047..12b4dea20 100644 --- a/src/actix_session/config.rs.html +++ b/src/actix_session/config.rs.html @@ -1,400 +1,400 @@ -config.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    -71
    -72
    -73
    -74
    -75
    -76
    -77
    -78
    -79
    -80
    -81
    -82
    -83
    -84
    -85
    -86
    -87
    -88
    -89
    -90
    -91
    -92
    -93
    -94
    -95
    -96
    -97
    -98
    -99
    -100
    -101
    -102
    -103
    -104
    -105
    -106
    -107
    -108
    -109
    -110
    -111
    -112
    -113
    -114
    -115
    -116
    -117
    -118
    -119
    -120
    -121
    -122
    -123
    -124
    -125
    -126
    -127
    -128
    -129
    -130
    -131
    -132
    -133
    -134
    -135
    -136
    -137
    -138
    -139
    -140
    -141
    -142
    -143
    -144
    -145
    -146
    -147
    -148
    -149
    -150
    -151
    -152
    -153
    -154
    -155
    -156
    -157
    -158
    -159
    -160
    -161
    -162
    -163
    -164
    -165
    -166
    -167
    -168
    -169
    -170
    -171
    -172
    -173
    -174
    -175
    -176
    -177
    -178
    -179
    -180
    -181
    -182
    -183
    -184
    -185
    -186
    -187
    -188
    -189
    -190
    -191
    -192
    -193
    -194
    -195
    -196
    -197
    -198
    -199
    -200
    -201
    -202
    -203
    -204
    -205
    -206
    -207
    -208
    -209
    -210
    -211
    -212
    -213
    -214
    -215
    -216
    -217
    -218
    -219
    -220
    -221
    -222
    -223
    -224
    -225
    -226
    -227
    -228
    -229
    -230
    -231
    -232
    -233
    -234
    -235
    -236
    -237
    -238
    -239
    -240
    -241
    -242
    -243
    -244
    -245
    -246
    -247
    -248
    -249
    -250
    -251
    -252
    -253
    -254
    -255
    -256
    -257
    -258
    -259
    -260
    -261
    -262
    -263
    -264
    -265
    -266
    -267
    -268
    -269
    -270
    -271
    -272
    -273
    -274
    -275
    -276
    -277
    -278
    -279
    -280
    -281
    -282
    -283
    -284
    -285
    -286
    -287
    -288
    -289
    -290
    -291
    -292
    -293
    -294
    -295
    -296
    -297
    -298
    -299
    -300
    -301
    -302
    -303
    -304
    -305
    -306
    -307
    -308
    -309
    -310
    -311
    -312
    -313
    -314
    -315
    -316
    -317
    -318
    -319
    -320
    -321
    -322
    -323
    -324
    -325
    -326
    -327
    -328
    -329
    -330
    -331
    -332
    -333
    -334
    -335
    -336
    -337
    -338
    -339
    -340
    -341
    -342
    -343
    -344
    -345
    -346
    -347
    -348
    -349
    -350
    -351
    -352
    -353
    -354
    -355
    -356
    -357
    -358
    -359
    -360
    -361
    -362
    -363
    -364
    -365
    -366
    -367
    -368
    -369
    -370
    -371
    -372
    -373
    -374
    -375
    -376
    -377
    -378
    -379
    -380
    -381
    -382
    -383
    -384
    -385
    -386
    -387
    -388
    -389
    -390
    -391
    -392
    -393
    -394
    -395
    -396
    +config.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
    +99
    +100
    +101
    +102
    +103
    +104
    +105
    +106
    +107
    +108
    +109
    +110
    +111
    +112
    +113
    +114
    +115
    +116
    +117
    +118
    +119
    +120
    +121
    +122
    +123
    +124
    +125
    +126
    +127
    +128
    +129
    +130
    +131
    +132
    +133
    +134
    +135
    +136
    +137
    +138
    +139
    +140
    +141
    +142
    +143
    +144
    +145
    +146
    +147
    +148
    +149
    +150
    +151
    +152
    +153
    +154
    +155
    +156
    +157
    +158
    +159
    +160
    +161
    +162
    +163
    +164
    +165
    +166
    +167
    +168
    +169
    +170
    +171
    +172
    +173
    +174
    +175
    +176
    +177
    +178
    +179
    +180
    +181
    +182
    +183
    +184
    +185
    +186
    +187
    +188
    +189
    +190
    +191
    +192
    +193
    +194
    +195
    +196
    +197
    +198
    +199
    +200
    +201
    +202
    +203
    +204
    +205
    +206
    +207
    +208
    +209
    +210
    +211
    +212
    +213
    +214
    +215
    +216
    +217
    +218
    +219
    +220
    +221
    +222
    +223
    +224
    +225
    +226
    +227
    +228
    +229
    +230
    +231
    +232
    +233
    +234
    +235
    +236
    +237
    +238
    +239
    +240
    +241
    +242
    +243
    +244
    +245
    +246
    +247
    +248
    +249
    +250
    +251
    +252
    +253
    +254
    +255
    +256
    +257
    +258
    +259
    +260
    +261
    +262
    +263
    +264
    +265
    +266
    +267
    +268
    +269
    +270
    +271
    +272
    +273
    +274
    +275
    +276
    +277
    +278
    +279
    +280
    +281
    +282
    +283
    +284
    +285
    +286
    +287
    +288
    +289
    +290
    +291
    +292
    +293
    +294
    +295
    +296
    +297
    +298
    +299
    +300
    +301
    +302
    +303
    +304
    +305
    +306
    +307
    +308
    +309
    +310
    +311
    +312
    +313
    +314
    +315
    +316
    +317
    +318
    +319
    +320
    +321
    +322
    +323
    +324
    +325
    +326
    +327
    +328
    +329
    +330
    +331
    +332
    +333
    +334
    +335
    +336
    +337
    +338
    +339
    +340
    +341
    +342
    +343
    +344
    +345
    +346
    +347
    +348
    +349
    +350
    +351
    +352
    +353
    +354
    +355
    +356
    +357
    +358
    +359
    +360
    +361
    +362
    +363
    +364
    +365
    +366
    +367
    +368
    +369
    +370
    +371
    +372
    +373
    +374
    +375
    +376
    +377
    +378
    +379
    +380
    +381
    +382
    +383
    +384
    +385
    +386
    +387
    +388
    +389
    +390
    +391
    +392
    +393
    +394
    +395
    +396
     
    //! Configuration options to tune the behaviour of [`SessionMiddleware`].
     
     use actix_web::cookie::{time::Duration, Key, SameSite};
    @@ -792,4 +792,4 @@
         }
     }
     
    -
    \ 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 bd9263bbb..1fbdfa72f 100644 --- a/src/actix_session/lib.rs.html +++ b/src/actix_session/lib.rs.html @@ -1,740 +1,740 @@ -lib.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    -71
    -72
    -73
    -74
    -75
    -76
    -77
    -78
    -79
    -80
    -81
    -82
    -83
    -84
    -85
    -86
    -87
    -88
    -89
    -90
    -91
    -92
    -93
    -94
    -95
    -96
    -97
    -98
    -99
    -100
    -101
    -102
    -103
    -104
    -105
    -106
    -107
    -108
    -109
    -110
    -111
    -112
    -113
    -114
    -115
    -116
    -117
    -118
    -119
    -120
    -121
    -122
    -123
    -124
    -125
    -126
    -127
    -128
    -129
    -130
    -131
    -132
    -133
    -134
    -135
    -136
    -137
    -138
    -139
    -140
    -141
    -142
    -143
    -144
    -145
    -146
    -147
    -148
    -149
    -150
    -151
    -152
    -153
    -154
    -155
    -156
    -157
    -158
    -159
    -160
    -161
    -162
    -163
    -164
    -165
    -166
    -167
    -168
    -169
    -170
    -171
    -172
    -173
    -174
    -175
    -176
    -177
    -178
    -179
    -180
    -181
    -182
    -183
    -184
    -185
    -186
    -187
    -188
    -189
    -190
    -191
    -192
    -193
    -194
    -195
    -196
    -197
    -198
    -199
    -200
    -201
    -202
    -203
    -204
    -205
    -206
    -207
    -208
    -209
    -210
    -211
    -212
    -213
    -214
    -215
    -216
    -217
    -218
    -219
    -220
    -221
    -222
    -223
    -224
    -225
    -226
    -227
    -228
    -229
    -230
    -231
    -232
    -233
    -234
    -235
    -236
    -237
    -238
    -239
    -240
    -241
    -242
    -243
    -244
    -245
    -246
    -247
    -248
    -249
    -250
    -251
    -252
    -253
    -254
    -255
    -256
    -257
    -258
    -259
    -260
    -261
    -262
    -263
    -264
    -265
    -266
    -267
    -268
    -269
    -270
    -271
    -272
    -273
    -274
    -275
    -276
    -277
    -278
    -279
    -280
    -281
    -282
    -283
    -284
    -285
    -286
    -287
    -288
    -289
    -290
    -291
    -292
    -293
    -294
    -295
    -296
    -297
    -298
    -299
    -300
    -301
    -302
    -303
    -304
    -305
    -306
    -307
    -308
    -309
    -310
    -311
    -312
    -313
    -314
    -315
    -316
    -317
    -318
    -319
    -320
    -321
    -322
    -323
    -324
    -325
    -326
    -327
    -328
    -329
    -330
    -331
    -332
    -333
    -334
    -335
    -336
    -337
    -338
    -339
    -340
    -341
    -342
    -343
    -344
    -345
    -346
    -347
    -348
    -349
    -350
    -351
    -352
    -353
    -354
    -355
    -356
    -357
    -358
    -359
    -360
    -361
    -362
    -363
    -364
    -365
    -366
    -367
    -368
    -369
    -370
    -371
    -372
    -373
    -374
    -375
    -376
    -377
    -378
    -379
    -380
    -381
    -382
    -383
    -384
    -385
    -386
    -387
    -388
    -389
    -390
    -391
    -392
    -393
    -394
    -395
    -396
    -397
    -398
    -399
    -400
    -401
    -402
    -403
    -404
    -405
    -406
    -407
    -408
    -409
    -410
    -411
    -412
    -413
    -414
    -415
    -416
    -417
    -418
    -419
    -420
    -421
    -422
    -423
    -424
    -425
    -426
    -427
    -428
    -429
    -430
    -431
    -432
    -433
    -434
    -435
    -436
    -437
    -438
    -439
    -440
    -441
    -442
    -443
    -444
    -445
    -446
    -447
    -448
    -449
    -450
    -451
    -452
    -453
    -454
    -455
    -456
    -457
    -458
    -459
    -460
    -461
    -462
    -463
    -464
    -465
    -466
    -467
    -468
    -469
    -470
    -471
    -472
    -473
    -474
    -475
    -476
    -477
    -478
    -479
    -480
    -481
    -482
    -483
    -484
    -485
    -486
    -487
    -488
    -489
    -490
    -491
    -492
    -493
    -494
    -495
    -496
    -497
    -498
    -499
    -500
    -501
    -502
    -503
    -504
    -505
    -506
    -507
    -508
    -509
    -510
    -511
    -512
    -513
    -514
    -515
    -516
    -517
    -518
    -519
    -520
    -521
    -522
    -523
    -524
    -525
    -526
    -527
    -528
    -529
    -530
    -531
    -532
    -533
    -534
    -535
    -536
    -537
    -538
    -539
    -540
    -541
    -542
    -543
    -544
    -545
    -546
    -547
    -548
    -549
    -550
    -551
    -552
    -553
    -554
    -555
    -556
    -557
    -558
    -559
    -560
    -561
    -562
    -563
    -564
    -565
    -566
    -567
    -568
    -569
    -570
    -571
    -572
    -573
    -574
    -575
    -576
    -577
    -578
    -579
    -580
    -581
    -582
    -583
    -584
    -585
    -586
    -587
    -588
    -589
    -590
    -591
    -592
    -593
    -594
    -595
    -596
    -597
    -598
    -599
    -600
    -601
    -602
    -603
    -604
    -605
    -606
    -607
    -608
    -609
    -610
    -611
    -612
    -613
    -614
    -615
    -616
    -617
    -618
    -619
    -620
    -621
    -622
    -623
    -624
    -625
    -626
    -627
    -628
    -629
    -630
    -631
    -632
    -633
    -634
    -635
    -636
    -637
    -638
    -639
    -640
    -641
    -642
    -643
    -644
    -645
    -646
    -647
    -648
    -649
    -650
    -651
    -652
    -653
    -654
    -655
    -656
    -657
    -658
    -659
    -660
    -661
    -662
    -663
    -664
    -665
    -666
    -667
    -668
    -669
    -670
    -671
    -672
    -673
    -674
    -675
    -676
    -677
    -678
    -679
    -680
    -681
    -682
    -683
    -684
    -685
    -686
    -687
    -688
    -689
    -690
    -691
    -692
    -693
    -694
    -695
    -696
    -697
    -698
    -699
    -700
    -701
    -702
    -703
    -704
    -705
    -706
    -707
    -708
    -709
    -710
    -711
    -712
    -713
    -714
    -715
    -716
    -717
    -718
    -719
    -720
    -721
    -722
    -723
    -724
    -725
    -726
    -727
    -728
    -729
    -730
    -731
    -732
    -733
    -734
    -735
    -736
    +lib.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
    +99
    +100
    +101
    +102
    +103
    +104
    +105
    +106
    +107
    +108
    +109
    +110
    +111
    +112
    +113
    +114
    +115
    +116
    +117
    +118
    +119
    +120
    +121
    +122
    +123
    +124
    +125
    +126
    +127
    +128
    +129
    +130
    +131
    +132
    +133
    +134
    +135
    +136
    +137
    +138
    +139
    +140
    +141
    +142
    +143
    +144
    +145
    +146
    +147
    +148
    +149
    +150
    +151
    +152
    +153
    +154
    +155
    +156
    +157
    +158
    +159
    +160
    +161
    +162
    +163
    +164
    +165
    +166
    +167
    +168
    +169
    +170
    +171
    +172
    +173
    +174
    +175
    +176
    +177
    +178
    +179
    +180
    +181
    +182
    +183
    +184
    +185
    +186
    +187
    +188
    +189
    +190
    +191
    +192
    +193
    +194
    +195
    +196
    +197
    +198
    +199
    +200
    +201
    +202
    +203
    +204
    +205
    +206
    +207
    +208
    +209
    +210
    +211
    +212
    +213
    +214
    +215
    +216
    +217
    +218
    +219
    +220
    +221
    +222
    +223
    +224
    +225
    +226
    +227
    +228
    +229
    +230
    +231
    +232
    +233
    +234
    +235
    +236
    +237
    +238
    +239
    +240
    +241
    +242
    +243
    +244
    +245
    +246
    +247
    +248
    +249
    +250
    +251
    +252
    +253
    +254
    +255
    +256
    +257
    +258
    +259
    +260
    +261
    +262
    +263
    +264
    +265
    +266
    +267
    +268
    +269
    +270
    +271
    +272
    +273
    +274
    +275
    +276
    +277
    +278
    +279
    +280
    +281
    +282
    +283
    +284
    +285
    +286
    +287
    +288
    +289
    +290
    +291
    +292
    +293
    +294
    +295
    +296
    +297
    +298
    +299
    +300
    +301
    +302
    +303
    +304
    +305
    +306
    +307
    +308
    +309
    +310
    +311
    +312
    +313
    +314
    +315
    +316
    +317
    +318
    +319
    +320
    +321
    +322
    +323
    +324
    +325
    +326
    +327
    +328
    +329
    +330
    +331
    +332
    +333
    +334
    +335
    +336
    +337
    +338
    +339
    +340
    +341
    +342
    +343
    +344
    +345
    +346
    +347
    +348
    +349
    +350
    +351
    +352
    +353
    +354
    +355
    +356
    +357
    +358
    +359
    +360
    +361
    +362
    +363
    +364
    +365
    +366
    +367
    +368
    +369
    +370
    +371
    +372
    +373
    +374
    +375
    +376
    +377
    +378
    +379
    +380
    +381
    +382
    +383
    +384
    +385
    +386
    +387
    +388
    +389
    +390
    +391
    +392
    +393
    +394
    +395
    +396
    +397
    +398
    +399
    +400
    +401
    +402
    +403
    +404
    +405
    +406
    +407
    +408
    +409
    +410
    +411
    +412
    +413
    +414
    +415
    +416
    +417
    +418
    +419
    +420
    +421
    +422
    +423
    +424
    +425
    +426
    +427
    +428
    +429
    +430
    +431
    +432
    +433
    +434
    +435
    +436
    +437
    +438
    +439
    +440
    +441
    +442
    +443
    +444
    +445
    +446
    +447
    +448
    +449
    +450
    +451
    +452
    +453
    +454
    +455
    +456
    +457
    +458
    +459
    +460
    +461
    +462
    +463
    +464
    +465
    +466
    +467
    +468
    +469
    +470
    +471
    +472
    +473
    +474
    +475
    +476
    +477
    +478
    +479
    +480
    +481
    +482
    +483
    +484
    +485
    +486
    +487
    +488
    +489
    +490
    +491
    +492
    +493
    +494
    +495
    +496
    +497
    +498
    +499
    +500
    +501
    +502
    +503
    +504
    +505
    +506
    +507
    +508
    +509
    +510
    +511
    +512
    +513
    +514
    +515
    +516
    +517
    +518
    +519
    +520
    +521
    +522
    +523
    +524
    +525
    +526
    +527
    +528
    +529
    +530
    +531
    +532
    +533
    +534
    +535
    +536
    +537
    +538
    +539
    +540
    +541
    +542
    +543
    +544
    +545
    +546
    +547
    +548
    +549
    +550
    +551
    +552
    +553
    +554
    +555
    +556
    +557
    +558
    +559
    +560
    +561
    +562
    +563
    +564
    +565
    +566
    +567
    +568
    +569
    +570
    +571
    +572
    +573
    +574
    +575
    +576
    +577
    +578
    +579
    +580
    +581
    +582
    +583
    +584
    +585
    +586
    +587
    +588
    +589
    +590
    +591
    +592
    +593
    +594
    +595
    +596
    +597
    +598
    +599
    +600
    +601
    +602
    +603
    +604
    +605
    +606
    +607
    +608
    +609
    +610
    +611
    +612
    +613
    +614
    +615
    +616
    +617
    +618
    +619
    +620
    +621
    +622
    +623
    +624
    +625
    +626
    +627
    +628
    +629
    +630
    +631
    +632
    +633
    +634
    +635
    +636
    +637
    +638
    +639
    +640
    +641
    +642
    +643
    +644
    +645
    +646
    +647
    +648
    +649
    +650
    +651
    +652
    +653
    +654
    +655
    +656
    +657
    +658
    +659
    +660
    +661
    +662
    +663
    +664
    +665
    +666
    +667
    +668
    +669
    +670
    +671
    +672
    +673
    +674
    +675
    +676
    +677
    +678
    +679
    +680
    +681
    +682
    +683
    +684
    +685
    +686
    +687
    +688
    +689
    +690
    +691
    +692
    +693
    +694
    +695
    +696
    +697
    +698
    +699
    +700
    +701
    +702
    +703
    +704
    +705
    +706
    +707
    +708
    +709
    +710
    +711
    +712
    +713
    +714
    +715
    +716
    +717
    +718
    +719
    +720
    +721
    +722
    +723
    +724
    +725
    +726
    +727
    +728
    +729
    +730
    +731
    +732
    +733
    +734
    +735
    +736
     
    //! Session management for Actix Web.
     //!
     //! The HTTP protocol, at a first glance, is stateless: the client sends a request, the server
    @@ -1472,4 +1472,4 @@
         }
     }
     
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/src/actix_session/middleware.rs.html b/src/actix_session/middleware.rs.html index 67784a211..e015f78c7 100644 --- a/src/actix_session/middleware.rs.html +++ b/src/actix_session/middleware.rs.html @@ -1,469 +1,469 @@ -middleware.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    -71
    -72
    -73
    -74
    -75
    -76
    -77
    -78
    -79
    -80
    -81
    -82
    -83
    -84
    -85
    -86
    -87
    -88
    -89
    -90
    -91
    -92
    -93
    -94
    -95
    -96
    -97
    -98
    -99
    -100
    -101
    -102
    -103
    -104
    -105
    -106
    -107
    -108
    -109
    -110
    -111
    -112
    -113
    -114
    -115
    -116
    -117
    -118
    -119
    -120
    -121
    -122
    -123
    -124
    -125
    -126
    -127
    -128
    -129
    -130
    -131
    -132
    -133
    -134
    -135
    -136
    -137
    -138
    -139
    -140
    -141
    -142
    -143
    -144
    -145
    -146
    -147
    -148
    -149
    -150
    -151
    -152
    -153
    -154
    -155
    -156
    -157
    -158
    -159
    -160
    -161
    -162
    -163
    -164
    -165
    -166
    -167
    -168
    -169
    -170
    -171
    -172
    -173
    -174
    -175
    -176
    -177
    -178
    -179
    -180
    -181
    -182
    -183
    -184
    -185
    -186
    -187
    -188
    -189
    -190
    -191
    -192
    -193
    -194
    -195
    -196
    -197
    -198
    -199
    -200
    -201
    -202
    -203
    -204
    -205
    -206
    -207
    -208
    -209
    -210
    -211
    -212
    -213
    -214
    -215
    -216
    -217
    -218
    -219
    -220
    -221
    -222
    -223
    -224
    -225
    -226
    -227
    -228
    -229
    -230
    -231
    -232
    -233
    -234
    -235
    -236
    -237
    -238
    -239
    -240
    -241
    -242
    -243
    -244
    -245
    -246
    -247
    -248
    -249
    -250
    -251
    -252
    -253
    -254
    -255
    -256
    -257
    -258
    -259
    -260
    -261
    -262
    -263
    -264
    -265
    -266
    -267
    -268
    -269
    -270
    -271
    -272
    -273
    -274
    -275
    -276
    -277
    -278
    -279
    -280
    -281
    -282
    -283
    -284
    -285
    -286
    -287
    -288
    -289
    -290
    -291
    -292
    -293
    -294
    -295
    -296
    -297
    -298
    -299
    -300
    -301
    -302
    -303
    -304
    -305
    -306
    -307
    -308
    -309
    -310
    -311
    -312
    -313
    -314
    -315
    -316
    -317
    -318
    -319
    -320
    -321
    -322
    -323
    -324
    -325
    -326
    -327
    -328
    -329
    -330
    -331
    -332
    -333
    -334
    -335
    -336
    -337
    -338
    -339
    -340
    -341
    -342
    -343
    -344
    -345
    -346
    -347
    -348
    -349
    -350
    -351
    -352
    -353
    -354
    -355
    -356
    -357
    -358
    -359
    -360
    -361
    -362
    -363
    -364
    -365
    -366
    -367
    -368
    -369
    -370
    -371
    -372
    -373
    -374
    -375
    -376
    -377
    -378
    -379
    -380
    -381
    -382
    -383
    -384
    -385
    -386
    -387
    -388
    -389
    -390
    -391
    -392
    -393
    -394
    -395
    -396
    -397
    -398
    -399
    -400
    -401
    -402
    -403
    -404
    -405
    -406
    -407
    -408
    -409
    -410
    -411
    -412
    -413
    -414
    -415
    -416
    -417
    -418
    -419
    -420
    -421
    -422
    -423
    -424
    -425
    -426
    -427
    -428
    -429
    -430
    -431
    -432
    -433
    -434
    -435
    -436
    -437
    -438
    -439
    -440
    -441
    -442
    -443
    -444
    -445
    -446
    -447
    -448
    -449
    -450
    -451
    -452
    -453
    -454
    -455
    -456
    -457
    -458
    -459
    -460
    -461
    -462
    -463
    -464
    -465
    +middleware.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
    +99
    +100
    +101
    +102
    +103
    +104
    +105
    +106
    +107
    +108
    +109
    +110
    +111
    +112
    +113
    +114
    +115
    +116
    +117
    +118
    +119
    +120
    +121
    +122
    +123
    +124
    +125
    +126
    +127
    +128
    +129
    +130
    +131
    +132
    +133
    +134
    +135
    +136
    +137
    +138
    +139
    +140
    +141
    +142
    +143
    +144
    +145
    +146
    +147
    +148
    +149
    +150
    +151
    +152
    +153
    +154
    +155
    +156
    +157
    +158
    +159
    +160
    +161
    +162
    +163
    +164
    +165
    +166
    +167
    +168
    +169
    +170
    +171
    +172
    +173
    +174
    +175
    +176
    +177
    +178
    +179
    +180
    +181
    +182
    +183
    +184
    +185
    +186
    +187
    +188
    +189
    +190
    +191
    +192
    +193
    +194
    +195
    +196
    +197
    +198
    +199
    +200
    +201
    +202
    +203
    +204
    +205
    +206
    +207
    +208
    +209
    +210
    +211
    +212
    +213
    +214
    +215
    +216
    +217
    +218
    +219
    +220
    +221
    +222
    +223
    +224
    +225
    +226
    +227
    +228
    +229
    +230
    +231
    +232
    +233
    +234
    +235
    +236
    +237
    +238
    +239
    +240
    +241
    +242
    +243
    +244
    +245
    +246
    +247
    +248
    +249
    +250
    +251
    +252
    +253
    +254
    +255
    +256
    +257
    +258
    +259
    +260
    +261
    +262
    +263
    +264
    +265
    +266
    +267
    +268
    +269
    +270
    +271
    +272
    +273
    +274
    +275
    +276
    +277
    +278
    +279
    +280
    +281
    +282
    +283
    +284
    +285
    +286
    +287
    +288
    +289
    +290
    +291
    +292
    +293
    +294
    +295
    +296
    +297
    +298
    +299
    +300
    +301
    +302
    +303
    +304
    +305
    +306
    +307
    +308
    +309
    +310
    +311
    +312
    +313
    +314
    +315
    +316
    +317
    +318
    +319
    +320
    +321
    +322
    +323
    +324
    +325
    +326
    +327
    +328
    +329
    +330
    +331
    +332
    +333
    +334
    +335
    +336
    +337
    +338
    +339
    +340
    +341
    +342
    +343
    +344
    +345
    +346
    +347
    +348
    +349
    +350
    +351
    +352
    +353
    +354
    +355
    +356
    +357
    +358
    +359
    +360
    +361
    +362
    +363
    +364
    +365
    +366
    +367
    +368
    +369
    +370
    +371
    +372
    +373
    +374
    +375
    +376
    +377
    +378
    +379
    +380
    +381
    +382
    +383
    +384
    +385
    +386
    +387
    +388
    +389
    +390
    +391
    +392
    +393
    +394
    +395
    +396
    +397
    +398
    +399
    +400
    +401
    +402
    +403
    +404
    +405
    +406
    +407
    +408
    +409
    +410
    +411
    +412
    +413
    +414
    +415
    +416
    +417
    +418
    +419
    +420
    +421
    +422
    +423
    +424
    +425
    +426
    +427
    +428
    +429
    +430
    +431
    +432
    +433
    +434
    +435
    +436
    +437
    +438
    +439
    +440
    +441
    +442
    +443
    +444
    +445
    +446
    +447
    +448
    +449
    +450
    +451
    +452
    +453
    +454
    +455
    +456
    +457
    +458
    +459
    +460
    +461
    +462
    +463
    +464
    +465
     
    use std::{collections::HashMap, convert::TryInto, fmt, future::Future, pin::Pin, rc::Rc};
     
     use actix_utils::future::{ready, Ready};
    @@ -930,4 +930,4 @@
         Ok(())
     }
     
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/src/actix_session/session.rs.html b/src/actix_session/session.rs.html index aa71fbe7e..46d3fe2a2 100644 --- a/src/actix_session/session.rs.html +++ b/src/actix_session/session.rs.html @@ -1,328 +1,328 @@ -session.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    -71
    -72
    -73
    -74
    -75
    -76
    -77
    -78
    -79
    -80
    -81
    -82
    -83
    -84
    -85
    -86
    -87
    -88
    -89
    -90
    -91
    -92
    -93
    -94
    -95
    -96
    -97
    -98
    -99
    -100
    -101
    -102
    -103
    -104
    -105
    -106
    -107
    -108
    -109
    -110
    -111
    -112
    -113
    -114
    -115
    -116
    -117
    -118
    -119
    -120
    -121
    -122
    -123
    -124
    -125
    -126
    -127
    -128
    -129
    -130
    -131
    -132
    -133
    -134
    -135
    -136
    -137
    -138
    -139
    -140
    -141
    -142
    -143
    -144
    -145
    -146
    -147
    -148
    -149
    -150
    -151
    -152
    -153
    -154
    -155
    -156
    -157
    -158
    -159
    -160
    -161
    -162
    -163
    -164
    -165
    -166
    -167
    -168
    -169
    -170
    -171
    -172
    -173
    -174
    -175
    -176
    -177
    -178
    -179
    -180
    -181
    -182
    -183
    -184
    -185
    -186
    -187
    -188
    -189
    -190
    -191
    -192
    -193
    -194
    -195
    -196
    -197
    -198
    -199
    -200
    -201
    -202
    -203
    -204
    -205
    -206
    -207
    -208
    -209
    -210
    -211
    -212
    -213
    -214
    -215
    -216
    -217
    -218
    -219
    -220
    -221
    -222
    -223
    -224
    -225
    -226
    -227
    -228
    -229
    -230
    -231
    -232
    -233
    -234
    -235
    -236
    -237
    -238
    -239
    -240
    -241
    -242
    -243
    -244
    -245
    -246
    -247
    -248
    -249
    -250
    -251
    -252
    -253
    -254
    -255
    -256
    -257
    -258
    -259
    -260
    -261
    -262
    -263
    -264
    -265
    -266
    -267
    -268
    -269
    -270
    -271
    -272
    -273
    -274
    -275
    -276
    -277
    -278
    -279
    -280
    -281
    -282
    -283
    -284
    -285
    -286
    -287
    -288
    -289
    -290
    -291
    -292
    -293
    -294
    -295
    -296
    -297
    -298
    -299
    -300
    -301
    -302
    -303
    -304
    -305
    -306
    -307
    -308
    -309
    -310
    -311
    -312
    -313
    -314
    -315
    -316
    -317
    -318
    -319
    -320
    -321
    -322
    -323
    -324
    +session.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
    +99
    +100
    +101
    +102
    +103
    +104
    +105
    +106
    +107
    +108
    +109
    +110
    +111
    +112
    +113
    +114
    +115
    +116
    +117
    +118
    +119
    +120
    +121
    +122
    +123
    +124
    +125
    +126
    +127
    +128
    +129
    +130
    +131
    +132
    +133
    +134
    +135
    +136
    +137
    +138
    +139
    +140
    +141
    +142
    +143
    +144
    +145
    +146
    +147
    +148
    +149
    +150
    +151
    +152
    +153
    +154
    +155
    +156
    +157
    +158
    +159
    +160
    +161
    +162
    +163
    +164
    +165
    +166
    +167
    +168
    +169
    +170
    +171
    +172
    +173
    +174
    +175
    +176
    +177
    +178
    +179
    +180
    +181
    +182
    +183
    +184
    +185
    +186
    +187
    +188
    +189
    +190
    +191
    +192
    +193
    +194
    +195
    +196
    +197
    +198
    +199
    +200
    +201
    +202
    +203
    +204
    +205
    +206
    +207
    +208
    +209
    +210
    +211
    +212
    +213
    +214
    +215
    +216
    +217
    +218
    +219
    +220
    +221
    +222
    +223
    +224
    +225
    +226
    +227
    +228
    +229
    +230
    +231
    +232
    +233
    +234
    +235
    +236
    +237
    +238
    +239
    +240
    +241
    +242
    +243
    +244
    +245
    +246
    +247
    +248
    +249
    +250
    +251
    +252
    +253
    +254
    +255
    +256
    +257
    +258
    +259
    +260
    +261
    +262
    +263
    +264
    +265
    +266
    +267
    +268
    +269
    +270
    +271
    +272
    +273
    +274
    +275
    +276
    +277
    +278
    +279
    +280
    +281
    +282
    +283
    +284
    +285
    +286
    +287
    +288
    +289
    +290
    +291
    +292
    +293
    +294
    +295
    +296
    +297
    +298
    +299
    +300
    +301
    +302
    +303
    +304
    +305
    +306
    +307
    +308
    +309
    +310
    +311
    +312
    +313
    +314
    +315
    +316
    +317
    +318
    +319
    +320
    +321
    +322
    +323
    +324
     
    use std::{
         cell::{Ref, RefCell},
         collections::HashMap,
    @@ -648,4 +648,4 @@
         }
     }
     
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/src/actix_session/session_ext.rs.html b/src/actix_session/session_ext.rs.html index 79af42c4f..7ea388d24 100644 --- a/src/actix_session/session_ext.rs.html +++ b/src/actix_session/session_ext.rs.html @@ -1,42 +1,42 @@ -session_ext.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
    -34
    -35
    -36
    -37
    -38
    +session_ext.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
    +34
    +35
    +36
    +37
    +38
     
    use actix_web::{
         dev::{ServiceRequest, ServiceResponse},
         guard::GuardContext,
    @@ -76,4 +76,4 @@
         }
     }
     
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/src/actix_session/storage/cookie.rs.html b/src/actix_session/storage/cookie.rs.html index 427a1580d..1fc146917 100644 --- a/src/actix_session/storage/cookie.rs.html +++ b/src/actix_session/storage/cookie.rs.html @@ -1,125 +1,125 @@ -cookie.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    -71
    -72
    -73
    -74
    -75
    -76
    -77
    -78
    -79
    -80
    -81
    -82
    -83
    -84
    -85
    -86
    -87
    -88
    -89
    -90
    -91
    -92
    -93
    -94
    -95
    -96
    -97
    -98
    -99
    -100
    -101
    -102
    -103
    -104
    -105
    -106
    -107
    -108
    -109
    -110
    -111
    -112
    -113
    -114
    -115
    -116
    -117
    -118
    -119
    -120
    -121
    +cookie.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
    +99
    +100
    +101
    +102
    +103
    +104
    +105
    +106
    +107
    +108
    +109
    +110
    +111
    +112
    +113
    +114
    +115
    +116
    +117
    +118
    +119
    +120
    +121
     
    use std::convert::TryInto;
     
     use actix_web::cookie::time::Duration;
    @@ -242,4 +242,4 @@
         }
     }
     
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/src/actix_session/storage/interface.rs.html b/src/actix_session/storage/interface.rs.html index 87858bc69..082dbae7c 100644 --- a/src/actix_session/storage/interface.rs.html +++ b/src/actix_session/storage/interface.rs.html @@ -1,119 +1,119 @@ -interface.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    -71
    -72
    -73
    -74
    -75
    -76
    -77
    -78
    -79
    -80
    -81
    -82
    -83
    -84
    -85
    -86
    -87
    -88
    -89
    -90
    -91
    -92
    -93
    -94
    -95
    -96
    -97
    -98
    -99
    -100
    -101
    -102
    -103
    -104
    -105
    -106
    -107
    -108
    -109
    -110
    -111
    -112
    -113
    -114
    -115
    +interface.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
    +99
    +100
    +101
    +102
    +103
    +104
    +105
    +106
    +107
    +108
    +109
    +110
    +111
    +112
    +113
    +114
    +115
     
    use std::collections::HashMap;
     
     use actix_web::cookie::time::Duration;
    @@ -230,4 +230,4 @@
         }
     }
     
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/src/actix_session/storage/mod.rs.html b/src/actix_session/storage/mod.rs.html index c19c9f4bf..14a0af674 100644 --- a/src/actix_session/storage/mod.rs.html +++ b/src/actix_session/storage/mod.rs.html @@ -1,32 +1,32 @@ -mod.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
    +mod.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
     
    //! Pluggable storage backends for session state.
     
     mod interface;
    @@ -56,4 +56,4 @@
     #[cfg(feature = "redis-rs-session")]
     pub use redis_rs::{RedisSessionStore, RedisSessionStoreBuilder};
     
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/src/actix_session/storage/redis_actor.rs.html b/src/actix_session/storage/redis_actor.rs.html index 7f7566f42..b8724affc 100644 --- a/src/actix_session/storage/redis_actor.rs.html +++ b/src/actix_session/storage/redis_actor.rs.html @@ -1,319 +1,319 @@ -redis_actor.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    -71
    -72
    -73
    -74
    -75
    -76
    -77
    -78
    -79
    -80
    -81
    -82
    -83
    -84
    -85
    -86
    -87
    -88
    -89
    -90
    -91
    -92
    -93
    -94
    -95
    -96
    -97
    -98
    -99
    -100
    -101
    -102
    -103
    -104
    -105
    -106
    -107
    -108
    -109
    -110
    -111
    -112
    -113
    -114
    -115
    -116
    -117
    -118
    -119
    -120
    -121
    -122
    -123
    -124
    -125
    -126
    -127
    -128
    -129
    -130
    -131
    -132
    -133
    -134
    -135
    -136
    -137
    -138
    -139
    -140
    -141
    -142
    -143
    -144
    -145
    -146
    -147
    -148
    -149
    -150
    -151
    -152
    -153
    -154
    -155
    -156
    -157
    -158
    -159
    -160
    -161
    -162
    -163
    -164
    -165
    -166
    -167
    -168
    -169
    -170
    -171
    -172
    -173
    -174
    -175
    -176
    -177
    -178
    -179
    -180
    -181
    -182
    -183
    -184
    -185
    -186
    -187
    -188
    -189
    -190
    -191
    -192
    -193
    -194
    -195
    -196
    -197
    -198
    -199
    -200
    -201
    -202
    -203
    -204
    -205
    -206
    -207
    -208
    -209
    -210
    -211
    -212
    -213
    -214
    -215
    -216
    -217
    -218
    -219
    -220
    -221
    -222
    -223
    -224
    -225
    -226
    -227
    -228
    -229
    -230
    -231
    -232
    -233
    -234
    -235
    -236
    -237
    -238
    -239
    -240
    -241
    -242
    -243
    -244
    -245
    -246
    -247
    -248
    -249
    -250
    -251
    -252
    -253
    -254
    -255
    -256
    -257
    -258
    -259
    -260
    -261
    -262
    -263
    -264
    -265
    -266
    -267
    -268
    -269
    -270
    -271
    -272
    -273
    -274
    -275
    -276
    -277
    -278
    -279
    -280
    -281
    -282
    -283
    -284
    -285
    -286
    -287
    -288
    -289
    -290
    -291
    -292
    -293
    -294
    -295
    -296
    -297
    -298
    -299
    -300
    -301
    -302
    -303
    -304
    -305
    -306
    -307
    -308
    -309
    -310
    -311
    -312
    -313
    -314
    -315
    +redis_actor.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
    +99
    +100
    +101
    +102
    +103
    +104
    +105
    +106
    +107
    +108
    +109
    +110
    +111
    +112
    +113
    +114
    +115
    +116
    +117
    +118
    +119
    +120
    +121
    +122
    +123
    +124
    +125
    +126
    +127
    +128
    +129
    +130
    +131
    +132
    +133
    +134
    +135
    +136
    +137
    +138
    +139
    +140
    +141
    +142
    +143
    +144
    +145
    +146
    +147
    +148
    +149
    +150
    +151
    +152
    +153
    +154
    +155
    +156
    +157
    +158
    +159
    +160
    +161
    +162
    +163
    +164
    +165
    +166
    +167
    +168
    +169
    +170
    +171
    +172
    +173
    +174
    +175
    +176
    +177
    +178
    +179
    +180
    +181
    +182
    +183
    +184
    +185
    +186
    +187
    +188
    +189
    +190
    +191
    +192
    +193
    +194
    +195
    +196
    +197
    +198
    +199
    +200
    +201
    +202
    +203
    +204
    +205
    +206
    +207
    +208
    +209
    +210
    +211
    +212
    +213
    +214
    +215
    +216
    +217
    +218
    +219
    +220
    +221
    +222
    +223
    +224
    +225
    +226
    +227
    +228
    +229
    +230
    +231
    +232
    +233
    +234
    +235
    +236
    +237
    +238
    +239
    +240
    +241
    +242
    +243
    +244
    +245
    +246
    +247
    +248
    +249
    +250
    +251
    +252
    +253
    +254
    +255
    +256
    +257
    +258
    +259
    +260
    +261
    +262
    +263
    +264
    +265
    +266
    +267
    +268
    +269
    +270
    +271
    +272
    +273
    +274
    +275
    +276
    +277
    +278
    +279
    +280
    +281
    +282
    +283
    +284
    +285
    +286
    +287
    +288
    +289
    +290
    +291
    +292
    +293
    +294
    +295
    +296
    +297
    +298
    +299
    +300
    +301
    +302
    +303
    +304
    +305
    +306
    +307
    +308
    +309
    +310
    +311
    +312
    +313
    +314
    +315
     
    use actix::Addr;
     use actix_redis::{resp_array, Command, RedisActor, RespValue};
     use actix_web::cookie::time::Duration;
    @@ -630,4 +630,4 @@
         }
     }
     
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/src/actix_session/storage/redis_rs.rs.html b/src/actix_session/storage/redis_rs.rs.html index 949b18575..f662aeb94 100644 --- a/src/actix_session/storage/redis_rs.rs.html +++ b/src/actix_session/storage/redis_rs.rs.html @@ -1,351 +1,351 @@ -redis_rs.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    -71
    -72
    -73
    -74
    -75
    -76
    -77
    -78
    -79
    -80
    -81
    -82
    -83
    -84
    -85
    -86
    -87
    -88
    -89
    -90
    -91
    -92
    -93
    -94
    -95
    -96
    -97
    -98
    -99
    -100
    -101
    -102
    -103
    -104
    -105
    -106
    -107
    -108
    -109
    -110
    -111
    -112
    -113
    -114
    -115
    -116
    -117
    -118
    -119
    -120
    -121
    -122
    -123
    -124
    -125
    -126
    -127
    -128
    -129
    -130
    -131
    -132
    -133
    -134
    -135
    -136
    -137
    -138
    -139
    -140
    -141
    -142
    -143
    -144
    -145
    -146
    -147
    -148
    -149
    -150
    -151
    -152
    -153
    -154
    -155
    -156
    -157
    -158
    -159
    -160
    -161
    -162
    -163
    -164
    -165
    -166
    -167
    -168
    -169
    -170
    -171
    -172
    -173
    -174
    -175
    -176
    -177
    -178
    -179
    -180
    -181
    -182
    -183
    -184
    -185
    -186
    -187
    -188
    -189
    -190
    -191
    -192
    -193
    -194
    -195
    -196
    -197
    -198
    -199
    -200
    -201
    -202
    -203
    -204
    -205
    -206
    -207
    -208
    -209
    -210
    -211
    -212
    -213
    -214
    -215
    -216
    -217
    -218
    -219
    -220
    -221
    -222
    -223
    -224
    -225
    -226
    -227
    -228
    -229
    -230
    -231
    -232
    -233
    -234
    -235
    -236
    -237
    -238
    -239
    -240
    -241
    -242
    -243
    -244
    -245
    -246
    -247
    -248
    -249
    -250
    -251
    -252
    -253
    -254
    -255
    -256
    -257
    -258
    -259
    -260
    -261
    -262
    -263
    -264
    -265
    -266
    -267
    -268
    -269
    -270
    -271
    -272
    -273
    -274
    -275
    -276
    -277
    -278
    -279
    -280
    -281
    -282
    -283
    -284
    -285
    -286
    -287
    -288
    -289
    -290
    -291
    -292
    -293
    -294
    -295
    -296
    -297
    -298
    -299
    -300
    -301
    -302
    -303
    -304
    -305
    -306
    -307
    -308
    -309
    -310
    -311
    -312
    -313
    -314
    -315
    -316
    -317
    -318
    -319
    -320
    -321
    -322
    -323
    -324
    -325
    -326
    -327
    -328
    -329
    -330
    -331
    -332
    -333
    -334
    -335
    -336
    -337
    -338
    -339
    -340
    -341
    -342
    -343
    -344
    -345
    -346
    -347
    +redis_rs.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
    +99
    +100
    +101
    +102
    +103
    +104
    +105
    +106
    +107
    +108
    +109
    +110
    +111
    +112
    +113
    +114
    +115
    +116
    +117
    +118
    +119
    +120
    +121
    +122
    +123
    +124
    +125
    +126
    +127
    +128
    +129
    +130
    +131
    +132
    +133
    +134
    +135
    +136
    +137
    +138
    +139
    +140
    +141
    +142
    +143
    +144
    +145
    +146
    +147
    +148
    +149
    +150
    +151
    +152
    +153
    +154
    +155
    +156
    +157
    +158
    +159
    +160
    +161
    +162
    +163
    +164
    +165
    +166
    +167
    +168
    +169
    +170
    +171
    +172
    +173
    +174
    +175
    +176
    +177
    +178
    +179
    +180
    +181
    +182
    +183
    +184
    +185
    +186
    +187
    +188
    +189
    +190
    +191
    +192
    +193
    +194
    +195
    +196
    +197
    +198
    +199
    +200
    +201
    +202
    +203
    +204
    +205
    +206
    +207
    +208
    +209
    +210
    +211
    +212
    +213
    +214
    +215
    +216
    +217
    +218
    +219
    +220
    +221
    +222
    +223
    +224
    +225
    +226
    +227
    +228
    +229
    +230
    +231
    +232
    +233
    +234
    +235
    +236
    +237
    +238
    +239
    +240
    +241
    +242
    +243
    +244
    +245
    +246
    +247
    +248
    +249
    +250
    +251
    +252
    +253
    +254
    +255
    +256
    +257
    +258
    +259
    +260
    +261
    +262
    +263
    +264
    +265
    +266
    +267
    +268
    +269
    +270
    +271
    +272
    +273
    +274
    +275
    +276
    +277
    +278
    +279
    +280
    +281
    +282
    +283
    +284
    +285
    +286
    +287
    +288
    +289
    +290
    +291
    +292
    +293
    +294
    +295
    +296
    +297
    +298
    +299
    +300
    +301
    +302
    +303
    +304
    +305
    +306
    +307
    +308
    +309
    +310
    +311
    +312
    +313
    +314
    +315
    +316
    +317
    +318
    +319
    +320
    +321
    +322
    +323
    +324
    +325
    +326
    +327
    +328
    +329
    +330
    +331
    +332
    +333
    +334
    +335
    +336
    +337
    +338
    +339
    +340
    +341
    +342
    +343
    +344
    +345
    +346
    +347
     
    use std::{convert::TryInto, sync::Arc};
     
     use actix_web::cookie::time::Duration;
    @@ -694,4 +694,4 @@
         }
     }
     
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/src/actix_session/storage/session_key.rs.html b/src/actix_session/storage/session_key.rs.html index 6b6c69f38..2d3c664a6 100644 --- a/src/actix_session/storage/session_key.rs.html +++ b/src/actix_session/storage/session_key.rs.html @@ -1,62 +1,62 @@ -session_key.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    +session_key.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
     
    use std::convert::TryFrom;
     
     use derive_more::{Display, From};
    @@ -116,4 +116,4 @@
         }
     }
     
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/src/actix_session/storage/utils.rs.html b/src/actix_session/storage/utils.rs.html index 3c8c67f18..66a045297 100644 --- a/src/actix_session/storage/utils.rs.html +++ b/src/actix_session/storage/utils.rs.html @@ -1,23 +1,23 @@ -utils.rs - source
    1
    -2
    -3
    -4
    -5
    -6
    -7
    -8
    -9
    -10
    -11
    -12
    -13
    -14
    -15
    -16
    -17
    -18
    -19
    +utils.rs - source
    1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
    +19
     
    use std::convert::TryInto;
     
     use rand::{distributions::Alphanumeric, rngs::OsRng, Rng as _};
    @@ -38,4 +38,4 @@
         String::from_utf8(value).unwrap().try_into().unwrap()
     }
     
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/src/actix_settings/error.rs.html b/src/actix_settings/error.rs.html index f566602ea..8351499e2 100644 --- a/src/actix_settings/error.rs.html +++ b/src/actix_settings/error.rs.html @@ -1,142 +1,142 @@ -error.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    -71
    -72
    -73
    -74
    -75
    -76
    -77
    -78
    -79
    -80
    -81
    -82
    -83
    -84
    -85
    -86
    -87
    -88
    -89
    -90
    -91
    -92
    -93
    -94
    -95
    -96
    -97
    -98
    -99
    -100
    -101
    -102
    -103
    -104
    -105
    -106
    -107
    -108
    -109
    -110
    -111
    -112
    -113
    -114
    -115
    -116
    -117
    -118
    -119
    -120
    -121
    -122
    -123
    -124
    -125
    -126
    -127
    -128
    -129
    -130
    -131
    -132
    -133
    -134
    -135
    -136
    -137
    -138
    +error.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
    +99
    +100
    +101
    +102
    +103
    +104
    +105
    +106
    +107
    +108
    +109
    +110
    +111
    +112
    +113
    +114
    +115
    +116
    +117
    +118
    +119
    +120
    +121
    +122
    +123
    +124
    +125
    +126
    +127
    +128
    +129
    +130
    +131
    +132
    +133
    +134
    +135
    +136
    +137
    +138
     
    use std::{env::VarError, io, num::ParseIntError, path::PathBuf, str::ParseBoolError};
     
     use toml::de::Error as TomlError;
    @@ -276,4 +276,4 @@
         }
     }
     
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/src/actix_settings/lib.rs.html b/src/actix_settings/lib.rs.html index d1782998e..f6423ff66 100644 --- a/src/actix_settings/lib.rs.html +++ b/src/actix_settings/lib.rs.html @@ -1,815 +1,815 @@ -lib.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    -71
    -72
    -73
    -74
    -75
    -76
    -77
    -78
    -79
    -80
    -81
    -82
    -83
    -84
    -85
    -86
    -87
    -88
    -89
    -90
    -91
    -92
    -93
    -94
    -95
    -96
    -97
    -98
    -99
    -100
    -101
    -102
    -103
    -104
    -105
    -106
    -107
    -108
    -109
    -110
    -111
    -112
    -113
    -114
    -115
    -116
    -117
    -118
    -119
    -120
    -121
    -122
    -123
    -124
    -125
    -126
    -127
    -128
    -129
    -130
    -131
    -132
    -133
    -134
    -135
    -136
    -137
    -138
    -139
    -140
    -141
    -142
    -143
    -144
    -145
    -146
    -147
    -148
    -149
    -150
    -151
    -152
    -153
    -154
    -155
    -156
    -157
    -158
    -159
    -160
    -161
    -162
    -163
    -164
    -165
    -166
    -167
    -168
    -169
    -170
    -171
    -172
    -173
    -174
    -175
    -176
    -177
    -178
    -179
    -180
    -181
    -182
    -183
    -184
    -185
    -186
    -187
    -188
    -189
    -190
    -191
    -192
    -193
    -194
    -195
    -196
    -197
    -198
    -199
    -200
    -201
    -202
    -203
    -204
    -205
    -206
    -207
    -208
    -209
    -210
    -211
    -212
    -213
    -214
    -215
    -216
    -217
    -218
    -219
    -220
    -221
    -222
    -223
    -224
    -225
    -226
    -227
    -228
    -229
    -230
    -231
    -232
    -233
    -234
    -235
    -236
    -237
    -238
    -239
    -240
    -241
    -242
    -243
    -244
    -245
    -246
    -247
    -248
    -249
    -250
    -251
    -252
    -253
    -254
    -255
    -256
    -257
    -258
    -259
    -260
    -261
    -262
    -263
    -264
    -265
    -266
    -267
    -268
    -269
    -270
    -271
    -272
    -273
    -274
    -275
    -276
    -277
    -278
    -279
    -280
    -281
    -282
    -283
    -284
    -285
    -286
    -287
    -288
    -289
    -290
    -291
    -292
    -293
    -294
    -295
    -296
    -297
    -298
    -299
    -300
    -301
    -302
    -303
    -304
    -305
    -306
    -307
    -308
    -309
    -310
    -311
    -312
    -313
    -314
    -315
    -316
    -317
    -318
    -319
    -320
    -321
    -322
    -323
    -324
    -325
    -326
    -327
    -328
    -329
    -330
    -331
    -332
    -333
    -334
    -335
    -336
    -337
    -338
    -339
    -340
    -341
    -342
    -343
    -344
    -345
    -346
    -347
    -348
    -349
    -350
    -351
    -352
    -353
    -354
    -355
    -356
    -357
    -358
    -359
    -360
    -361
    -362
    -363
    -364
    -365
    -366
    -367
    -368
    -369
    -370
    -371
    -372
    -373
    -374
    -375
    -376
    -377
    -378
    -379
    -380
    -381
    -382
    -383
    -384
    -385
    -386
    -387
    -388
    -389
    -390
    -391
    -392
    -393
    -394
    -395
    -396
    -397
    -398
    -399
    -400
    -401
    -402
    -403
    -404
    -405
    -406
    -407
    -408
    -409
    -410
    -411
    -412
    -413
    -414
    -415
    -416
    -417
    -418
    -419
    -420
    -421
    -422
    -423
    -424
    -425
    -426
    -427
    -428
    -429
    -430
    -431
    -432
    -433
    -434
    -435
    -436
    -437
    -438
    -439
    -440
    -441
    -442
    -443
    -444
    -445
    -446
    -447
    -448
    -449
    -450
    -451
    -452
    -453
    -454
    -455
    -456
    -457
    -458
    -459
    -460
    -461
    -462
    -463
    -464
    -465
    -466
    -467
    -468
    -469
    -470
    -471
    -472
    -473
    -474
    -475
    -476
    -477
    -478
    -479
    -480
    -481
    -482
    -483
    -484
    -485
    -486
    -487
    -488
    -489
    -490
    -491
    -492
    -493
    -494
    -495
    -496
    -497
    -498
    -499
    -500
    -501
    -502
    -503
    -504
    -505
    -506
    -507
    -508
    -509
    -510
    -511
    -512
    -513
    -514
    -515
    -516
    -517
    -518
    -519
    -520
    -521
    -522
    -523
    -524
    -525
    -526
    -527
    -528
    -529
    -530
    -531
    -532
    -533
    -534
    -535
    -536
    -537
    -538
    -539
    -540
    -541
    -542
    -543
    -544
    -545
    -546
    -547
    -548
    -549
    -550
    -551
    -552
    -553
    -554
    -555
    -556
    -557
    -558
    -559
    -560
    -561
    -562
    -563
    -564
    -565
    -566
    -567
    -568
    -569
    -570
    -571
    -572
    -573
    -574
    -575
    -576
    -577
    -578
    -579
    -580
    -581
    -582
    -583
    -584
    -585
    -586
    -587
    -588
    -589
    -590
    -591
    -592
    -593
    -594
    -595
    -596
    -597
    -598
    -599
    -600
    -601
    -602
    -603
    -604
    -605
    -606
    -607
    -608
    -609
    -610
    -611
    -612
    -613
    -614
    -615
    -616
    -617
    -618
    -619
    -620
    -621
    -622
    -623
    -624
    -625
    -626
    -627
    -628
    -629
    -630
    -631
    -632
    -633
    -634
    -635
    -636
    -637
    -638
    -639
    -640
    -641
    -642
    -643
    -644
    -645
    -646
    -647
    -648
    -649
    -650
    -651
    -652
    -653
    -654
    -655
    -656
    -657
    -658
    -659
    -660
    -661
    -662
    -663
    -664
    -665
    -666
    -667
    -668
    -669
    -670
    -671
    -672
    -673
    -674
    -675
    -676
    -677
    -678
    -679
    -680
    -681
    -682
    -683
    -684
    -685
    -686
    -687
    -688
    -689
    -690
    -691
    -692
    -693
    -694
    -695
    -696
    -697
    -698
    -699
    -700
    -701
    -702
    -703
    -704
    -705
    -706
    -707
    -708
    -709
    -710
    -711
    -712
    -713
    -714
    -715
    -716
    -717
    -718
    -719
    -720
    -721
    -722
    -723
    -724
    -725
    -726
    -727
    -728
    -729
    -730
    -731
    -732
    -733
    -734
    -735
    -736
    -737
    -738
    -739
    -740
    -741
    -742
    -743
    -744
    -745
    -746
    -747
    -748
    -749
    -750
    -751
    -752
    -753
    -754
    -755
    -756
    -757
    -758
    -759
    -760
    -761
    -762
    -763
    -764
    -765
    -766
    -767
    -768
    -769
    -770
    -771
    -772
    -773
    -774
    -775
    -776
    -777
    -778
    -779
    -780
    -781
    -782
    -783
    -784
    -785
    -786
    -787
    -788
    -789
    -790
    -791
    -792
    -793
    -794
    -795
    -796
    -797
    -798
    -799
    -800
    -801
    -802
    -803
    -804
    -805
    -806
    -807
    -808
    -809
    -810
    -811
    +lib.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
    +99
    +100
    +101
    +102
    +103
    +104
    +105
    +106
    +107
    +108
    +109
    +110
    +111
    +112
    +113
    +114
    +115
    +116
    +117
    +118
    +119
    +120
    +121
    +122
    +123
    +124
    +125
    +126
    +127
    +128
    +129
    +130
    +131
    +132
    +133
    +134
    +135
    +136
    +137
    +138
    +139
    +140
    +141
    +142
    +143
    +144
    +145
    +146
    +147
    +148
    +149
    +150
    +151
    +152
    +153
    +154
    +155
    +156
    +157
    +158
    +159
    +160
    +161
    +162
    +163
    +164
    +165
    +166
    +167
    +168
    +169
    +170
    +171
    +172
    +173
    +174
    +175
    +176
    +177
    +178
    +179
    +180
    +181
    +182
    +183
    +184
    +185
    +186
    +187
    +188
    +189
    +190
    +191
    +192
    +193
    +194
    +195
    +196
    +197
    +198
    +199
    +200
    +201
    +202
    +203
    +204
    +205
    +206
    +207
    +208
    +209
    +210
    +211
    +212
    +213
    +214
    +215
    +216
    +217
    +218
    +219
    +220
    +221
    +222
    +223
    +224
    +225
    +226
    +227
    +228
    +229
    +230
    +231
    +232
    +233
    +234
    +235
    +236
    +237
    +238
    +239
    +240
    +241
    +242
    +243
    +244
    +245
    +246
    +247
    +248
    +249
    +250
    +251
    +252
    +253
    +254
    +255
    +256
    +257
    +258
    +259
    +260
    +261
    +262
    +263
    +264
    +265
    +266
    +267
    +268
    +269
    +270
    +271
    +272
    +273
    +274
    +275
    +276
    +277
    +278
    +279
    +280
    +281
    +282
    +283
    +284
    +285
    +286
    +287
    +288
    +289
    +290
    +291
    +292
    +293
    +294
    +295
    +296
    +297
    +298
    +299
    +300
    +301
    +302
    +303
    +304
    +305
    +306
    +307
    +308
    +309
    +310
    +311
    +312
    +313
    +314
    +315
    +316
    +317
    +318
    +319
    +320
    +321
    +322
    +323
    +324
    +325
    +326
    +327
    +328
    +329
    +330
    +331
    +332
    +333
    +334
    +335
    +336
    +337
    +338
    +339
    +340
    +341
    +342
    +343
    +344
    +345
    +346
    +347
    +348
    +349
    +350
    +351
    +352
    +353
    +354
    +355
    +356
    +357
    +358
    +359
    +360
    +361
    +362
    +363
    +364
    +365
    +366
    +367
    +368
    +369
    +370
    +371
    +372
    +373
    +374
    +375
    +376
    +377
    +378
    +379
    +380
    +381
    +382
    +383
    +384
    +385
    +386
    +387
    +388
    +389
    +390
    +391
    +392
    +393
    +394
    +395
    +396
    +397
    +398
    +399
    +400
    +401
    +402
    +403
    +404
    +405
    +406
    +407
    +408
    +409
    +410
    +411
    +412
    +413
    +414
    +415
    +416
    +417
    +418
    +419
    +420
    +421
    +422
    +423
    +424
    +425
    +426
    +427
    +428
    +429
    +430
    +431
    +432
    +433
    +434
    +435
    +436
    +437
    +438
    +439
    +440
    +441
    +442
    +443
    +444
    +445
    +446
    +447
    +448
    +449
    +450
    +451
    +452
    +453
    +454
    +455
    +456
    +457
    +458
    +459
    +460
    +461
    +462
    +463
    +464
    +465
    +466
    +467
    +468
    +469
    +470
    +471
    +472
    +473
    +474
    +475
    +476
    +477
    +478
    +479
    +480
    +481
    +482
    +483
    +484
    +485
    +486
    +487
    +488
    +489
    +490
    +491
    +492
    +493
    +494
    +495
    +496
    +497
    +498
    +499
    +500
    +501
    +502
    +503
    +504
    +505
    +506
    +507
    +508
    +509
    +510
    +511
    +512
    +513
    +514
    +515
    +516
    +517
    +518
    +519
    +520
    +521
    +522
    +523
    +524
    +525
    +526
    +527
    +528
    +529
    +530
    +531
    +532
    +533
    +534
    +535
    +536
    +537
    +538
    +539
    +540
    +541
    +542
    +543
    +544
    +545
    +546
    +547
    +548
    +549
    +550
    +551
    +552
    +553
    +554
    +555
    +556
    +557
    +558
    +559
    +560
    +561
    +562
    +563
    +564
    +565
    +566
    +567
    +568
    +569
    +570
    +571
    +572
    +573
    +574
    +575
    +576
    +577
    +578
    +579
    +580
    +581
    +582
    +583
    +584
    +585
    +586
    +587
    +588
    +589
    +590
    +591
    +592
    +593
    +594
    +595
    +596
    +597
    +598
    +599
    +600
    +601
    +602
    +603
    +604
    +605
    +606
    +607
    +608
    +609
    +610
    +611
    +612
    +613
    +614
    +615
    +616
    +617
    +618
    +619
    +620
    +621
    +622
    +623
    +624
    +625
    +626
    +627
    +628
    +629
    +630
    +631
    +632
    +633
    +634
    +635
    +636
    +637
    +638
    +639
    +640
    +641
    +642
    +643
    +644
    +645
    +646
    +647
    +648
    +649
    +650
    +651
    +652
    +653
    +654
    +655
    +656
    +657
    +658
    +659
    +660
    +661
    +662
    +663
    +664
    +665
    +666
    +667
    +668
    +669
    +670
    +671
    +672
    +673
    +674
    +675
    +676
    +677
    +678
    +679
    +680
    +681
    +682
    +683
    +684
    +685
    +686
    +687
    +688
    +689
    +690
    +691
    +692
    +693
    +694
    +695
    +696
    +697
    +698
    +699
    +700
    +701
    +702
    +703
    +704
    +705
    +706
    +707
    +708
    +709
    +710
    +711
    +712
    +713
    +714
    +715
    +716
    +717
    +718
    +719
    +720
    +721
    +722
    +723
    +724
    +725
    +726
    +727
    +728
    +729
    +730
    +731
    +732
    +733
    +734
    +735
    +736
    +737
    +738
    +739
    +740
    +741
    +742
    +743
    +744
    +745
    +746
    +747
    +748
    +749
    +750
    +751
    +752
    +753
    +754
    +755
    +756
    +757
    +758
    +759
    +760
    +761
    +762
    +763
    +764
    +765
    +766
    +767
    +768
    +769
    +770
    +771
    +772
    +773
    +774
    +775
    +776
    +777
    +778
    +779
    +780
    +781
    +782
    +783
    +784
    +785
    +786
    +787
    +788
    +789
    +790
    +791
    +792
    +793
    +794
    +795
    +796
    +797
    +798
    +799
    +800
    +801
    +802
    +803
    +804
    +805
    +806
    +807
    +808
    +809
    +810
    +811
     
    //! Easily manage Actix Web's settings from a TOML file and environment variables.
     //!
     //! To get started add a [`Settings::parse_toml("./Server.toml")`](Settings::parse_toml) call to the
    @@ -1622,4 +1622,4 @@
         }
     }
     
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/src/actix_settings/parse.rs.html b/src/actix_settings/parse.rs.html index fcf30c76b..222c40efe 100644 --- a/src/actix_settings/parse.rs.html +++ b/src/actix_settings/parse.rs.html @@ -1,44 +1,44 @@ -parse.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    +parse.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
     
    use std::{path::PathBuf, str::FromStr};
     
     use crate::Error;
    @@ -80,4 +80,4 @@
         }
     }
     
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/src/actix_settings/settings/address.rs.html b/src/actix_settings/settings/address.rs.html index 6b7a5ace8..5d2c19166 100644 --- a/src/actix_settings/settings/address.rs.html +++ b/src/actix_settings/settings/address.rs.html @@ -1,97 +1,97 @@ -address.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    -71
    -72
    -73
    -74
    -75
    -76
    -77
    -78
    -79
    -80
    -81
    -82
    -83
    -84
    -85
    -86
    -87
    -88
    -89
    -90
    -91
    -92
    -93
    +address.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
     
    use once_cell::sync::Lazy;
     use regex::Regex;
     use serde::Deserialize;
    @@ -186,4 +186,4 @@
         }
     }
     
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/src/actix_settings/settings/backlog.rs.html b/src/actix_settings/settings/backlog.rs.html index 0313f9027..13a64f689 100644 --- a/src/actix_settings/settings/backlog.rs.html +++ b/src/actix_settings/settings/backlog.rs.html @@ -1,74 +1,74 @@ -backlog.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    +backlog.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
     
    use std::fmt;
     
     use serde::de;
    @@ -140,4 +140,4 @@
         }
     }
     
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/src/actix_settings/settings/keep_alive.rs.html b/src/actix_settings/settings/keep_alive.rs.html index 3dd02627d..cf8599cea 100644 --- a/src/actix_settings/settings/keep_alive.rs.html +++ b/src/actix_settings/settings/keep_alive.rs.html @@ -1,99 +1,99 @@ -keep_alive.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    -71
    -72
    -73
    -74
    -75
    -76
    -77
    -78
    -79
    -80
    -81
    -82
    -83
    -84
    -85
    -86
    -87
    -88
    -89
    -90
    -91
    -92
    -93
    -94
    -95
    +keep_alive.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
     
    use std::fmt;
     
     use once_cell::sync::Lazy;
    @@ -190,4 +190,4 @@
         }
     }
     
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/src/actix_settings/settings/max_connection_rate.rs.html b/src/actix_settings/settings/max_connection_rate.rs.html index fafd51083..beb76810a 100644 --- a/src/actix_settings/settings/max_connection_rate.rs.html +++ b/src/actix_settings/settings/max_connection_rate.rs.html @@ -1,71 +1,71 @@ -max_connection_rate.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    +max_connection_rate.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
     
    use std::fmt;
     
     use serde::de;
    @@ -134,4 +134,4 @@
         }
     }
     
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/src/actix_settings/settings/max_connections.rs.html b/src/actix_settings/settings/max_connections.rs.html index 573b5ac2c..451c989db 100644 --- a/src/actix_settings/settings/max_connections.rs.html +++ b/src/actix_settings/settings/max_connections.rs.html @@ -1,71 +1,71 @@ -max_connections.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    +max_connections.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
     
    use std::fmt;
     
     use serde::de;
    @@ -134,4 +134,4 @@
         }
     }
     
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/src/actix_settings/settings/mod.rs.html b/src/actix_settings/settings/mod.rs.html index 89fc8feee..4a8018fdb 100644 --- a/src/actix_settings/settings/mod.rs.html +++ b/src/actix_settings/settings/mod.rs.html @@ -1,65 +1,65 @@ -mod.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    +mod.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
     
    use serde::Deserialize;
     
     mod address;
    @@ -122,4 +122,4 @@
         pub tls: Tls,
     }
     
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/src/actix_settings/settings/mode.rs.html b/src/actix_settings/settings/mode.rs.html index 2245f487c..16f05e5e0 100644 --- a/src/actix_settings/settings/mode.rs.html +++ b/src/actix_settings/settings/mode.rs.html @@ -1,31 +1,31 @@ -mode.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
    +mode.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
     
    use serde::Deserialize;
     
     use crate::{AsResult, Parse};
    @@ -54,4 +54,4 @@
         }
     }
     
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/src/actix_settings/settings/num_workers.rs.html b/src/actix_settings/settings/num_workers.rs.html index c5198e199..178020f01 100644 --- a/src/actix_settings/settings/num_workers.rs.html +++ b/src/actix_settings/settings/num_workers.rs.html @@ -1,70 +1,70 @@ -num_workers.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    +num_workers.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
     
    use std::fmt;
     
     use serde::de;
    @@ -132,4 +132,4 @@
         }
     }
     
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/src/actix_settings/settings/timeout.rs.html b/src/actix_settings/settings/timeout.rs.html index 7d20584ea..75ae4eb20 100644 --- a/src/actix_settings/settings/timeout.rs.html +++ b/src/actix_settings/settings/timeout.rs.html @@ -1,102 +1,102 @@ -timeout.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    -71
    -72
    -73
    -74
    -75
    -76
    -77
    -78
    -79
    -80
    -81
    -82
    -83
    -84
    -85
    -86
    -87
    -88
    -89
    -90
    -91
    -92
    -93
    -94
    -95
    -96
    -97
    -98
    +timeout.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
     
    use std::fmt;
     
     use once_cell::sync::Lazy;
    @@ -196,4 +196,4 @@
         }
     }
     
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/src/actix_settings/settings/tls.rs.html b/src/actix_settings/settings/tls.rs.html index 00b0204b1..e040be4d3 100644 --- a/src/actix_settings/settings/tls.rs.html +++ b/src/actix_settings/settings/tls.rs.html @@ -1,22 +1,22 @@ -tls.rs - source
    1
    -2
    -3
    -4
    -5
    -6
    -7
    -8
    -9
    -10
    -11
    -12
    -13
    -14
    -15
    -16
    -17
    -18
    +tls.rs - source
    1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
     
    use std::path::PathBuf;
     
     use serde::Deserialize;
    @@ -36,4 +36,4 @@
         pub private_key: PathBuf,
     }
     
    -
    \ 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 9f4c004f7..06866b88d 100644 --- a/src/actix_web_httpauth/extractors/basic.rs.html +++ b/src/actix_web_httpauth/extractors/basic.rs.html @@ -1,115 +1,115 @@ -basic.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    -71
    -72
    -73
    -74
    -75
    -76
    -77
    -78
    -79
    -80
    -81
    -82
    -83
    -84
    -85
    -86
    -87
    -88
    -89
    -90
    -91
    -92
    -93
    -94
    -95
    -96
    -97
    -98
    -99
    -100
    -101
    -102
    -103
    -104
    -105
    -106
    -107
    -108
    -109
    -110
    -111
    -112
    +basic.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
    +99
    +100
    +101
    +102
    +103
    +104
    +105
    +106
    +107
    +108
    +109
    +110
    +111
    +112
     
    //! Extractor for the "Basic" HTTP Authentication Scheme.
     
     use std::borrow::Cow;
    @@ -223,4 +223,4 @@
         }
     }
     
    -
    \ 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 92a911014..e7cce999f 100644 --- a/src/actix_web_httpauth/extractors/bearer.rs.html +++ b/src/actix_web_httpauth/extractors/bearer.rs.html @@ -1,147 +1,147 @@ -bearer.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    -71
    -72
    -73
    -74
    -75
    -76
    -77
    -78
    -79
    -80
    -81
    -82
    -83
    -84
    -85
    -86
    -87
    -88
    -89
    -90
    -91
    -92
    -93
    -94
    -95
    -96
    -97
    -98
    -99
    -100
    -101
    -102
    -103
    -104
    -105
    -106
    -107
    -108
    -109
    -110
    -111
    -112
    -113
    -114
    -115
    -116
    -117
    -118
    -119
    -120
    -121
    -122
    -123
    -124
    -125
    -126
    -127
    -128
    -129
    -130
    -131
    -132
    -133
    -134
    -135
    -136
    -137
    -138
    -139
    -140
    -141
    -142
    -143
    -144
    +bearer.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
    +99
    +100
    +101
    +102
    +103
    +104
    +105
    +106
    +107
    +108
    +109
    +110
    +111
    +112
    +113
    +114
    +115
    +116
    +117
    +118
    +119
    +120
    +121
    +122
    +123
    +124
    +125
    +126
    +127
    +128
    +129
    +130
    +131
    +132
    +133
    +134
    +135
    +136
    +137
    +138
    +139
    +140
    +141
    +142
    +143
    +144
     
    //! Extractor for the "Bearer" HTTP Authentication Scheme.
     
     use std::{borrow::Cow, default::Default};
    @@ -287,4 +287,4 @@
         }
     }
     
    -
    \ 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 1b9763666..43e55650f 100644 --- a/src/actix_web_httpauth/extractors/config.rs.html +++ b/src/actix_web_httpauth/extractors/config.rs.html @@ -1,24 +1,24 @@ -config.rs - source
    1
    -2
    -3
    -4
    -5
    -6
    -7
    -8
    -9
    -10
    -11
    -12
    -13
    -14
    -15
    -16
    -17
    -18
    -19
    -20
    -21
    +config.rs - source
    1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
    +19
    +20
    +21
     
    use super::AuthenticationError;
     use crate::headers::www_authenticate::Challenge;
     
    @@ -41,4 +41,4 @@
         }
     }
     
    -
    \ 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 e701b7845..da0d3720d 100644 --- a/src/actix_web_httpauth/extractors/errors.rs.html +++ b/src/actix_web_httpauth/extractors/errors.rs.html @@ -1,82 +1,82 @@ -errors.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    -71
    -72
    -73
    -74
    -75
    -76
    -77
    -78
    -79
    +errors.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
     
    use std::{error::Error, fmt};
     
     use actix_web::{http::StatusCode, HttpResponse, ResponseError};
    @@ -157,4 +157,4 @@
         }
     }
     
    -
    \ 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 596ada5b7..89bef5ff9 100644 --- a/src/actix_web_httpauth/extractors/mod.rs.html +++ b/src/actix_web_httpauth/extractors/mod.rs.html @@ -1,11 +1,11 @@ -mod.rs - source
    1
    -2
    -3
    -4
    -5
    -6
    -7
    -8
    +mod.rs - source
    1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
     
    //! Type-safe authentication information extractors.
     
     pub mod basic;
    @@ -15,4 +15,4 @@
     
     pub use self::{config::AuthExtractorConfig, errors::AuthenticationError};
     
    -
    \ 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 8fc84d5f7..04eeb6792 100644 --- a/src/actix_web_httpauth/headers/authorization/errors.rs.html +++ b/src/actix_web_httpauth/headers/authorization/errors.rs.html @@ -1,75 +1,75 @@ -errors.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    -71
    -72
    +errors.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
     
    use std::{convert::From, error::Error, fmt, str};
     
     use actix_web::http::header;
    @@ -143,4 +143,4 @@
         }
     }
     
    -
    \ 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 66d705ae8..a63283014 100644 --- a/src/actix_web_httpauth/headers/authorization/header.rs.html +++ b/src/actix_web_httpauth/headers/authorization/header.rs.html @@ -1,87 +1,87 @@ -header.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    -71
    -72
    -73
    -74
    -75
    -76
    -77
    -78
    -79
    -80
    -81
    -82
    -83
    -84
    +header.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
     
    use std::fmt;
     
     use actix_web::{
    @@ -167,4 +167,4 @@
         }
     }
     
    -
    \ 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 01baaf5b8..5133a16e3 100644 --- a/src/actix_web_httpauth/headers/authorization/mod.rs.html +++ b/src/actix_web_httpauth/headers/authorization/mod.rs.html @@ -1,14 +1,14 @@ -mod.rs - source
    1
    -2
    -3
    -4
    -5
    -6
    -7
    -8
    -9
    -10
    -11
    +mod.rs - source
    1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +10
    +11
     
    //! `Authorization` header and various auth schemes.
     
     mod errors;
    @@ -21,4 +21,4 @@
         scheme::{basic::Basic, bearer::Bearer, 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 f9904c262..3a105326b 100644 --- a/src/actix_web_httpauth/headers/authorization/scheme/basic.rs.html +++ b/src/actix_web_httpauth/headers/authorization/scheme/basic.rs.html @@ -1,198 +1,198 @@ -basic.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    -71
    -72
    -73
    -74
    -75
    -76
    -77
    -78
    -79
    -80
    -81
    -82
    -83
    -84
    -85
    -86
    -87
    -88
    -89
    -90
    -91
    -92
    -93
    -94
    -95
    -96
    -97
    -98
    -99
    -100
    -101
    -102
    -103
    -104
    -105
    -106
    -107
    -108
    -109
    -110
    -111
    -112
    -113
    -114
    -115
    -116
    -117
    -118
    -119
    -120
    -121
    -122
    -123
    -124
    -125
    -126
    -127
    -128
    -129
    -130
    -131
    -132
    -133
    -134
    -135
    -136
    -137
    -138
    -139
    -140
    -141
    -142
    -143
    -144
    -145
    -146
    -147
    -148
    -149
    -150
    -151
    -152
    -153
    -154
    -155
    -156
    -157
    -158
    -159
    -160
    -161
    -162
    -163
    -164
    -165
    -166
    -167
    -168
    -169
    -170
    -171
    -172
    -173
    -174
    -175
    -176
    -177
    -178
    -179
    -180
    -181
    -182
    -183
    -184
    -185
    -186
    -187
    -188
    -189
    -190
    -191
    -192
    -193
    -194
    -195
    +basic.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
    +99
    +100
    +101
    +102
    +103
    +104
    +105
    +106
    +107
    +108
    +109
    +110
    +111
    +112
    +113
    +114
    +115
    +116
    +117
    +118
    +119
    +120
    +121
    +122
    +123
    +124
    +125
    +126
    +127
    +128
    +129
    +130
    +131
    +132
    +133
    +134
    +135
    +136
    +137
    +138
    +139
    +140
    +141
    +142
    +143
    +144
    +145
    +146
    +147
    +148
    +149
    +150
    +151
    +152
    +153
    +154
    +155
    +156
    +157
    +158
    +159
    +160
    +161
    +162
    +163
    +164
    +165
    +166
    +167
    +168
    +169
    +170
    +171
    +172
    +173
    +174
    +175
    +176
    +177
    +178
    +179
    +180
    +181
    +182
    +183
    +184
    +185
    +186
    +187
    +188
    +189
    +190
    +191
    +192
    +193
    +194
    +195
     
    use std::{borrow::Cow, fmt, str};
     
     use actix_web::{
    @@ -389,4 +389,4 @@
         }
     }
     
    -
    \ 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 3df44210c..7b67b50eb 100644 --- a/src/actix_web_httpauth/headers/authorization/scheme/bearer.rs.html +++ b/src/actix_web_httpauth/headers/authorization/scheme/bearer.rs.html @@ -1,141 +1,141 @@ -bearer.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    -71
    -72
    -73
    -74
    -75
    -76
    -77
    -78
    -79
    -80
    -81
    -82
    -83
    -84
    -85
    -86
    -87
    -88
    -89
    -90
    -91
    -92
    -93
    -94
    -95
    -96
    -97
    -98
    -99
    -100
    -101
    -102
    -103
    -104
    -105
    -106
    -107
    -108
    -109
    -110
    -111
    -112
    -113
    -114
    -115
    -116
    -117
    -118
    -119
    -120
    -121
    -122
    -123
    -124
    -125
    -126
    -127
    -128
    -129
    -130
    -131
    -132
    -133
    -134
    -135
    -136
    -137
    -138
    +bearer.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
    +99
    +100
    +101
    +102
    +103
    +104
    +105
    +106
    +107
    +108
    +109
    +110
    +111
    +112
    +113
    +114
    +115
    +116
    +117
    +118
    +119
    +120
    +121
    +122
    +123
    +124
    +125
    +126
    +127
    +128
    +129
    +130
    +131
    +132
    +133
    +134
    +135
    +136
    +137
    +138
     
    use std::{borrow::Cow, fmt};
     
     use actix_web::{
    @@ -275,4 +275,4 @@
         }
     }
     
    -
    \ 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 b908fd90d..a4c7d92c6 100644 --- a/src/actix_web_httpauth/headers/authorization/scheme/mod.rs.html +++ b/src/actix_web_httpauth/headers/authorization/scheme/mod.rs.html @@ -1,17 +1,17 @@ -mod.rs - source
    1
    -2
    -3
    -4
    -5
    -6
    -7
    -8
    -9
    -10
    -11
    -12
    -13
    -14
    +mod.rs - source
    1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +10
    +11
    +12
    +13
    +14
     
    use std::fmt::{Debug, Display};
     
     use actix_web::http::header::{HeaderValue, TryIntoHeaderValue};
    @@ -27,4 +27,4 @@
         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 32d1e0212..da929d793 100644 --- a/src/actix_web_httpauth/headers/mod.rs.html +++ b/src/actix_web_httpauth/headers/mod.rs.html @@ -1,10 +1,10 @@ -mod.rs - source
    1
    -2
    -3
    -4
    +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 751ecb0bd..a7f6a9dc7 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,139 +1,139 @@ -basic.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    -71
    -72
    -73
    -74
    -75
    -76
    -77
    -78
    -79
    -80
    -81
    -82
    -83
    -84
    -85
    -86
    -87
    -88
    -89
    -90
    -91
    -92
    -93
    -94
    -95
    -96
    -97
    -98
    -99
    -100
    -101
    -102
    -103
    -104
    -105
    -106
    -107
    -108
    -109
    -110
    -111
    -112
    -113
    -114
    -115
    -116
    -117
    -118
    -119
    -120
    -121
    -122
    -123
    -124
    -125
    -126
    -127
    -128
    -129
    -130
    -131
    -132
    -133
    -134
    -135
    -136
    +basic.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
    +99
    +100
    +101
    +102
    +103
    +104
    +105
    +106
    +107
    +108
    +109
    +110
    +111
    +112
    +113
    +114
    +115
    +116
    +117
    +118
    +119
    +120
    +121
    +122
    +123
    +124
    +125
    +126
    +127
    +128
    +129
    +130
    +131
    +132
    +133
    +134
    +135
    +136
     
    //! Challenge for the "Basic" HTTP Authentication Scheme.
     
     use std::{borrow::Cow, fmt, str};
    @@ -271,4 +271,4 @@
         }
     }
     
    -
    \ 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 3a3468f0a..5feafefe7 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,74 +1,74 @@ -builder.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    -71
    +builder.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
     
    use std::borrow::Cow;
     
     use super::{Bearer, Error};
    @@ -141,4 +141,4 @@
         }
     }
     
    -
    \ 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 f2255d70b..95f419b56 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,144 +1,144 @@ -challenge.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    -71
    -72
    -73
    -74
    -75
    -76
    -77
    -78
    -79
    -80
    -81
    -82
    -83
    -84
    -85
    -86
    -87
    -88
    -89
    -90
    -91
    -92
    -93
    -94
    -95
    -96
    -97
    -98
    -99
    -100
    -101
    -102
    -103
    -104
    -105
    -106
    -107
    -108
    -109
    -110
    -111
    -112
    -113
    -114
    -115
    -116
    -117
    -118
    -119
    -120
    -121
    -122
    -123
    -124
    -125
    -126
    -127
    -128
    -129
    -130
    -131
    -132
    -133
    -134
    -135
    -136
    -137
    -138
    -139
    -140
    -141
    +challenge.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
    +99
    +100
    +101
    +102
    +103
    +104
    +105
    +106
    +107
    +108
    +109
    +110
    +111
    +112
    +113
    +114
    +115
    +116
    +117
    +118
    +119
    +120
    +121
    +122
    +123
    +124
    +125
    +126
    +127
    +128
    +129
    +130
    +131
    +132
    +133
    +134
    +135
    +136
    +137
    +138
    +139
    +140
    +141
     
    use std::{borrow::Cow, fmt, str};
     
     use actix_web::{
    @@ -281,4 +281,4 @@
         }
     }
     
    -
    \ 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 f555dbeb1..791b727dd 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,53 +1,53 @@ -errors.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    +errors.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
     
    use std::fmt;
     
     use actix_web::http::StatusCode;
    @@ -99,4 +99,4 @@
         }
     }
     
    -
    \ 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 fef0a84d5..f92745d90 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,28 +1,28 @@ -mod.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
    +mod.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
     
    //! Challenge for the "Bearer" HTTP Authentication Scheme.
     
     mod builder;
    @@ -49,4 +49,4 @@
         }
     }
     
    -
    \ 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 755035817..92a9ea85d 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,15 +1,15 @@ -mod.rs - source
    1
    -2
    -3
    -4
    -5
    -6
    -7
    -8
    -9
    -10
    -11
    -12
    +mod.rs - source
    1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +10
    +11
    +12
     
    use std::fmt::{Debug, Display};
     
     use actix_web::{http::header::TryIntoHeaderValue, web::Bytes};
    @@ -23,4 +23,4 @@
         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 1175fd934..9af66306c 100644 --- a/src/actix_web_httpauth/headers/www_authenticate/header.rs.html +++ b/src/actix_web_httpauth/headers/www_authenticate/header.rs.html @@ -1,38 +1,38 @@ -header.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
    -34
    -35
    +header.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
    +34
    +35
     
    use actix_web::{
         error::ParseError,
         http::header::{Header, HeaderName, HeaderValue, TryIntoHeaderValue, WWW_AUTHENTICATE},
    @@ -69,4 +69,4 @@
         }
     }
     
    -
    \ 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 877e594de..6d4125497 100644 --- a/src/actix_web_httpauth/headers/www_authenticate/mod.rs.html +++ b/src/actix_web_httpauth/headers/www_authenticate/mod.rs.html @@ -1,12 +1,12 @@ -mod.rs - source
    1
    -2
    -3
    -4
    -5
    -6
    -7
    -8
    -9
    +mod.rs - source
    1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
     
    //! `WWW-Authenticate` header and various auth challenges.
     
     mod challenge;
    @@ -17,4 +17,4 @@
         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 fd4897c88..6794cf27c 100644 --- a/src/actix_web_httpauth/lib.rs.html +++ b/src/actix_web_httpauth/lib.rs.html @@ -1,27 +1,27 @@ -lib.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
    +lib.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
     
    //! HTTP authentication schemes for [Actix Web](https://actix.rs).
     //!
     //! Provides:
    @@ -47,4 +47,4 @@
     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 79dc13fec..2519b8734 100644 --- a/src/actix_web_httpauth/middleware.rs.html +++ b/src/actix_web_httpauth/middleware.rs.html @@ -1,420 +1,420 @@ -middleware.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    -71
    -72
    -73
    -74
    -75
    -76
    -77
    -78
    -79
    -80
    -81
    -82
    -83
    -84
    -85
    -86
    -87
    -88
    -89
    -90
    -91
    -92
    -93
    -94
    -95
    -96
    -97
    -98
    -99
    -100
    -101
    -102
    -103
    -104
    -105
    -106
    -107
    -108
    -109
    -110
    -111
    -112
    -113
    -114
    -115
    -116
    -117
    -118
    -119
    -120
    -121
    -122
    -123
    -124
    -125
    -126
    -127
    -128
    -129
    -130
    -131
    -132
    -133
    -134
    -135
    -136
    -137
    -138
    -139
    -140
    -141
    -142
    -143
    -144
    -145
    -146
    -147
    -148
    -149
    -150
    -151
    -152
    -153
    -154
    -155
    -156
    -157
    -158
    -159
    -160
    -161
    -162
    -163
    -164
    -165
    -166
    -167
    -168
    -169
    -170
    -171
    -172
    -173
    -174
    -175
    -176
    -177
    -178
    -179
    -180
    -181
    -182
    -183
    -184
    -185
    -186
    -187
    -188
    -189
    -190
    -191
    -192
    -193
    -194
    -195
    -196
    -197
    -198
    -199
    -200
    -201
    -202
    -203
    -204
    -205
    -206
    -207
    -208
    -209
    -210
    -211
    -212
    -213
    -214
    -215
    -216
    -217
    -218
    -219
    -220
    -221
    -222
    -223
    -224
    -225
    -226
    -227
    -228
    -229
    -230
    -231
    -232
    -233
    -234
    -235
    -236
    -237
    -238
    -239
    -240
    -241
    -242
    -243
    -244
    -245
    -246
    -247
    -248
    -249
    -250
    -251
    -252
    -253
    -254
    -255
    -256
    -257
    -258
    -259
    -260
    -261
    -262
    -263
    -264
    -265
    -266
    -267
    -268
    -269
    -270
    -271
    -272
    -273
    -274
    -275
    -276
    -277
    -278
    -279
    -280
    -281
    -282
    -283
    -284
    -285
    -286
    -287
    -288
    -289
    -290
    -291
    -292
    -293
    -294
    -295
    -296
    -297
    -298
    -299
    -300
    -301
    -302
    -303
    -304
    -305
    -306
    -307
    -308
    -309
    -310
    -311
    -312
    -313
    -314
    -315
    -316
    -317
    -318
    -319
    -320
    -321
    -322
    -323
    -324
    -325
    -326
    -327
    -328
    -329
    -330
    -331
    -332
    -333
    -334
    -335
    -336
    -337
    -338
    -339
    -340
    -341
    -342
    -343
    -344
    -345
    -346
    -347
    -348
    -349
    -350
    -351
    -352
    -353
    -354
    -355
    -356
    -357
    -358
    -359
    -360
    -361
    -362
    -363
    -364
    -365
    -366
    -367
    -368
    -369
    -370
    -371
    -372
    -373
    -374
    -375
    -376
    -377
    -378
    -379
    -380
    -381
    -382
    -383
    -384
    -385
    -386
    -387
    -388
    -389
    -390
    -391
    -392
    -393
    -394
    -395
    -396
    -397
    -398
    -399
    -400
    -401
    -402
    -403
    -404
    -405
    -406
    -407
    -408
    -409
    -410
    -411
    -412
    -413
    -414
    -415
    -416
    -417
    +middleware.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
    +99
    +100
    +101
    +102
    +103
    +104
    +105
    +106
    +107
    +108
    +109
    +110
    +111
    +112
    +113
    +114
    +115
    +116
    +117
    +118
    +119
    +120
    +121
    +122
    +123
    +124
    +125
    +126
    +127
    +128
    +129
    +130
    +131
    +132
    +133
    +134
    +135
    +136
    +137
    +138
    +139
    +140
    +141
    +142
    +143
    +144
    +145
    +146
    +147
    +148
    +149
    +150
    +151
    +152
    +153
    +154
    +155
    +156
    +157
    +158
    +159
    +160
    +161
    +162
    +163
    +164
    +165
    +166
    +167
    +168
    +169
    +170
    +171
    +172
    +173
    +174
    +175
    +176
    +177
    +178
    +179
    +180
    +181
    +182
    +183
    +184
    +185
    +186
    +187
    +188
    +189
    +190
    +191
    +192
    +193
    +194
    +195
    +196
    +197
    +198
    +199
    +200
    +201
    +202
    +203
    +204
    +205
    +206
    +207
    +208
    +209
    +210
    +211
    +212
    +213
    +214
    +215
    +216
    +217
    +218
    +219
    +220
    +221
    +222
    +223
    +224
    +225
    +226
    +227
    +228
    +229
    +230
    +231
    +232
    +233
    +234
    +235
    +236
    +237
    +238
    +239
    +240
    +241
    +242
    +243
    +244
    +245
    +246
    +247
    +248
    +249
    +250
    +251
    +252
    +253
    +254
    +255
    +256
    +257
    +258
    +259
    +260
    +261
    +262
    +263
    +264
    +265
    +266
    +267
    +268
    +269
    +270
    +271
    +272
    +273
    +274
    +275
    +276
    +277
    +278
    +279
    +280
    +281
    +282
    +283
    +284
    +285
    +286
    +287
    +288
    +289
    +290
    +291
    +292
    +293
    +294
    +295
    +296
    +297
    +298
    +299
    +300
    +301
    +302
    +303
    +304
    +305
    +306
    +307
    +308
    +309
    +310
    +311
    +312
    +313
    +314
    +315
    +316
    +317
    +318
    +319
    +320
    +321
    +322
    +323
    +324
    +325
    +326
    +327
    +328
    +329
    +330
    +331
    +332
    +333
    +334
    +335
    +336
    +337
    +338
    +339
    +340
    +341
    +342
    +343
    +344
    +345
    +346
    +347
    +348
    +349
    +350
    +351
    +352
    +353
    +354
    +355
    +356
    +357
    +358
    +359
    +360
    +361
    +362
    +363
    +364
    +365
    +366
    +367
    +368
    +369
    +370
    +371
    +372
    +373
    +374
    +375
    +376
    +377
    +378
    +379
    +380
    +381
    +382
    +383
    +384
    +385
    +386
    +387
    +388
    +389
    +390
    +391
    +392
    +393
    +394
    +395
    +396
    +397
    +398
    +399
    +400
    +401
    +402
    +403
    +404
    +405
    +406
    +407
    +408
    +409
    +410
    +411
    +412
    +413
    +414
    +415
    +416
    +417
     
    //! HTTP Authentication middleware.
     
     use std::{
    @@ -833,4 +833,4 @@
         }
     }
     
    -
    \ 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 3cdf6a2cf..2f0580b08 100644 --- a/src/actix_web_httpauth/utils.rs.html +++ b/src/actix_web_httpauth/utils.rs.html @@ -1,115 +1,115 @@ -utils.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
    -34
    -35
    -36
    -37
    -38
    -39
    -40
    -41
    -42
    -43
    -44
    -45
    -46
    -47
    -48
    -49
    -50
    -51
    -52
    -53
    -54
    -55
    -56
    -57
    -58
    -59
    -60
    -61
    -62
    -63
    -64
    -65
    -66
    -67
    -68
    -69
    -70
    -71
    -72
    -73
    -74
    -75
    -76
    -77
    -78
    -79
    -80
    -81
    -82
    -83
    -84
    -85
    -86
    -87
    -88
    -89
    -90
    -91
    -92
    -93
    -94
    -95
    -96
    -97
    -98
    -99
    -100
    -101
    -102
    -103
    -104
    -105
    -106
    -107
    -108
    -109
    -110
    -111
    -112
    +utils.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
    +34
    +35
    +36
    +37
    +38
    +39
    +40
    +41
    +42
    +43
    +44
    +45
    +46
    +47
    +48
    +49
    +50
    +51
    +52
    +53
    +54
    +55
    +56
    +57
    +58
    +59
    +60
    +61
    +62
    +63
    +64
    +65
    +66
    +67
    +68
    +69
    +70
    +71
    +72
    +73
    +74
    +75
    +76
    +77
    +78
    +79
    +80
    +81
    +82
    +83
    +84
    +85
    +86
    +87
    +88
    +89
    +90
    +91
    +92
    +93
    +94
    +95
    +96
    +97
    +98
    +99
    +100
    +101
    +102
    +103
    +104
    +105
    +106
    +107
    +108
    +109
    +110
    +111
    +112
     
    use std::str;
     
     use actix_web::web::BytesMut;
    @@ -223,4 +223,4 @@
         }
     }
     
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/static.files/ayu-45445754dcd01ab2.css b/static.files/ayu-45445754dcd01ab2.css new file mode 100644 index 000000000..b8e37a5ce --- /dev/null +++ b/static.files/ayu-45445754dcd01ab2.css @@ -0,0 +1 @@ + :root{--main-background-color:#0f1419;--main-color:#c5c5c5;--settings-input-color:#ffb454;--settings-button-color:#fff;--settings-button-border-focus:#e0e0e0;--sidebar-background-color:#14191f;--sidebar-background-color-hover:rgba(70,70,70,0.33);--code-block-background-color:#191f26;--scrollbar-track-background-color:transparent;--scrollbar-thumb-background-color:#5c6773;--scrollbar-color:#5c6773 #24292f;--headings-border-bottom-color:#5c6773;--border-color:#5c6773;--button-background-color:#141920;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--search-input-focused-border-color:#5c6773;--copy-path-button-color:#fff;--copy-path-img-filter:invert(70%);--copy-path-img-hover-filter:invert(100%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--type-link-color:#ffa0a5;--trait-link-color:#39afd7;--assoc-item-link-color:#39afd7;--function-link-color:#fdd687;--macro-link-color:#a37acc;--keyword-link-color:#39afd7;--mod-link-color:#39afd7;--link-color:#39afd7;--sidebar-link-color:#53b1db;--sidebar-current-link-background-color:transparent;--search-result-link-focus-background-color:#3c3c3c;--search-result-border-color:#aaa3;--search-color:#fff;--search-results-alias-color:#c5c5c5;--search-results-grey-color:#999;--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ff7733;--code-highlight-kw-2-color:#ff7733;--code-highlight-lifetime-color:#ff7733;--code-highlight-prelude-color:#69f2df;--code-highlight-prelude-val-color:#ff7733;--code-highlight-number-color:#b8cc52;--code-highlight-string-color:#b8cc52;--code-highlight-literal-color:#ff7733;--code-highlight-attribute-color:#e6e1cf;--code-highlight-self-color:#36a3d9;--code-highlight-macro-color:#a37acc;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#788797;--code-highlight-doc-comment-color:#a1ac88;--example-line-numbers-border-color:none;--src-line-numbers-span-color:#5c6773;--src-line-number-highlighted-background-color:rgba(255,236,164,0.06);--test-arrow-color:#788797;--test-arrow-background-color:rgba(57,175,215,0.09);--test-arrow-hover-color:#c5c5c5;--test-arrow-hover-background-color:rgba(57,175,215,0.368);--target-background-color:rgba(255,236,164,0.06);--target-border-color:rgba(255,180,76,0.85);--tooltip-background-color:#314559;--tooltip-color:#c5c5c5;--kbd-color:#c5c5c5;--kbd-background:#314559;--kbd-box-shadow-color:#5c6773;--rust-logo-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);--crate-search-div-filter:invert(41%) sepia(12%) saturate(487%) hue-rotate(171deg) brightness(94%) contrast(94%);--crate-search-div-hover-filter:invert(98%) sepia(12%) saturate(81%) hue-rotate(343deg) brightness(113%) contrast(76%);--crate-search-hover-border:#e0e0e0;--source-sidebar-background-selected:#14191f;--source-sidebar-background-hover:#14191f;}h1,h2,h3,h4{color:white;}h1 a{color:#fff;}h4{border:none;}.docblock code{color:#ffb454;}.code-header{color:#e6e1cf;}.docblock pre>code,pre>code{color:#e6e1cf;}.item-info code{color:#e6e1cf;}.docblock a>code{color:#39AFD7 !important;}pre,.rustdoc.source .example-wrap{color:#e6e1cf;}.sidebar .current,.sidebar a:hover{color:#ffb44c;}.sidebar-elems .location{color:#ff7733;}.src-line-numbers .line-highlighted{color:#708090;padding-right:4px;border-right:1px solid #ffb44c;}.search-results a:hover{color:#fff !important;background-color:#3c3c3c;}.search-results a:focus{color:#fff !important;background-color:#3c3c3c;}.search-results a{color:#0096cf;}.search-results a div.desc{color:#c5c5c5;}.content .item-info::before{color:#ccc;}.sidebar h2 a,.sidebar h3 a{color:white;}body.source .example-wrap pre.rust a{background:#333;}details.rustdoc-toggle>summary::before{filter:invert(100%);}.module-item .stab,.import-item .stab{color:#000;}.result-name .primitive>i,.result-name .keyword>i{color:#788797;}#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;}pre.rust .lifetime{}pre.rust .kw{}#titles>button:hover,#titles>button.selected{}pre.rust .self,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .attribute{}pre.rust .kw-2,pre.rust .prelude-ty{}#settings-menu>a img{filter:invert(100);}#source-sidebar>.title{color:#fff;}#source-sidebar div.files>a:hover,details.dir-entry summary:hover,#source-sidebar div.files>a:focus,details.dir-entry summary:focus,#source-sidebar div.files>a.selected{color:#ffb44c;}.scraped-example-list .scrape-help{border-color:#aaa;color:#eee;}.scraped-example-list .scrape-help:hover{border-color:white;color:white;}.scraped-example .example-wrap .rust span.highlight{background:rgb(91,59,1);}.scraped-example .example-wrap .rust span.highlight.focus{background:rgb(124,75,15);}.scraped-example:not(.expanded) .code-wrapper:before{background:linear-gradient(to bottom,rgba(15,20,25,1),rgba(15,20,25,0));}.scraped-example:not(.expanded) .code-wrapper:after{background:linear-gradient(to top,rgba(15,20,25,1),rgba(15,20,25,0));}.toggle-line-inner{background:#999;}.toggle-line:hover .toggle-line-inner{background:#c5c5c5;} \ No newline at end of file diff --git a/static.files/ayu-c360e709a65bed99.css b/static.files/ayu-c360e709a65bed99.css deleted file mode 100644 index 2fa1fa39d..000000000 --- a/static.files/ayu-c360e709a65bed99.css +++ /dev/null @@ -1,285 +0,0 @@ -/* -Based off of the Ayu theme -Original by Dempfi (https://github.com/dempfi/ayu) -*/ - -:root { - --main-background-color: #0f1419; - --main-color: #c5c5c5; - --settings-input-color: #ffb454; - --sidebar-background-color: #14191f; - --sidebar-background-color-hover: rgba(70, 70, 70, 0.33); - --code-block-background-color: #191f26; - --scrollbar-track-background-color: transparent; - --scrollbar-thumb-background-color: #5c6773; - --scrollbar-color: #5c6773 #24292f; - --headings-border-bottom-color: #5c6773; - --border-color: #5c6773; - --button-background-color: #141920; - --right-side-color: grey; - --code-attribute-color: #999; - --toggles-color: #999; - --search-input-focused-border-color: #5c6773; /* Same as `--border-color`. */ - --copy-path-button-color: #fff; - --copy-path-img-filter: invert(70%); - --copy-path-img-hover-filter: invert(100%); - --codeblock-error-hover-color: rgb(255, 0, 0); - --codeblock-error-color: rgba(255, 0, 0, .5); - --codeblock-ignore-hover-color: rgb(255, 142, 0); - --codeblock-ignore-color: rgba(255, 142, 0, .6); - --type-link-color: #ffa0a5; - --trait-link-color: #39afd7; - --assoc-item-link-color: #39afd7; - --function-link-color: #fdd687; - --macro-link-color: #a37acc; - --keyword-link-color: #39afd7; - --mod-link-color: #39afd7; - --link-color: #39afd7; - --sidebar-link-color: #53b1db; - --sidebar-current-link-background-color: transparent; - --search-result-link-focus-background-color: #3c3c3c; - --search-result-border-color: #aaa3; - --stab-background-color: #314559; - --stab-code-color: #e6e1cf; - --search-color: #fff; - --code-highlight-kw-color: #ff7733; - --code-highlight-kw-2-color: #ff7733; - --code-highlight-lifetime-color: #ff7733; - --code-highlight-prelude-color: #69f2df; - --code-highlight-prelude-val-color: #ff7733; - --code-highlight-number-color: #b8cc52; - --code-highlight-string-color: #b8cc52; - --code-highlight-literal-color: #ff7733; - --code-highlight-attribute-color: #e6e1cf; - --code-highlight-self-color: #36a3d9; - --code-highlight-macro-color: #a37acc; - --code-highlight-question-mark-color: #ff9011; - --code-highlight-comment-color: #788797; - --code-highlight-doc-comment-color: #a1ac88; - --example-line-numbers-border-color: none; - --src-line-numbers-span-color: #5c6773; - --src-line-number-highlighted-background-color: rgba(255, 236, 164, 0.06); - --test-arrow-color: #788797; - --test-arrow-background-color: rgba(57, 175, 215, 0.09); - --test-arrow-hover-color: #c5c5c5; - --test-arrow-hover-background-color: rgba(57, 175, 215, 0.368); - --target-background-color: rgba(255, 236, 164, 0.06); - --target-border-color: rgba(255, 180, 76, 0.85); - --rust-logo-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); - /* match border-color; uses https://codepen.io/sosuke/pen/Pjoqqp */ - --crate-search-div-filter: invert(41%) sepia(12%) saturate(487%) hue-rotate(171deg) - brightness(94%) contrast(94%); - --crate-search-div-hover-filter: invert(98%) sepia(12%) saturate(81%) hue-rotate(343deg) - brightness(113%) contrast(76%); - --crate-search-hover-border: #e0e0e0; -} - -.slider { - background-color: #ccc; -} -.slider:before { - background-color: white; -} -input:focus + .slider { - box-shadow: 0 0 0 2px #0a84ff, 0 0 0 6px rgba(10, 132, 255, 0.3); -} - -h1, h2, h3, h4 { - color: white; -} -h1 a { - color: #fff; -} -h4 { - border: none; -} - -.docblock code { - color: #ffb454; -} -.code-header { - color: #e6e1cf; -} -.docblock pre > code, pre > code { - color: #e6e1cf; -} -.item-info code { - color: #e6e1cf; -} -.docblock a > code { - color: #39AFD7 !important; -} -pre, .rustdoc.source .example-wrap { - color: #e6e1cf; -} - -.sidebar .current, -.sidebar a:hover { - color: #ffb44c; -} - -.sidebar-elems .location { - color: #ff7733; -} - -.src-line-numbers .line-highlighted { - color: #708090; - padding-right: 4px; - border-right: 1px solid #ffb44c; -} - -.search-results a:hover { - color: #fff !important; - background-color: #3c3c3c; -} - -.search-results a:focus { - color: #fff !important; - background-color: #3c3c3c; -} -.search-results a { - color: #0096cf; -} -.search-results a div.desc { - color: #c5c5c5; -} - -.content .item-info::before { color: #ccc; } - -.sidebar h2 a, -.sidebar h3 a { - color: white; -} -body.source .example-wrap pre.rust a { - background: #333; -} - -details.rustdoc-toggle > summary::before { - filter: invert(100%); -} - -.module-item .stab, -.import-item .stab { - color: #000; -} - -.result-name .primitive > i, .result-name .keyword > i { - color: #788797; -} - -.search-failed a { - color: #39AFD7; -} - -.tooltip::after { - background-color: #314559; - color: #c5c5c5; -} - -.tooltip::before { - border-color: transparent #314559 transparent transparent; -} - -.notable-traits-tooltiptext { - background-color: #314559; -} - -#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; -} - -/* rules that this theme does not need to set, here to satisfy the rule checker */ -/* note that a lot of these are partially set in some way (meaning they are set -individually rather than as a group) */ -/* FIXME: these rules should be at the bottom of the file but currently must be -above the `@media (max-width: 700px)` rules due to a bug in the css checker */ -/* see https://github.com/rust-lang/rust/pull/71237#issuecomment-618170143 */ -pre.rust .lifetime {} -pre.rust .kw {} -#titles > button:hover, #titles > button.selected {} -pre.rust .self, pre.rust .bool-val, pre.rust .prelude-val, pre.rust .attribute {} -pre.rust .kw-2, pre.rust .prelude-ty {} - -kbd { - color: #c5c5c5; - background-color: #314559; - box-shadow: inset 0 -1px 0 #5c6773; -} - -#settings-menu > a, #help-button > a { - color: #fff; -} - -#settings-menu > a img { - filter: invert(100); -} - -#settings-menu > a:hover, #settings-menu > a:focus, -#help-button > a:hover, #help-button > a:focus { - border-color: #e0e0e0; -} - -.search-results .result-name span.alias { - color: #c5c5c5; -} -.search-results .result-name span.grey { - color: #999; -} - -#source-sidebar > .title { - color: #fff; -} -#source-sidebar div.files > a:hover, details.dir-entry summary:hover, -#source-sidebar div.files > a:focus, details.dir-entry summary:focus { - background-color: #14191f; - color: #ffb44c; -} -#source-sidebar div.files > a.selected { - background-color: #14191f; - color: #ffb44c; -} - -.scraped-example-list .scrape-help { - border-color: #aaa; - color: #eee; -} -.scraped-example-list .scrape-help:hover { - border-color: white; - color: white; -} -.scraped-example .example-wrap .rust span.highlight { - background: rgb(91, 59, 1); -} -.scraped-example .example-wrap .rust span.highlight.focus { - background: rgb(124, 75, 15); -} -.scraped-example:not(.expanded) .code-wrapper:before { - background: linear-gradient(to bottom, rgba(15, 20, 25, 1), rgba(15, 20, 25, 0)); -} -.scraped-example:not(.expanded) .code-wrapper:after { - background: linear-gradient(to top, rgba(15, 20, 25, 1), rgba(15, 20, 25, 0)); -} -.toggle-line-inner { - background: #999; -} -.toggle-line:hover .toggle-line-inner { - background: #c5c5c5; -} diff --git a/static.files/dark-091ecdca18d5df85.css b/static.files/dark-091ecdca18d5df85.css new file mode 100644 index 000000000..8292d60b9 --- /dev/null +++ b/static.files/dark-091ecdca18d5df85.css @@ -0,0 +1 @@ +:root{--main-background-color:#353535;--main-color:#ddd;--settings-input-color:#2196f3;--settings-button-color:#000;--settings-button-border-focus:#ffb900;--sidebar-background-color:#505050;--sidebar-background-color-hover:#676767;--code-block-background-color:#2A2A2A;--scrollbar-track-background-color:#717171;--scrollbar-thumb-background-color:rgba(32,34,37,.6);--scrollbar-color:rgba(32,34,37,.6) #5a5a5a;--headings-border-bottom-color:#d2d2d2;--border-color:#e0e0e0;--button-background-color:#f0f0f0;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--search-input-focused-border-color:#008dfd;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(65%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--type-link-color:#2dbfb8;--trait-link-color:#b78cf2;--assoc-item-link-color:#d2991d;--function-link-color:#2bab63;--macro-link-color:#09bd00;--keyword-link-color:#d2991d;--mod-link-color:#d2991d;--link-color:#d2991d;--sidebar-link-color:#fdbf35;--sidebar-current-link-background-color:#444;--search-result-link-focus-background-color:#616161;--search-result-border-color:#aaa3;--search-color:#111;--search-results-alias-color:#fff;--search-results-grey-color:#ccc;--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ab8ac1;--code-highlight-kw-2-color:#769acb;--code-highlight-lifetime-color:#d97f26;--code-highlight-prelude-color:#769acb;--code-highlight-prelude-val-color:#ee6868;--code-highlight-number-color:#83a300;--code-highlight-string-color:#83a300;--code-highlight-literal-color:#ee6868;--code-highlight-attribute-color:#ee6868;--code-highlight-self-color:#ee6868;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8d8d8b;--code-highlight-doc-comment-color:#8ca375;--example-line-numbers-border-color:#4a4949;--src-line-numbers-span-color:#3b91e2;--src-line-number-highlighted-background-color:#0a042f;--test-arrow-color:#dedede;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#dedede;--test-arrow-hover-background-color:#4e8bca;--target-background-color:#494a3d;--target-border-color:#bb7410;--tooltip-background-color:#000;--tooltip-color:#fff;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-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);--crate-search-div-filter:invert(94%) sepia(0%) saturate(721%) hue-rotate(255deg) brightness(90%) contrast(90%);--crate-search-div-hover-filter:invert(69%) sepia(60%) saturate(6613%) hue-rotate(184deg) brightness(100%) contrast(91%);--crate-search-hover-border:#2196f3;--source-sidebar-background-selected:#333;--source-sidebar-background-hover:#444;}.content .item-info::before{color:#ccc;}body.source .example-wrap pre.rust a{background:#333;}details.rustdoc-toggle>summary::before{filter:invert(100%);}#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;}.scraped-example-list .scrape-help{border-color:#aaa;color:#eee;}.scraped-example-list .scrape-help:hover{border-color:white;color:white;}.scraped-example .example-wrap .rust span.highlight{background:rgb(91,59,1);}.scraped-example .example-wrap .rust span.highlight.focus{background:rgb(124,75,15);}.scraped-example:not(.expanded) .code-wrapper:before{background:linear-gradient(to bottom,rgba(53,53,53,1),rgba(53,53,53,0));}.scraped-example:not(.expanded) .code-wrapper:after{background:linear-gradient(to top,rgba(53,53,53,1),rgba(53,53,53,0));}.toggle-line-inner{background:#999;}.toggle-line:hover .toggle-line-inner{background:#c5c5c5;} \ No newline at end of file diff --git a/static.files/dark-e2f4109f2e82e3af.css b/static.files/dark-e2f4109f2e82e3af.css deleted file mode 100644 index 43f8dd42a..000000000 --- a/static.files/dark-e2f4109f2e82e3af.css +++ /dev/null @@ -1,182 +0,0 @@ -:root { - --main-background-color: #353535; - --main-color: #ddd; - --settings-input-color: #2196f3; - --sidebar-background-color: #505050; - --sidebar-background-color-hover: #676767; - --code-block-background-color: #2A2A2A; - --scrollbar-track-background-color: #717171; - --scrollbar-thumb-background-color: rgba(32, 34, 37, .6); - --scrollbar-color: rgba(32,34,37,.6) #5a5a5a; - --headings-border-bottom-color: #d2d2d2; - --border-color: #e0e0e0; - --button-background-color: #f0f0f0; - --right-side-color: grey; - --code-attribute-color: #999; - --toggles-color: #999; - --search-input-focused-border-color: #008dfd; - --copy-path-button-color: #999; - --copy-path-img-filter: invert(50%); - --copy-path-img-hover-filter: invert(65%); - --codeblock-error-hover-color: rgb(255, 0, 0); - --codeblock-error-color: rgba(255, 0, 0, .5); - --codeblock-ignore-hover-color: rgb(255, 142, 0); - --codeblock-ignore-color: rgba(255, 142, 0, .6); - --type-link-color: #2dbfb8; - --trait-link-color: #b78cf2; - --assoc-item-link-color: #d2991d; - --function-link-color: #2bab63; - --macro-link-color: #09bd00; - --keyword-link-color: #d2991d; - --mod-link-color: #d2991d; - --link-color: #d2991d; - --sidebar-link-color: #fdbf35; - --sidebar-current-link-background-color: #444; - --search-result-link-focus-background-color: #616161; - --search-result-border-color: #aaa3; - --stab-background-color: #314559; - --stab-code-color: #e6e1cf; - --search-color: #111; - --code-highlight-kw-color: #ab8ac1; - --code-highlight-kw-2-color: #769acb; - --code-highlight-lifetime-color: #d97f26; - --code-highlight-prelude-color: #769acb; - --code-highlight-prelude-val-color: #ee6868; - --code-highlight-number-color: #83a300; - --code-highlight-string-color: #83a300; - --code-highlight-literal-color: #ee6868; - --code-highlight-attribute-color: #ee6868; - --code-highlight-self-color: #ee6868; - --code-highlight-macro-color: #3e999f; - --code-highlight-question-mark-color: #ff9011; - --code-highlight-comment-color: #8d8d8b; - --code-highlight-doc-comment-color: #8ca375; - --example-line-numbers-border-color: #4a4949; - --src-line-numbers-span-color: #3b91e2; - --src-line-number-highlighted-background-color: #0a042f; - --test-arrow-color: #dedede; - --test-arrow-background-color: rgba(78, 139, 202, 0.2); - --test-arrow-hover-color: #dedede; - --test-arrow-hover-background-color: #4e8bca; - --target-background-color: #494a3d; - --target-border-color: #bb7410; - --rust-logo-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); - /* match border-color; uses https://codepen.io/sosuke/pen/Pjoqqp */ - --crate-search-div-filter: invert(94%) sepia(0%) saturate(721%) hue-rotate(255deg) - brightness(90%) contrast(90%); - --crate-search-div-hover-filter: invert(69%) sepia(60%) saturate(6613%) hue-rotate(184deg) - brightness(100%) contrast(91%); - --crate-search-hover-border: #2196f3; -} - -.slider { - background-color: #ccc; -} -.slider:before { - background-color: white; -} -input:focus + .slider { - box-shadow: 0 0 0 2px #0a84ff, 0 0 0 6px rgba(10, 132, 255, 0.3); -} - -.content .item-info::before { color: #ccc; } - -body.source .example-wrap pre.rust a { - background: #333; -} - -details.rustdoc-toggle > summary::before { - filter: invert(100%); -} - -.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; -} - -#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; -} - -kbd { - color: #000; - background-color: #fafbfc; - box-shadow: inset 0 -1px 0 #c6cbd1; -} - -#settings-menu > a, #help-button > a { - color: #000; -} - -#settings-menu > a:hover, #settings-menu > a:focus, -#help-button > a:hover, #help-button > a:focus { - border-color: #ffb900; -} - -.search-results .result-name span.alias { - color: #fff; -} -.search-results .result-name span.grey { - color: #ccc; -} - -#source-sidebar div.files > a:hover, details.dir-entry summary:hover, -#source-sidebar div.files > a:focus, details.dir-entry summary:focus { - background-color: #444; -} -#source-sidebar div.files > a.selected { - background-color: #333; -} - -.scraped-example-list .scrape-help { - border-color: #aaa; - color: #eee; -} -.scraped-example-list .scrape-help:hover { - border-color: white; - color: white; -} -.scraped-example .example-wrap .rust span.highlight { - background: rgb(91, 59, 1); -} -.scraped-example .example-wrap .rust span.highlight.focus { - background: rgb(124, 75, 15); -} -.scraped-example:not(.expanded) .code-wrapper:before { - background: linear-gradient(to bottom, rgba(53, 53, 53, 1), rgba(53, 53, 53, 0)); -} -.scraped-example:not(.expanded) .code-wrapper:after { - background: linear-gradient(to top, rgba(53, 53, 53, 1), rgba(53, 53, 53, 0)); -} -.toggle-line-inner { - background: #999; -} -.toggle-line:hover .toggle-line-inner { - background: #c5c5c5; -} diff --git a/static.files/light-3bcdcab5f4113412.css b/static.files/light-3bcdcab5f4113412.css new file mode 100644 index 000000000..af5172a07 --- /dev/null +++ b/static.files/light-3bcdcab5f4113412.css @@ -0,0 +1 @@ +:root{--main-background-color:white;--main-color:black;--settings-input-color:#2196f3;--settings-button-color:#000;--settings-button-border-focus:#717171;--sidebar-background-color:#F5F5F5;--sidebar-background-color-hover:#E0E0E0;--code-block-background-color:#F5F5F5;--scrollbar-track-background-color:#dcdcdc;--scrollbar-thumb-background-color:rgba(36,37,39,0.6);--scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;--headings-border-bottom-color:#ddd;--border-color:#e0e0e0;--button-background-color:#fff;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--search-input-focused-border-color:#66afe9;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(35%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--type-link-color:#ad378a;--trait-link-color:#6e4fc9;--assoc-item-link-color:#3873ad;--function-link-color:#ad7c37;--macro-link-color:#068000;--keyword-link-color:#3873ad;--mod-link-color:#3873ad;--link-color:#3873ad;--sidebar-link-color:#356da4;--sidebar-current-link-background-color:#fff;--search-result-link-focus-background-color:#ccc;--search-result-border-color:#aaa3;--search-color:#000;--search-results-alias-color:#000;--search-results-grey-color:#999;--stab-background-color:#fff5d6;--stab-code-color:#000;--code-highlight-kw-color:#8959a8;--code-highlight-kw-2-color:#4271ae;--code-highlight-lifetime-color:#b76514;--code-highlight-prelude-color:#4271ae;--code-highlight-prelude-val-color:#c82829;--code-highlight-number-color:#718c00;--code-highlight-string-color:#718c00;--code-highlight-literal-color:#c82829;--code-highlight-attribute-color:#c82829;--code-highlight-self-color:#c82829;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8e908c;--code-highlight-doc-comment-color:#4d4d4c;--example-line-numbers-border-color:#c7c7c7;--src-line-numbers-span-color:#c67e2d;--src-line-number-highlighted-background-color:#fdffd3;--test-arrow-color:#f5f5f5;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#f5f5f5;--test-arrow-hover-background-color:#4e8bca;--target-background-color:#fdffd3;--target-border-color:#ad7c37;--tooltip-background-color:#000;--tooltip-color:#fff;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:initial;--crate-search-div-filter:invert(100%) sepia(0%) saturate(4223%) hue-rotate(289deg) brightness(114%) contrast(76%);--crate-search-div-hover-filter:invert(44%) sepia(18%) saturate(23%) hue-rotate(317deg) brightness(96%) contrast(93%);--crate-search-hover-border:#717171;--source-sidebar-background-selected:#fff;--source-sidebar-background-hover:#e0e0e0;}.content .item-info::before{color:#ccc;}body.source .example-wrap pre.rust a{background:#eee;}#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;}.scraped-example-list .scrape-help{border-color:#555;color:#333;}.scraped-example-list .scrape-help:hover{border-color:black;color:black;}.scraped-example .example-wrap .rust span.highlight{background:#fcffd6;}.scraped-example .example-wrap .rust span.highlight.focus{background:#f6fdb0;}.scraped-example:not(.expanded) .code-wrapper:before{background:linear-gradient(to bottom,rgba(255,255,255,1),rgba(255,255,255,0));}.scraped-example:not(.expanded) .code-wrapper:after{background:linear-gradient(to top,rgba(255,255,255,1),rgba(255,255,255,0));}.toggle-line-inner{background:#ccc;}.toggle-line:hover .toggle-line-inner{background:#999;} \ No newline at end of file diff --git a/static.files/light-777f3e9583f8c92d.css b/static.files/light-777f3e9583f8c92d.css deleted file mode 100644 index c8c5289ab..000000000 --- a/static.files/light-777f3e9583f8c92d.css +++ /dev/null @@ -1,173 +0,0 @@ -:root { - --main-background-color: white; - --main-color: black; - --settings-input-color: #2196f3; - --sidebar-background-color: #F5F5F5; - --sidebar-background-color-hover: #E0E0E0; - --code-block-background-color: #F5F5F5; - --scrollbar-track-background-color: #dcdcdc; - --scrollbar-thumb-background-color: rgba(36, 37, 39, 0.6); - --scrollbar-color: rgba(36, 37, 39, 0.6) #d9d9d9; - --headings-border-bottom-color: #ddd; - --border-color: #e0e0e0; - --button-background-color: #fff; - --right-side-color: grey; - --code-attribute-color: #999; - --toggles-color: #999; - --search-input-focused-border-color: #66afe9; - --copy-path-button-color: #999; - --copy-path-img-filter: invert(50%); - --copy-path-img-hover-filter: invert(35%); - --codeblock-error-hover-color: rgb(255, 0, 0); - --codeblock-error-color: rgba(255, 0, 0, .5); - --codeblock-ignore-hover-color: rgb(255, 142, 0); - --codeblock-ignore-color: rgba(255, 142, 0, .6); - --type-link-color: #ad378a; - --trait-link-color: #6e4fc9; - --assoc-item-link-color: #3873ad; - --function-link-color: #ad7c37; - --macro-link-color: #068000; - --keyword-link-color: #3873ad; - --mod-link-color: #3873ad; - --link-color: #3873ad; - --sidebar-link-color: #356da4; - --sidebar-current-link-background-color: #fff; - --search-result-link-focus-background-color: #ccc; - --search-result-border-color: #aaa3; - --stab-background-color: #fff5d6; - --stab-code-color: #000; - --search-color: #000; - --code-highlight-kw-color: #8959a8; - --code-highlight-kw-2-color: #4271ae; - --code-highlight-lifetime-color: #b76514; - --code-highlight-prelude-color: #4271ae; - --code-highlight-prelude-val-color: #c82829; - --code-highlight-number-color: #718c00; - --code-highlight-string-color: #718c00; - --code-highlight-literal-color: #c82829; - --code-highlight-attribute-color: #c82829; - --code-highlight-self-color: #c82829; - --code-highlight-macro-color: #3e999f; - --code-highlight-question-mark-color: #ff9011; - --code-highlight-comment-color: #8e908c; - --code-highlight-doc-comment-color: #4d4d4c; - --example-line-numbers-border-color: #c7c7c7; - --src-line-numbers-span-color: #c67e2d; - --src-line-number-highlighted-background-color: #fdffd3; - --test-arrow-color: #f5f5f5; - --test-arrow-background-color: rgba(78, 139, 202, 0.2); - --test-arrow-hover-color: #f5f5f5; - --test-arrow-hover-background-color: #4e8bca; - --target-background-color: #fdFfd3; - --target-border-color: #ad7c37; - --rust-logo-filter: initial; - /* match border-color; uses https://codepen.io/sosuke/pen/Pjoqqp */ - --crate-search-div-filter: invert(100%) sepia(0%) saturate(4223%) hue-rotate(289deg) - brightness(114%) contrast(76%); - --crate-search-div-hover-filter: invert(44%) sepia(18%) saturate(23%) hue-rotate(317deg) - brightness(96%) contrast(93%); - --crate-search-hover-border: #717171; -} - -.slider { - background-color: #ccc; -} -.slider:before { - background-color: white; -} -input:focus + .slider { - box-shadow: 0 0 0 2px #0a84ff, 0 0 0 6px rgba(10, 132, 255, 0.3); -} - -.content .item-info::before { color: #ccc; } - -body.source .example-wrap pre.rust a { - background: #eee; -} - -.search-failed a { - color: #3873AD; -} - -.tooltip::after { - background-color: #000; - color: #fff; -} - -.tooltip::before { - border-color: transparent black transparent transparent; -} - -.notable-traits-tooltiptext { - background-color: #eee; -} - -#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; -} - -kbd { - color: #000; - background-color: #fafbfc; - box-shadow: inset 0 -1px 0 #c6cbd1; -} - -#settings-menu > a, #help-button > a { - color: #000; -} - -#settings-menu > a:hover, #settings-menu > a:focus, -#help-button > a:hover, #help-button > a:focus { - border-color: #717171; -} - -.search-results .result-name span.alias { - color: #000; -} -.search-results .result-name span.grey { - color: #999; -} - -#source-sidebar div.files > a:hover, details.dir-entry summary:hover, -#source-sidebar div.files > a:focus, details.dir-entry summary:focus { - background-color: #E0E0E0; -} -#source-sidebar div.files > a.selected { - background-color: #fff; -} -.scraped-example-list .scrape-help { - border-color: #555; - color: #333; -} -.scraped-example-list .scrape-help:hover { - border-color: black; - color: black; -} -.scraped-example .example-wrap .rust span.highlight { - background: #fcffd6; -} -.scraped-example .example-wrap .rust span.highlight.focus { - background: #f6fdb0; -} -.scraped-example:not(.expanded) .code-wrapper:before { - background: linear-gradient(to bottom, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0)); -} -.scraped-example:not(.expanded) .code-wrapper:after { - background: linear-gradient(to top, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0)); -} -.toggle-line-inner { - background: #ccc; -} -.toggle-line:hover .toggle-line-inner { - background: #999; -} diff --git a/static.files/main-287cecec4dbb45b0.js b/static.files/main-287cecec4dbb45b0.js new file mode 100644 index 000000000..83b1082c1 --- /dev/null +++ b/static.files/main-287cecec4dbb45b0.js @@ -0,0 +1,8 @@ +"use strict";function getVar(name){const el=document.getElementById("rustdoc-vars");if(el){return el.attributes["data-"+name].value}else{return null}}function resourcePath(basename,extension){return getVar("root-path")+basename+getVar("resource-suffix")+extension}function hideMain(){addClass(document.getElementById(MAIN_ID),"hidden")}function showMain(){removeClass(document.getElementById(MAIN_ID),"hidden")}function elemIsInParent(elem,parent){while(elem&&elem!==document.body){if(elem===parent){return true}elem=elem.parentElement}return false}function blurHandler(event,parentElem,hideCallback){if(!elemIsInParent(document.activeElement,parentElem)&&!elemIsInParent(event.relatedTarget,parentElem)){hideCallback()}}window.rootPath=getVar("root-path");window.currentCrate=getVar("current-crate");function setMobileTopbar(){const mobileLocationTitle=document.querySelector(".mobile-topbar h2");const locationTitle=document.querySelector(".sidebar h2.location");if(mobileLocationTitle&&locationTitle){mobileLocationTitle.innerHTML=locationTitle.innerHTML}}function getVirtualKey(ev){if("key"in ev&&typeof ev.key!=="undefined"){return ev.key}const c=ev.charCode||ev.keyCode;if(c===27){return"Escape"}return String.fromCharCode(c)}const MAIN_ID="main-content";const SETTINGS_BUTTON_ID="settings-menu";const ALTERNATIVE_DISPLAY_ID="alternative-display";const NOT_DISPLAYED_ID="not-displayed";const HELP_BUTTON_ID="help-button";function getSettingsButton(){return document.getElementById(SETTINGS_BUTTON_ID)}function getHelpButton(){return document.getElementById(HELP_BUTTON_ID)}function getNakedUrl(){return window.location.href.split("?")[0].split("#")[0]}function insertAfter(newNode,referenceNode){referenceNode.parentNode.insertBefore(newNode,referenceNode.nextSibling)}function getOrCreateSection(id,classes){let el=document.getElementById(id);if(!el){el=document.createElement("section");el.id=id;el.className=classes;insertAfter(el,document.getElementById(MAIN_ID))}return el}function getAlternativeDisplayElem(){return getOrCreateSection(ALTERNATIVE_DISPLAY_ID,"content hidden")}function getNotDisplayedElem(){return getOrCreateSection(NOT_DISPLAYED_ID,"hidden")}function switchDisplayedElement(elemToDisplay){const el=getAlternativeDisplayElem();if(el.children.length>0){getNotDisplayedElem().appendChild(el.firstElementChild)}if(elemToDisplay===null){addClass(el,"hidden");showMain();return}el.appendChild(elemToDisplay);hideMain();removeClass(el,"hidden")}function browserSupportsHistoryApi(){return window.history&&typeof window.history.pushState==="function"}function loadCss(cssUrl){const link=document.createElement("link");link.href=cssUrl;link.type="text/css";link.rel="stylesheet";document.getElementsByTagName("head")[0].appendChild(link)}(function(){const isHelpPage=window.location.pathname.endsWith("/help.html");function loadScript(url){const script=document.createElement("script");script.src=url;document.head.append(script)}getSettingsButton().onclick=event=>{if(event.ctrlKey||event.altKey||event.metaKey){return}window.hideAllModals(false);addClass(getSettingsButton(),"rotate");event.preventDefault();loadCss(getVar("static-root-path")+getVar("settings-css"));loadScript(getVar("static-root-path")+getVar("settings-js"))};window.searchState={loadingText:"Loading search results...",input:document.getElementsByClassName("search-input")[0],outputElement:()=>{let el=document.getElementById("search");if(!el){el=document.createElement("section");el.id="search";getNotDisplayedElem().appendChild(el)}return el},title:document.title,titleBeforeSearch:document.title,timeout:null,currentTab:0,focusedByTab:[null,null,null],clearInputTimeout:()=>{if(searchState.timeout!==null){clearTimeout(searchState.timeout);searchState.timeout=null}},isDisplayed:()=>searchState.outputElement().parentElement.id===ALTERNATIVE_DISPLAY_ID,focus:()=>{searchState.input.focus()},defocus:()=>{searchState.input.blur()},showResults:search=>{if(search===null||typeof search==="undefined"){search=searchState.outputElement()}switchDisplayedElement(search);searchState.mouseMovedAfterSearch=false;document.title=searchState.title},hideResults:()=>{switchDisplayedElement(null);document.title=searchState.titleBeforeSearch;if(browserSupportsHistoryApi()){history.replaceState(null,window.currentCrate+" - Rust",getNakedUrl()+window.location.hash)}},getQueryStringParams:()=>{const params={};window.location.search.substring(1).split("&").map(s=>{const pair=s.split("=");params[decodeURIComponent(pair[0])]=typeof pair[1]==="undefined"?null:decodeURIComponent(pair[1])});return params},setup:()=>{const search_input=searchState.input;if(!searchState.input){return}let searchLoaded=false;function loadSearch(){if(!searchLoaded){searchLoaded=true;loadScript(getVar("static-root-path")+getVar("search-js"));loadScript(resourcePath("search-index",".js"))}}search_input.addEventListener("focus",()=>{search_input.origPlaceholder=search_input.placeholder;search_input.placeholder="Type your search here.";loadSearch()});if(search_input.value!==""){loadSearch()}const params=searchState.getQueryStringParams();if(params.search!==undefined){searchState.setLoadingSearch();loadSearch()}},setLoadingSearch:()=>{const search=searchState.outputElement();search.innerHTML="

    "+searchState.loadingText+"

    ";searchState.showResults(search)},};function getPageId(){if(window.location.hash){const tmp=window.location.hash.replace(/^#/,"");if(tmp.length>0){return tmp}}return null}const toggleAllDocsId="toggle-all-docs";let savedHash="";function handleHashes(ev){if(ev!==null&&searchState.isDisplayed()&&ev.newURL){switchDisplayedElement(null);const hash=ev.newURL.slice(ev.newURL.indexOf("#")+1);if(browserSupportsHistoryApi()){history.replaceState(null,"",getNakedUrl()+window.location.search+"#"+hash)}const elem=document.getElementById(hash);if(elem){elem.scrollIntoView()}}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 handleEscape(ev){searchState.clearInputTimeout();switchDisplayedElement(null);if(browserSupportsHistoryApi()){history.replaceState(null,window.currentCrate+" - Rust",getNakedUrl()+window.location.hash)}ev.preventDefault();searchState.defocus();window.hideAllModals(true)}function handleShortcut(ev){const disableShortcuts=getSettingValue("disable-shortcuts")==="true";if(ev.ctrlKey||ev.altKey||ev.metaKey||disableShortcuts){return}if(document.activeElement.tagName==="INPUT"&&document.activeElement.type!=="checkbox"){switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break}}else{switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break;case"s":case"S":ev.preventDefault();searchState.focus();break;case"+":ev.preventDefault();expandAllDocs();break;case"-":ev.preventDefault();collapseAllDocs();break;case"?":showHelp();break;default:break}}}document.addEventListener("keypress",handleShortcut);document.addEventListener("keydown",handleShortcut);function addSidebarItems(){if(!window.SIDEBAR_ITEMS){return}const sidebar=document.getElementsByClassName("sidebar-elems")[0];function block(shortty,id,longty){const filtered=window.SIDEBAR_ITEMS[shortty];if(!filtered){return}const h3=document.createElement("h3");h3.innerHTML=`${longty}`;const ul=document.createElement("ul");ul.className="block "+shortty;for(const item of filtered){const name=item[0];const desc=item[1];let path;if(shortty==="mod"){path=name+"/index.html"}else{path=shortty+"."+name+".html"}const current_page=document.location.href.split("/").pop();const link=document.createElement("a");link.href=path;link.title=desc;if(path===current_page){link.className="current"}link.textContent=name;const li=document.createElement("li");li.appendChild(link);ul.appendChild(li)}sidebar.appendChild(h3);sidebar.appendChild(ul)}if(sidebar){block("primitive","primitives","Primitive Types");block("mod","modules","Modules");block("macro","macros","Macros");block("struct","structs","Structs");block("enum","enums","Enums");block("union","unions","Unions");block("constant","constants","Constants");block("static","static","Statics");block("trait","traits","Traits");block("fn","functions","Functions");block("type","types","Type Definitions");block("foreigntype","foreign-types","Foreign Types");block("keyword","keywords","Keywords");block("traitalias","trait-aliases","Trait Aliases")}}window.register_implementors=imp=>{const implementors=document.getElementById("implementors-list");const synthetic_implementors=document.getElementById("synthetic-implementors-list");const inlined_types=new Set();const TEXT_IDX=0;const SYNTHETIC_IDX=1;const TYPES_IDX=2;if(synthetic_implementors){onEachLazy(synthetic_implementors.getElementsByClassName("impl"),el=>{const aliases=el.getAttribute("data-aliases");if(!aliases){return}aliases.split(",").forEach(alias=>{inlined_types.add(alias)})})}let currentNbImpls=implementors.getElementsByClassName("impl").length;const traitName=document.querySelector("h1.fqn > .trait").textContent;const baseIdName="impl-"+traitName+"-";const libs=Object.getOwnPropertyNames(imp);const script=document.querySelector("script[data-ignore-extern-crates]");const ignoreExternCrates=script?script.getAttribute("data-ignore-extern-crates"):"";for(const lib of libs){if(lib===window.currentCrate||ignoreExternCrates.indexOf(lib)!==-1){continue}const structs=imp[lib];struct_loop:for(const struct of structs){const list=struct[SYNTHETIC_IDX]?synthetic_implementors:implementors;if(struct[SYNTHETIC_IDX]){for(const struct_type of struct[TYPES_IDX]){if(inlined_types.has(struct_type)){continue struct_loop}inlined_types.add(struct_type)}}const code=document.createElement("h3");code.innerHTML=struct[TEXT_IDX];addClass(code,"code-header");onEachLazy(code.getElementsByTagName("a"),elem=>{const href=elem.getAttribute("href");if(href&&href.indexOf("http")!==0){elem.setAttribute("href",window.rootPath+href)}});const currentId=baseIdName+currentNbImpls;const anchor=document.createElement("a");anchor.href="#"+currentId;addClass(anchor,"anchor");const display=document.createElement("div");display.id=currentId;addClass(display,"impl");display.appendChild(anchor);display.appendChild(code);list.appendChild(display);currentNbImpls+=1}}};if(window.pending_implementors){window.register_implementors(window.pending_implementors)}function addSidebarCrates(){if(!window.ALL_CRATES){return}const sidebarElems=document.getElementsByClassName("sidebar-elems")[0];if(!sidebarElems){return}const h3=document.createElement("h3");h3.innerHTML="Crates";const ul=document.createElement("ul");ul.className="block crate";for(const crate of window.ALL_CRATES){const link=document.createElement("a");link.href=window.rootPath+crate+"/index.html";if(window.rootPath!=="./"&&crate===window.currentCrate){link.className="current"}link.textContent=crate;const li=document.createElement("li");li.appendChild(link);ul.appendChild(li)}sidebarElems.appendChild(h3);sidebarElems.appendChild(ul)}function expandAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);removeClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("rustdoc-toggle"),e=>{if(!hasClass(e,"type-contents-toggle")){e.open=true}});innerToggle.title="collapse all docs";innerToggle.children[0].innerText="\u2212"}function collapseAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);addClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("rustdoc-toggle"),e=>{if(e.parentNode.id!=="implementations-list"||(!hasClass(e,"implementors-toggle")&&!hasClass(e,"type-contents-toggle"))){e.open=false}});innerToggle.title="expand all docs";innerToggle.children[0].innerText="+"}function toggleAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);if(!innerToggle){return}if(hasClass(innerToggle,"will-expand")){expandAllDocs()}else{collapseAllDocs()}}(function(){const toggles=document.getElementById(toggleAllDocsId);if(toggles){toggles.onclick=toggleAllDocs}const hideMethodDocs=getSettingValue("auto-hide-method-docs")==="true";const hideImplementations=getSettingValue("auto-hide-trait-implementations")==="true";const hideLargeItemContents=getSettingValue("auto-hide-large-items")!=="false";function setImplementorsTogglesOpen(id,open){const list=document.getElementById(id);if(list!==null){onEachLazy(list.getElementsByClassName("implementors-toggle"),e=>{e.open=open})}}if(hideImplementations){setImplementorsTogglesOpen("trait-implementations-list",false);setImplementorsTogglesOpen("blanket-implementations-list",false)}onEachLazy(document.getElementsByClassName("rustdoc-toggle"),e=>{if(!hideLargeItemContents&&hasClass(e,"type-contents-toggle")){e.open=true}if(hideMethodDocs&&hasClass(e,"method-toggle")){e.open=false}});const pageId=getPageId();if(pageId!==null){expandSection(pageId)}}());window.rustdoc_add_line_numbers_to_examples=()=>{onEachLazy(document.getElementsByClassName("rust-example-rendered"),x=>{const parent=x.parentNode;const line_numbers=parent.querySelectorAll(".example-line-numbers");if(line_numbers.length>0){return}const count=x.textContent.split("\n").length;const elems=[];for(let i=0;i{onEachLazy(document.getElementsByClassName("rust-example-rendered"),x=>{const parent=x.parentNode;const line_numbers=parent.querySelectorAll(".example-line-numbers");for(const node of line_numbers){parent.removeChild(node)}})};if(getSettingValue("line-numbers")==="true"){window.rustdoc_add_line_numbers_to_examples()}let oldSidebarScrollPosition=null;window.rustdocMobileScrollLock=function(){const mobile_topbar=document.querySelector(".mobile-topbar");if(window.innerWidth<=window.RUSTDOC_MOBILE_BREAKPOINT){oldSidebarScrollPosition=window.scrollY;document.body.style.width=`${document.body.offsetWidth}px`;document.body.style.position="fixed";document.body.style.top=`-${oldSidebarScrollPosition}px`;if(mobile_topbar){mobile_topbar.style.top=`${oldSidebarScrollPosition}px`;mobile_topbar.style.position="relative"}}else{oldSidebarScrollPosition=null}};window.rustdocMobileScrollUnlock=function(){const mobile_topbar=document.querySelector(".mobile-topbar");if(oldSidebarScrollPosition!==null){document.body.style.width="";document.body.style.position="";document.body.style.top="";if(mobile_topbar){mobile_topbar.style.top="";mobile_topbar.style.position=""}window.scrollTo(0,oldSidebarScrollPosition);oldSidebarScrollPosition=null}};function showSidebar(){window.hideAllModals(false);window.rustdocMobileScrollLock();const sidebar=document.getElementsByClassName("sidebar")[0];addClass(sidebar,"shown")}function hideSidebar(){window.rustdocMobileScrollUnlock();const sidebar=document.getElementsByClassName("sidebar")[0];removeClass(sidebar,"shown")}window.addEventListener("resize",()=>{if(window.innerWidth>window.RUSTDOC_MOBILE_BREAKPOINT&&oldSidebarScrollPosition!==null){hideSidebar()}if(window.CURRENT_NOTABLE_ELEMENT){const base=window.CURRENT_NOTABLE_ELEMENT.NOTABLE_BASE;const force_visible=base.NOTABLE_FORCE_VISIBLE;hideNotable(false);if(force_visible){showNotable(base);base.NOTABLE_FORCE_VISIBLE=true}}});function handleClick(id,f){const elem=document.getElementById(id);if(elem){elem.addEventListener("click",f)}}handleClick(MAIN_ID,()=>{hideSidebar()});onEachLazy(document.getElementsByTagName("a"),el=>{if(el.hash){el.addEventListener("click",()=>{expandSection(el.hash.slice(1));hideSidebar()})}});onEachLazy(document.querySelectorAll(".rustdoc-toggle > summary:not(.hideme)"),el=>{el.addEventListener("click",e=>{if(e.target.tagName!=="SUMMARY"&&e.target.tagName!=="A"){e.preventDefault()}})});function showNotable(e){if(!window.NOTABLE_TRAITS){const data=document.getElementById("notable-traits-data");if(data){window.NOTABLE_TRAITS=JSON.parse(data.innerText)}else{throw new Error("showNotable() called on page without any notable traits!")}}if(window.CURRENT_NOTABLE_ELEMENT&&window.CURRENT_NOTABLE_ELEMENT.NOTABLE_BASE===e){return}window.hideAllModals(false);const ty=e.getAttribute("data-ty");const wrapper=document.createElement("div");wrapper.innerHTML="
    "+window.NOTABLE_TRAITS[ty]+"
    ";wrapper.className="notable popover";const focusCatcher=document.createElement("div");focusCatcher.setAttribute("tabindex","0");focusCatcher.onfocus=hideNotable;wrapper.appendChild(focusCatcher);const pos=e.getBoundingClientRect();wrapper.style.top=(pos.top+window.scrollY+pos.height)+"px";wrapper.style.left=0;wrapper.style.right="auto";wrapper.style.visibility="hidden";const body=document.getElementsByTagName("body")[0];body.appendChild(wrapper);const wrapperPos=wrapper.getBoundingClientRect();const finalPos=pos.left+window.scrollX-wrapperPos.width+24;if(finalPos>0){wrapper.style.left=finalPos+"px"}else{wrapper.style.setProperty("--popover-arrow-offset",(wrapperPos.right-pos.right+4)+"px")}wrapper.style.visibility="";window.CURRENT_NOTABLE_ELEMENT=wrapper;window.CURRENT_NOTABLE_ELEMENT.NOTABLE_BASE=e;wrapper.onpointerleave=function(ev){if(ev.pointerType!=="mouse"){return}if(!e.NOTABLE_FORCE_VISIBLE&&!elemIsInParent(event.relatedTarget,e)){hideNotable(true)}}}function notableBlurHandler(event){if(window.CURRENT_NOTABLE_ELEMENT&&!elemIsInParent(document.activeElement,window.CURRENT_NOTABLE_ELEMENT)&&!elemIsInParent(event.relatedTarget,window.CURRENT_NOTABLE_ELEMENT)&&!elemIsInParent(document.activeElement,window.CURRENT_NOTABLE_ELEMENT.NOTABLE_BASE)&&!elemIsInParent(event.relatedTarget,window.CURRENT_NOTABLE_ELEMENT.NOTABLE_BASE)){setTimeout(()=>hideNotable(false),0)}}function hideNotable(focus){if(window.CURRENT_NOTABLE_ELEMENT){if(window.CURRENT_NOTABLE_ELEMENT.NOTABLE_BASE.NOTABLE_FORCE_VISIBLE){if(focus){window.CURRENT_NOTABLE_ELEMENT.NOTABLE_BASE.focus()}window.CURRENT_NOTABLE_ELEMENT.NOTABLE_BASE.NOTABLE_FORCE_VISIBLE=false}const body=document.getElementsByTagName("body")[0];body.removeChild(window.CURRENT_NOTABLE_ELEMENT);window.CURRENT_NOTABLE_ELEMENT=null}}onEachLazy(document.getElementsByClassName("notable-traits"),e=>{e.onclick=function(){this.NOTABLE_FORCE_VISIBLE=this.NOTABLE_FORCE_VISIBLE?false:true;if(window.CURRENT_NOTABLE_ELEMENT&&!this.NOTABLE_FORCE_VISIBLE){hideNotable(true)}else{showNotable(this);window.CURRENT_NOTABLE_ELEMENT.setAttribute("tabindex","0");window.CURRENT_NOTABLE_ELEMENT.focus();window.CURRENT_NOTABLE_ELEMENT.onblur=notableBlurHandler}return false};e.onpointerenter=function(ev){if(ev.pointerType!=="mouse"){return}showNotable(this)};e.onpointerleave=function(ev){if(ev.pointerType!=="mouse"){return}if(!this.NOTABLE_FORCE_VISIBLE&&!elemIsInParent(event.relatedTarget,window.CURRENT_NOTABLE_ELEMENT)){hideNotable(true)}}});const sidebar_menu_toggle=document.getElementsByClassName("sidebar-menu-toggle")[0];if(sidebar_menu_toggle){sidebar_menu_toggle.addEventListener("click",()=>{const sidebar=document.getElementsByClassName("sidebar")[0];if(!hasClass(sidebar,"shown")){showSidebar()}else{hideSidebar()}})}function helpBlurHandler(event){blurHandler(event,getHelpButton(),window.hidePopoverMenus)}function buildHelpMenu(){const book_info=document.createElement("span");book_info.className="top";book_info.innerHTML="You can find more information in \ + the rustdoc book.";const shortcuts=[["?","Show this help dialog"],["S","Focus the search field"],["↑","Move up in search results"],["↓","Move down in search results"],["← / →","Switch result tab (when results focused)"],["⏎","Go to active search result"],["+","Expand all sections"],["-","Collapse all sections"],].map(x=>"
    "+x[0].split(" ").map((y,index)=>((index&1)===0?""+y+"":" "+y+" ")).join("")+"
    "+x[1]+"
    ").join("");const div_shortcuts=document.createElement("div");addClass(div_shortcuts,"shortcuts");div_shortcuts.innerHTML="

    Keyboard Shortcuts

    "+shortcuts+"
    ";const infos=["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(x=>"

    "+x+"

    ").join("");const div_infos=document.createElement("div");addClass(div_infos,"infos");div_infos.innerHTML="

    Search Tricks

    "+infos;const rustdoc_version=document.createElement("span");rustdoc_version.className="bottom";const rustdoc_version_code=document.createElement("code");rustdoc_version_code.innerText="rustdoc "+getVar("rustdoc-version");rustdoc_version.appendChild(rustdoc_version_code);const container=document.createElement("div");if(!isHelpPage){container.className="popover"}container.id="help";container.style.display="none";const side_by_side=document.createElement("div");side_by_side.className="side-by-side";side_by_side.appendChild(div_shortcuts);side_by_side.appendChild(div_infos);container.appendChild(book_info);container.appendChild(side_by_side);container.appendChild(rustdoc_version);if(isHelpPage){const help_section=document.createElement("section");help_section.appendChild(container);document.getElementById("main-content").appendChild(help_section);container.style.display="block"}else{const help_button=getHelpButton();help_button.appendChild(container);container.onblur=helpBlurHandler;container.onclick=event=>{event.preventDefault()};help_button.onblur=helpBlurHandler;help_button.children[0].onblur=helpBlurHandler}return container}window.hideAllModals=function(switchFocus){hideSidebar();window.hidePopoverMenus();hideNotable(switchFocus)};window.hidePopoverMenus=function(){onEachLazy(document.querySelectorAll(".search-form .popover"),elem=>{elem.style.display="none"})};function getHelpMenu(buildNeeded){let menu=getHelpButton().querySelector(".popover");if(!menu&&buildNeeded){menu=buildHelpMenu()}return menu}function showHelp(){const menu=getHelpMenu(true);if(menu.style.display==="none"){window.hideAllModals();menu.style.display=""}}if(isHelpPage){showHelp();document.querySelector(`#${HELP_BUTTON_ID} > a`).addEventListener("click",event=>{const target=event.target;if(target.tagName!=="A"||target.parentElement.id!==HELP_BUTTON_ID||event.ctrlKey||event.altKey||event.metaKey){return}event.preventDefault()})}else{document.querySelector(`#${HELP_BUTTON_ID} > a`).addEventListener("click",event=>{const target=event.target;if(target.tagName!=="A"||target.parentElement.id!==HELP_BUTTON_ID||event.ctrlKey||event.altKey||event.metaKey){return}event.preventDefault();const menu=getHelpMenu(true);const shouldShowHelp=menu.style.display==="none";if(shouldShowHelp){showHelp()}else{window.hidePopoverMenus()}})}setMobileTopbar();addSidebarItems();addSidebarCrates();onHashChange(null);window.addEventListener("hashchange",onHashChange);searchState.setup()}());(function(){let reset_button_timeout=null;window.copy_path=but=>{const parent=but.parentElement;const path=[];onEach(parent.childNodes,child=>{if(child.tagName==="A"){path.push(child.textContent)}});const el=document.createElement("textarea");el.value=path.join("::");el.setAttribute("readonly","");el.style.position="absolute";el.style.left="-9999px";document.body.appendChild(el);el.select();document.execCommand("copy");document.body.removeChild(el);but.children[0].style.display="none";let tmp;if(but.childNodes.length<2){tmp=document.createTextNode("✓");but.appendChild(tmp)}else{onEachLazy(but.childNodes,e=>{if(e.nodeType===Node.TEXT_NODE){tmp=e;return true}});tmp.textContent="✓"}if(reset_button_timeout!==null){window.clearTimeout(reset_button_timeout)}function reset_button(){tmp.textContent="";reset_button_timeout=null;but.children[0].style.display=""}reset_button_timeout=window.setTimeout(reset_button,1000)}}()) \ No newline at end of file diff --git a/static.files/main-c2d2a5dbaed13e6b.js b/static.files/main-c2d2a5dbaed13e6b.js deleted file mode 100644 index 0426774e8..000000000 --- a/static.files/main-c2d2a5dbaed13e6b.js +++ /dev/null @@ -1,1150 +0,0 @@ -// Local js definitions: -/* global addClass, getSettingValue, hasClass, searchState */ -/* global onEach, onEachLazy, removeClass */ - -"use strict"; - -// Get a value from the rustdoc-vars div, which is used to convey data from -// Rust to the JS. If there is no such element, return null. -function getVar(name) { - const el = document.getElementById("rustdoc-vars"); - if (el) { - return el.attributes["data-" + name].value; - } else { - return null; - } -} - -// Given a basename (e.g. "storage") and an extension (e.g. ".js"), return a URL -// for a resource under the root-path, with the resource-suffix. -function resourcePath(basename, extension) { - return getVar("root-path") + basename + getVar("resource-suffix") + extension; -} - -function hideMain() { - addClass(document.getElementById(MAIN_ID), "hidden"); -} - -function showMain() { - removeClass(document.getElementById(MAIN_ID), "hidden"); -} - -function elemIsInParent(elem, parent) { - while (elem && elem !== document.body) { - if (elem === parent) { - return true; - } - elem = elem.parentElement; - } - return false; -} - -function blurHandler(event, parentElem, hideCallback) { - if (!elemIsInParent(document.activeElement, parentElem) && - !elemIsInParent(event.relatedTarget, parentElem) - ) { - hideCallback(); - } -} - -(function() { - window.rootPath = getVar("root-path"); - window.currentCrate = getVar("current-crate"); -}()); - -function setMobileTopbar() { - // FIXME: It would be nicer to generate this text content directly in HTML, - // but with the current code it's hard to get the right information in the right place. - const mobileLocationTitle = document.querySelector(".mobile-topbar h2"); - const locationTitle = document.querySelector(".sidebar h2.location"); - if (mobileLocationTitle && locationTitle) { - mobileLocationTitle.innerHTML = locationTitle.innerHTML; - } -} - -// Gets the human-readable string for the virtual-key code of the -// given KeyboardEvent, ev. -// -// This function is meant as a polyfill for KeyboardEvent#key, -// since it is not supported in IE 11 or Chrome for Android. We also test for -// KeyboardEvent#keyCode because the handleShortcut handler is -// also registered for the keydown event, because Blink doesn't fire -// keypress on hitting the Escape key. -// -// So I guess you could say things are getting pretty interoperable. -function getVirtualKey(ev) { - if ("key" in ev && typeof ev.key !== "undefined") { - return ev.key; - } - - const c = ev.charCode || ev.keyCode; - if (c === 27) { - return "Escape"; - } - return String.fromCharCode(c); -} - -const MAIN_ID = "main-content"; -const SETTINGS_BUTTON_ID = "settings-menu"; -const ALTERNATIVE_DISPLAY_ID = "alternative-display"; -const NOT_DISPLAYED_ID = "not-displayed"; -const HELP_BUTTON_ID = "help-button"; - -function getSettingsButton() { - return document.getElementById(SETTINGS_BUTTON_ID); -} - -function getHelpButton() { - return document.getElementById(HELP_BUTTON_ID); -} - -// Returns the current URL without any query parameter or hash. -function getNakedUrl() { - return window.location.href.split("?")[0].split("#")[0]; -} - -/** - * This function inserts `newNode` after `referenceNode`. It doesn't work if `referenceNode` - * doesn't have a parent node. - * - * @param {HTMLElement} newNode - * @param {HTMLElement} referenceNode - */ -function insertAfter(newNode, referenceNode) { - referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling); -} - -/** - * This function creates a new `
    ` with the given `id` and `classes` if it doesn't already - * exist. - * - * More information about this in `switchDisplayedElement` documentation. - * - * @param {string} id - * @param {string} classes - */ -function getOrCreateSection(id, classes) { - let el = document.getElementById(id); - - if (!el) { - el = document.createElement("section"); - el.id = id; - el.className = classes; - insertAfter(el, document.getElementById(MAIN_ID)); - } - return el; -} - -/** - * Returns the `
    ` element which contains the displayed element. - * - * @return {HTMLElement} - */ -function getAlternativeDisplayElem() { - return getOrCreateSection(ALTERNATIVE_DISPLAY_ID, "content hidden"); -} - -/** - * Returns the `
    ` element which contains the not-displayed elements. - * - * @return {HTMLElement} - */ -function getNotDisplayedElem() { - return getOrCreateSection(NOT_DISPLAYED_ID, "hidden"); -} - -/** - * To nicely switch between displayed "extra" elements (such as search results or settings menu) - * and to alternate between the displayed and not displayed elements, we hold them in two different - * `
    ` elements. They work in pair: one holds the hidden elements while the other - * contains the displayed element (there can be only one at the same time!). So basically, we switch - * elements between the two `
    ` elements. - * - * @param {HTMLElement} elemToDisplay - */ -function switchDisplayedElement(elemToDisplay) { - const el = getAlternativeDisplayElem(); - - if (el.children.length > 0) { - getNotDisplayedElem().appendChild(el.firstElementChild); - } - if (elemToDisplay === null) { - addClass(el, "hidden"); - showMain(); - return; - } - el.appendChild(elemToDisplay); - hideMain(); - removeClass(el, "hidden"); -} - -function browserSupportsHistoryApi() { - return window.history && typeof window.history.pushState === "function"; -} - -// eslint-disable-next-line no-unused-vars -function loadCss(cssUrl) { - const link = document.createElement("link"); - link.href = cssUrl; - link.type = "text/css"; - link.rel = "stylesheet"; - document.getElementsByTagName("head")[0].appendChild(link); -} - -(function() { - const isHelpPage = window.location.pathname.endsWith("/help.html"); - - function loadScript(url) { - const script = document.createElement("script"); - script.src = url; - document.head.append(script); - } - - getSettingsButton().onclick = event => { - if (event.ctrlKey || event.altKey || event.metaKey) { - return; - } - addClass(getSettingsButton(), "rotate"); - event.preventDefault(); - // Sending request for the CSS and the JS files at the same time so it will - // hopefully be loaded when the JS will generate the settings content. - loadCss(getVar("static-root-path") + getVar("settings-css")); - loadScript(getVar("static-root-path") + getVar("settings-js")); - }; - - window.searchState = { - loadingText: "Loading search results...", - input: document.getElementsByClassName("search-input")[0], - outputElement: () => { - let el = document.getElementById("search"); - if (!el) { - el = document.createElement("section"); - el.id = "search"; - getNotDisplayedElem().appendChild(el); - } - return el; - }, - title: document.title, - titleBeforeSearch: document.title, - timeout: null, - // On the search screen, so you remain on the last tab you opened. - // - // 0 for "In Names" - // 1 for "In Parameters" - // 2 for "In Return Types" - currentTab: 0, - // tab and back preserves the element that was focused. - focusedByTab: [null, null, null], - clearInputTimeout: () => { - if (searchState.timeout !== null) { - clearTimeout(searchState.timeout); - searchState.timeout = null; - } - }, - isDisplayed: () => searchState.outputElement().parentElement.id === ALTERNATIVE_DISPLAY_ID, - // Sets the focus on the search bar at the top of the page - focus: () => { - searchState.input.focus(); - }, - // Removes the focus from the search bar. - defocus: () => { - searchState.input.blur(); - }, - showResults: search => { - if (search === null || typeof search === "undefined") { - search = searchState.outputElement(); - } - switchDisplayedElement(search); - searchState.mouseMovedAfterSearch = false; - document.title = searchState.title; - }, - hideResults: () => { - switchDisplayedElement(null); - document.title = searchState.titleBeforeSearch; - // We also remove the query parameter from the URL. - if (browserSupportsHistoryApi()) { - history.replaceState(null, window.currentCrate + " - Rust", - getNakedUrl() + window.location.hash); - } - }, - getQueryStringParams: () => { - const params = {}; - window.location.search.substring(1).split("&"). - map(s => { - const pair = s.split("="); - params[decodeURIComponent(pair[0])] = - typeof pair[1] === "undefined" ? null : decodeURIComponent(pair[1]); - }); - return params; - }, - setup: () => { - const search_input = searchState.input; - if (!searchState.input) { - return; - } - let searchLoaded = false; - function loadSearch() { - if (!searchLoaded) { - searchLoaded = true; - loadScript(getVar("static-root-path") + getVar("search-js")); - loadScript(resourcePath("search-index", ".js")); - } - } - - search_input.addEventListener("focus", () => { - search_input.origPlaceholder = search_input.placeholder; - search_input.placeholder = "Type your search here."; - loadSearch(); - }); - - if (search_input.value !== "") { - loadSearch(); - } - - const params = searchState.getQueryStringParams(); - if (params.search !== undefined) { - const search = searchState.outputElement(); - search.innerHTML = "

    " + - searchState.loadingText + "

    "; - searchState.showResults(search); - loadSearch(); - } - }, - }; - - function getPageId() { - if (window.location.hash) { - const tmp = window.location.hash.replace(/^#/, ""); - if (tmp.length > 0) { - return tmp; - } - } - return null; - } - - const toggleAllDocsId = "toggle-all-docs"; - let savedHash = ""; - - function handleHashes(ev) { - if (ev !== null && searchState.isDisplayed() && ev.newURL) { - // This block occurs when clicking on an element in the navbar while - // in a search. - switchDisplayedElement(null); - const hash = ev.newURL.slice(ev.newURL.indexOf("#") + 1); - if (browserSupportsHistoryApi()) { - // `window.location.search`` contains all the query parameters, not just `search`. - history.replaceState(null, "", - getNakedUrl() + window.location.search + "#" + hash); - } - const elem = document.getElementById(hash); - if (elem) { - elem.scrollIntoView(); - } - } - // This part is used in case an element is not visible. - if (savedHash !== window.location.hash) { - savedHash = window.location.hash; - if (savedHash.length === 0) { - return; - } - expandSection(savedHash.slice(1)); // we remove the '#' - } - } - - function onHashChange(ev) { - // If we're in mobile mode, we should hide the sidebar in any case. - hideSidebar(); - handleHashes(ev); - } - - function openParentDetails(elem) { - while (elem) { - if (elem.tagName === "DETAILS") { - elem.open = true; - } - elem = elem.parentNode; - } - } - - function expandSection(id) { - openParentDetails(document.getElementById(id)); - } - - function handleEscape(ev) { - searchState.clearInputTimeout(); - switchDisplayedElement(null); - if (browserSupportsHistoryApi()) { - history.replaceState(null, window.currentCrate + " - Rust", - getNakedUrl() + window.location.hash); - } - ev.preventDefault(); - searchState.defocus(); - window.hidePopoverMenus(); - } - - function handleShortcut(ev) { - // Don't interfere with browser shortcuts - const disableShortcuts = getSettingValue("disable-shortcuts") === "true"; - if (ev.ctrlKey || ev.altKey || ev.metaKey || disableShortcuts) { - return; - } - - if (document.activeElement.tagName === "INPUT" && - document.activeElement.type !== "checkbox") { - switch (getVirtualKey(ev)) { - case "Escape": - handleEscape(ev); - break; - } - } else { - switch (getVirtualKey(ev)) { - case "Escape": - handleEscape(ev); - break; - - case "s": - case "S": - ev.preventDefault(); - searchState.focus(); - break; - - case "+": - ev.preventDefault(); - expandAllDocs(); - break; - case "-": - ev.preventDefault(); - collapseAllDocs(); - break; - - case "?": - showHelp(); - break; - - default: - break; - } - } - } - - document.addEventListener("keypress", handleShortcut); - document.addEventListener("keydown", handleShortcut); - - function addSidebarItems() { - if (!window.SIDEBAR_ITEMS) { - return; - } - const sidebar = document.getElementsByClassName("sidebar-elems")[0]; - - /** - * Append to the sidebar a "block" of links - a heading along with a list (`
      `) of items. - * - * @param {string} shortty - A short type name, like "primitive", "mod", or "macro" - * @param {string} id - The HTML id of the corresponding section on the module page. - * @param {string} longty - A long, capitalized, plural name, like "Primitive Types", - * "Modules", or "Macros". - */ - function block(shortty, id, longty) { - const filtered = window.SIDEBAR_ITEMS[shortty]; - if (!filtered) { - return; - } - - const h3 = document.createElement("h3"); - h3.innerHTML = `${longty}`; - const ul = document.createElement("ul"); - ul.className = "block " + shortty; - - for (const item of filtered) { - const name = item[0]; - const desc = item[1]; // can be null - - let path; - if (shortty === "mod") { - path = name + "/index.html"; - } else { - path = shortty + "." + name + ".html"; - } - const current_page = document.location.href.split("/").pop(); - const link = document.createElement("a"); - link.href = path; - link.title = desc; - if (path === current_page) { - link.className = "current"; - } - link.textContent = name; - const li = document.createElement("li"); - li.appendChild(link); - ul.appendChild(li); - } - sidebar.appendChild(h3); - sidebar.appendChild(ul); - } - - if (sidebar) { - block("primitive", "primitives", "Primitive Types"); - block("mod", "modules", "Modules"); - block("macro", "macros", "Macros"); - block("struct", "structs", "Structs"); - block("enum", "enums", "Enums"); - block("union", "unions", "Unions"); - block("constant", "constants", "Constants"); - block("static", "static", "Statics"); - block("trait", "traits", "Traits"); - block("fn", "functions", "Functions"); - block("type", "types", "Type Definitions"); - block("foreigntype", "foreign-types", "Foreign Types"); - block("keyword", "keywords", "Keywords"); - block("traitalias", "trait-aliases", "Trait Aliases"); - } - } - - window.register_implementors = imp => { - const implementors = document.getElementById("implementors-list"); - const synthetic_implementors = document.getElementById("synthetic-implementors-list"); - const inlined_types = new Set(); - - const TEXT_IDX = 0; - const SYNTHETIC_IDX = 1; - const TYPES_IDX = 2; - - if (synthetic_implementors) { - // This `inlined_types` variable is used to avoid having the same implementation - // showing up twice. For example "String" in the "Sync" doc page. - // - // By the way, this is only used by and useful for traits implemented automatically - // (like "Send" and "Sync"). - onEachLazy(synthetic_implementors.getElementsByClassName("impl"), el => { - const aliases = el.getAttribute("data-aliases"); - if (!aliases) { - return; - } - aliases.split(",").forEach(alias => { - inlined_types.add(alias); - }); - }); - } - - let currentNbImpls = implementors.getElementsByClassName("impl").length; - const traitName = document.querySelector("h1.fqn > .trait").textContent; - const baseIdName = "impl-" + traitName + "-"; - const libs = Object.getOwnPropertyNames(imp); - // We don't want to include impls from this JS file, when the HTML already has them. - // The current crate should always be ignored. Other crates that should also be - // ignored are included in the attribute `data-ignore-extern-crates`. - const script = document - .querySelector("script[data-ignore-extern-crates]"); - const ignoreExternCrates = script ? script.getAttribute("data-ignore-extern-crates") : ""; - for (const lib of libs) { - if (lib === window.currentCrate || ignoreExternCrates.indexOf(lib) !== -1) { - continue; - } - const structs = imp[lib]; - - struct_loop: - for (const struct of structs) { - const list = struct[SYNTHETIC_IDX] ? synthetic_implementors : implementors; - - // The types list is only used for synthetic impls. - // If this changes, `main.js` and `write_shared.rs` both need changed. - if (struct[SYNTHETIC_IDX]) { - for (const struct_type of struct[TYPES_IDX]) { - if (inlined_types.has(struct_type)) { - continue struct_loop; - } - inlined_types.add(struct_type); - } - } - - const code = document.createElement("h3"); - code.innerHTML = struct[TEXT_IDX]; - addClass(code, "code-header"); - - onEachLazy(code.getElementsByTagName("a"), elem => { - const href = elem.getAttribute("href"); - - if (href && href.indexOf("http") !== 0) { - elem.setAttribute("href", window.rootPath + href); - } - }); - - const currentId = baseIdName + currentNbImpls; - const anchor = document.createElement("a"); - anchor.href = "#" + currentId; - addClass(anchor, "anchor"); - - const display = document.createElement("div"); - display.id = currentId; - addClass(display, "impl"); - display.appendChild(anchor); - display.appendChild(code); - list.appendChild(display); - currentNbImpls += 1; - } - } - }; - if (window.pending_implementors) { - window.register_implementors(window.pending_implementors); - } - - function addSidebarCrates() { - if (!window.ALL_CRATES) { - return; - } - const sidebarElems = document.getElementsByClassName("sidebar-elems")[0]; - if (!sidebarElems) { - return; - } - // Draw a convenient sidebar of known crates if we have a listing - const h3 = document.createElement("h3"); - h3.innerHTML = "Crates"; - const ul = document.createElement("ul"); - ul.className = "block crate"; - - for (const crate of window.ALL_CRATES) { - const link = document.createElement("a"); - link.href = window.rootPath + crate + "/index.html"; - if (window.rootPath !== "./" && crate === window.currentCrate) { - link.className = "current"; - } - link.textContent = crate; - - const li = document.createElement("li"); - li.appendChild(link); - ul.appendChild(li); - } - sidebarElems.appendChild(h3); - sidebarElems.appendChild(ul); - } - - function expandAllDocs() { - const innerToggle = document.getElementById(toggleAllDocsId); - removeClass(innerToggle, "will-expand"); - onEachLazy(document.getElementsByClassName("rustdoc-toggle"), e => { - if (!hasClass(e, "type-contents-toggle")) { - e.open = true; - } - }); - innerToggle.title = "collapse all docs"; - innerToggle.children[0].innerText = "\u2212"; // "\u2212" is "−" minus sign - } - - function collapseAllDocs() { - const innerToggle = document.getElementById(toggleAllDocsId); - addClass(innerToggle, "will-expand"); - onEachLazy(document.getElementsByClassName("rustdoc-toggle"), e => { - if (e.parentNode.id !== "implementations-list" || - (!hasClass(e, "implementors-toggle") && - !hasClass(e, "type-contents-toggle")) - ) { - e.open = false; - } - }); - innerToggle.title = "expand all docs"; - innerToggle.children[0].innerText = "+"; - } - - function toggleAllDocs() { - const innerToggle = document.getElementById(toggleAllDocsId); - if (!innerToggle) { - return; - } - if (hasClass(innerToggle, "will-expand")) { - expandAllDocs(); - } else { - collapseAllDocs(); - } - } - - (function() { - const toggles = document.getElementById(toggleAllDocsId); - if (toggles) { - toggles.onclick = toggleAllDocs; - } - - const hideMethodDocs = getSettingValue("auto-hide-method-docs") === "true"; - const hideImplementations = getSettingValue("auto-hide-trait-implementations") === "true"; - const hideLargeItemContents = getSettingValue("auto-hide-large-items") !== "false"; - - function setImplementorsTogglesOpen(id, open) { - const list = document.getElementById(id); - if (list !== null) { - onEachLazy(list.getElementsByClassName("implementors-toggle"), e => { - e.open = open; - }); - } - } - - if (hideImplementations) { - setImplementorsTogglesOpen("trait-implementations-list", false); - setImplementorsTogglesOpen("blanket-implementations-list", false); - } - - onEachLazy(document.getElementsByClassName("rustdoc-toggle"), e => { - if (!hideLargeItemContents && hasClass(e, "type-contents-toggle")) { - e.open = true; - } - if (hideMethodDocs && hasClass(e, "method-toggle")) { - e.open = false; - } - - }); - - const pageId = getPageId(); - if (pageId !== null) { - expandSection(pageId); - } - }()); - - window.rustdoc_add_line_numbers_to_examples = () => { - onEachLazy(document.getElementsByClassName("rust-example-rendered"), x => { - const parent = x.parentNode; - const line_numbers = parent.querySelectorAll(".example-line-numbers"); - if (line_numbers.length > 0) { - return; - } - const count = x.textContent.split("\n").length; - const elems = []; - for (let i = 0; i < count; ++i) { - elems.push(i + 1); - } - const node = document.createElement("pre"); - addClass(node, "example-line-numbers"); - node.innerHTML = elems.join("\n"); - parent.insertBefore(node, x); - }); - }; - - window.rustdoc_remove_line_numbers_from_examples = () => { - onEachLazy(document.getElementsByClassName("rust-example-rendered"), x => { - const parent = x.parentNode; - const line_numbers = parent.querySelectorAll(".example-line-numbers"); - for (const node of line_numbers) { - parent.removeChild(node); - } - }); - }; - - (function() { - // To avoid checking on "rustdoc-line-numbers" value on every loop... - if (getSettingValue("line-numbers") === "true") { - window.rustdoc_add_line_numbers_to_examples(); - } - }()); - - let oldSidebarScrollPosition = null; - - // Scroll locking used both here and in source-script.js - - window.rustdocMobileScrollLock = function() { - const mobile_topbar = document.querySelector(".mobile-topbar"); - if (window.innerWidth <= window.RUSTDOC_MOBILE_BREAKPOINT) { - // This is to keep the scroll position on mobile. - oldSidebarScrollPosition = window.scrollY; - document.body.style.width = `${document.body.offsetWidth}px`; - document.body.style.position = "fixed"; - document.body.style.top = `-${oldSidebarScrollPosition}px`; - if (mobile_topbar) { - mobile_topbar.style.top = `${oldSidebarScrollPosition}px`; - mobile_topbar.style.position = "relative"; - } - } else { - oldSidebarScrollPosition = null; - } - }; - - window.rustdocMobileScrollUnlock = function() { - const mobile_topbar = document.querySelector(".mobile-topbar"); - if (oldSidebarScrollPosition !== null) { - // This is to keep the scroll position on mobile. - document.body.style.width = ""; - document.body.style.position = ""; - document.body.style.top = ""; - if (mobile_topbar) { - mobile_topbar.style.top = ""; - mobile_topbar.style.position = ""; - } - // The scroll position is lost when resetting the style, hence why we store it in - // `oldSidebarScrollPosition`. - window.scrollTo(0, oldSidebarScrollPosition); - oldSidebarScrollPosition = null; - } - }; - - function showSidebar() { - window.rustdocMobileScrollLock(); - const sidebar = document.getElementsByClassName("sidebar")[0]; - addClass(sidebar, "shown"); - } - - function hideSidebar() { - window.rustdocMobileScrollUnlock(); - const sidebar = document.getElementsByClassName("sidebar")[0]; - removeClass(sidebar, "shown"); - } - - window.addEventListener("resize", () => { - if (window.innerWidth > window.RUSTDOC_MOBILE_BREAKPOINT && - oldSidebarScrollPosition !== null) { - // If the user opens the sidebar in "mobile" mode, and then grows the browser window, - // we need to switch away from mobile mode and make the main content area scrollable. - hideSidebar(); - } - if (window.CURRENT_NOTABLE_ELEMENT) { - // As a workaround to the behavior of `contains: layout` used in doc togglers, the - // notable traits popup is positioned using javascript. - // - // This means when the window is resized, we need to redo the layout. - const base = window.CURRENT_NOTABLE_ELEMENT.NOTABLE_BASE; - const force_visible = base.NOTABLE_FORCE_VISIBLE; - hideNotable(); - if (force_visible) { - showNotable(base); - base.NOTABLE_FORCE_VISIBLE = true; - } - } - }); - - function handleClick(id, f) { - const elem = document.getElementById(id); - if (elem) { - elem.addEventListener("click", f); - } - } - handleClick(MAIN_ID, () => { - hideSidebar(); - }); - - onEachLazy(document.getElementsByTagName("a"), el => { - // For clicks on internal links ( tags with a hash property), we expand the section we're - // jumping to *before* jumping there. We can't do this in onHashChange, because it changes - // the height of the document so we wind up scrolled to the wrong place. - if (el.hash) { - el.addEventListener("click", () => { - expandSection(el.hash.slice(1)); - hideSidebar(); - }); - } - }); - - onEachLazy(document.querySelectorAll(".rustdoc-toggle > summary:not(.hideme)"), el => { - el.addEventListener("click", e => { - if (e.target.tagName !== "SUMMARY" && e.target.tagName !== "A") { - e.preventDefault(); - } - }); - }); - - function showNotable(e) { - if (!window.NOTABLE_TRAITS) { - const data = document.getElementById("notable-traits-data"); - if (data) { - window.NOTABLE_TRAITS = JSON.parse(data.innerText); - } else { - throw new Error("showNotable() called on page without any notable traits!"); - } - } - if (window.CURRENT_NOTABLE_ELEMENT && window.CURRENT_NOTABLE_ELEMENT.NOTABLE_BASE === e) { - // Make this function idempotent. - return; - } - hideNotable(); - const ty = e.getAttribute("data-ty"); - const tooltip = e.getElementsByClassName("notable-traits-tooltip")[0]; - const wrapper = document.createElement("div"); - wrapper.innerHTML = "
      " + window.NOTABLE_TRAITS[ty] + "
      "; - wrapper.className = "notable-traits-tooltiptext"; - tooltip.appendChild(wrapper); - const pos = wrapper.getBoundingClientRect(); - tooltip.removeChild(wrapper); - wrapper.style.top = (pos.top + window.scrollY) + "px"; - wrapper.style.left = (pos.left + window.scrollX) + "px"; - wrapper.style.width = pos.width + "px"; - const body = document.getElementsByTagName("body")[0]; - body.appendChild(wrapper); - window.CURRENT_NOTABLE_ELEMENT = wrapper; - window.CURRENT_NOTABLE_ELEMENT.NOTABLE_BASE = e; - wrapper.onpointerleave = function(ev) { - // If this is a synthetic touch event, ignore it. A click event will be along shortly. - if (ev.pointerType !== "mouse") { - return; - } - if (!e.NOTABLE_FORCE_VISIBLE && !elemIsInParent(event.relatedTarget, e)) { - hideNotable(); - } - }; - } - - function hideNotable() { - if (window.CURRENT_NOTABLE_ELEMENT) { - window.CURRENT_NOTABLE_ELEMENT.NOTABLE_BASE.NOTABLE_FORCE_VISIBLE = false; - const body = document.getElementsByTagName("body")[0]; - body.removeChild(window.CURRENT_NOTABLE_ELEMENT); - window.CURRENT_NOTABLE_ELEMENT = null; - } - } - - onEachLazy(document.getElementsByClassName("notable-traits"), e => { - e.onclick = function() { - this.NOTABLE_FORCE_VISIBLE = this.NOTABLE_FORCE_VISIBLE ? false : true; - if (window.CURRENT_NOTABLE_ELEMENT && !this.NOTABLE_FORCE_VISIBLE) { - hideNotable(); - } else { - showNotable(this); - } - }; - e.onpointerenter = function(ev) { - // If this is a synthetic touch event, ignore it. A click event will be along shortly. - if (ev.pointerType !== "mouse") { - return; - } - showNotable(this); - }; - e.onpointerleave = function(ev) { - // If this is a synthetic touch event, ignore it. A click event will be along shortly. - if (ev.pointerType !== "mouse") { - return; - } - if (!this.NOTABLE_FORCE_VISIBLE && - !elemIsInParent(event.relatedTarget, window.CURRENT_NOTABLE_ELEMENT)) { - hideNotable(); - } - }; - }); - - const sidebar_menu_toggle = document.getElementsByClassName("sidebar-menu-toggle")[0]; - if (sidebar_menu_toggle) { - sidebar_menu_toggle.addEventListener("click", () => { - const sidebar = document.getElementsByClassName("sidebar")[0]; - if (!hasClass(sidebar, "shown")) { - showSidebar(); - } else { - hideSidebar(); - } - }); - } - - function helpBlurHandler(event) { - blurHandler(event, getHelpButton(), window.hidePopoverMenus); - } - - function buildHelpMenu() { - const book_info = document.createElement("span"); - book_info.className = "top"; - book_info.innerHTML = "You can find more information in \ -
      the rustdoc book."; - - const shortcuts = [ - ["?", "Show this help dialog"], - ["S", "Focus the search field"], - ["↑", "Move up in search results"], - ["↓", "Move down in search results"], - ["← / →", "Switch result tab (when results focused)"], - ["⏎", "Go to active search result"], - ["+", "Expand all sections"], - ["-", "Collapse all sections"], - ].map(x => "
      " + - x[0].split(" ") - .map((y, index) => ((index & 1) === 0 ? "" + y + "" : " " + y + " ")) - .join("") + "
      " + x[1] + "
      ").join(""); - const div_shortcuts = document.createElement("div"); - addClass(div_shortcuts, "shortcuts"); - div_shortcuts.innerHTML = "

      Keyboard Shortcuts

      " + shortcuts + "
      "; - - const infos = [ - "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(x => "

      " + x + "

      ").join(""); - const div_infos = document.createElement("div"); - addClass(div_infos, "infos"); - div_infos.innerHTML = "

      Search Tricks

      " + infos; - - const rustdoc_version = document.createElement("span"); - rustdoc_version.className = "bottom"; - const rustdoc_version_code = document.createElement("code"); - rustdoc_version_code.innerText = "rustdoc " + getVar("rustdoc-version"); - rustdoc_version.appendChild(rustdoc_version_code); - - const container = document.createElement("div"); - if (!isHelpPage) { - container.className = "popover"; - } - container.id = "help"; - container.style.display = "none"; - - const side_by_side = document.createElement("div"); - side_by_side.className = "side-by-side"; - side_by_side.appendChild(div_shortcuts); - side_by_side.appendChild(div_infos); - - container.appendChild(book_info); - container.appendChild(side_by_side); - container.appendChild(rustdoc_version); - - if (isHelpPage) { - const help_section = document.createElement("section"); - help_section.appendChild(container); - document.getElementById("main-content").appendChild(help_section); - container.style.display = "block"; - } else { - const help_button = getHelpButton(); - help_button.appendChild(container); - - container.onblur = helpBlurHandler; - container.onclick = event => { - event.preventDefault(); - }; - help_button.onblur = helpBlurHandler; - help_button.children[0].onblur = helpBlurHandler; - } - - return container; - } - - /** - * Hide all the popover menus. - */ - window.hidePopoverMenus = function() { - onEachLazy(document.querySelectorAll(".search-form .popover"), elem => { - elem.style.display = "none"; - }); - }; - - /** - * Returns the help menu element (not the button). - * - * @param {boolean} buildNeeded - If this argument is `false`, the help menu element won't be - * built if it doesn't exist. - * - * @return {HTMLElement} - */ - function getHelpMenu(buildNeeded) { - let menu = getHelpButton().querySelector(".popover"); - if (!menu && buildNeeded) { - menu = buildHelpMenu(); - } - return menu; - } - - /** - * Show the help popup menu. - */ - function showHelp() { - const menu = getHelpMenu(true); - if (menu.style.display === "none") { - window.hidePopoverMenus(); - menu.style.display = ""; - } - } - - if (isHelpPage) { - showHelp(); - document.querySelector(`#${HELP_BUTTON_ID} > a`).addEventListener("click", event => { - // Already on the help page, make help button a no-op. - const target = event.target; - if (target.tagName !== "A" || - target.parentElement.id !== HELP_BUTTON_ID || - event.ctrlKey || - event.altKey || - event.metaKey) { - return; - } - event.preventDefault(); - }); - } else { - document.querySelector(`#${HELP_BUTTON_ID} > a`).addEventListener("click", event => { - // By default, have help button open docs in a popover. - // If user clicks with a moderator, though, use default browser behavior, - // probably opening in a new window or tab. - const target = event.target; - if (target.tagName !== "A" || - target.parentElement.id !== HELP_BUTTON_ID || - event.ctrlKey || - event.altKey || - event.metaKey) { - return; - } - event.preventDefault(); - const menu = getHelpMenu(true); - const shouldShowHelp = menu.style.display === "none"; - if (shouldShowHelp) { - showHelp(); - } else { - window.hidePopoverMenus(); - } - }); - } - - setMobileTopbar(); - addSidebarItems(); - addSidebarCrates(); - onHashChange(null); - window.addEventListener("hashchange", onHashChange); - searchState.setup(); -}()); - -(function() { - let reset_button_timeout = null; - - window.copy_path = but => { - const parent = but.parentElement; - const path = []; - - onEach(parent.childNodes, child => { - if (child.tagName === "A") { - path.push(child.textContent); - } - }); - - const el = document.createElement("textarea"); - el.value = path.join("::"); - el.setAttribute("readonly", ""); - // To not make it appear on the screen. - el.style.position = "absolute"; - el.style.left = "-9999px"; - - document.body.appendChild(el); - el.select(); - document.execCommand("copy"); - document.body.removeChild(el); - - // There is always one children, but multiple childNodes. - but.children[0].style.display = "none"; - - let tmp; - if (but.childNodes.length < 2) { - tmp = document.createTextNode("✓"); - but.appendChild(tmp); - } else { - onEachLazy(but.childNodes, e => { - if (e.nodeType === Node.TEXT_NODE) { - tmp = e; - return true; - } - }); - tmp.textContent = "✓"; - } - - if (reset_button_timeout !== null) { - window.clearTimeout(reset_button_timeout); - } - - function reset_button() { - tmp.textContent = ""; - reset_button_timeout = null; - but.children[0].style.display = ""; - } - - reset_button_timeout = window.setTimeout(reset_button, 1000); - }; -}()); diff --git a/static.files/normalize-76eba96aa4d2e634.css b/static.files/normalize-76eba96aa4d2e634.css index fdb8a8c65..469959f13 100644 --- a/static.files/normalize-76eba96aa4d2e634.css +++ b/static.files/normalize-76eba96aa4d2e634.css @@ -1,2 +1,2 @@ -/* ignore-tidy-linelength */ -/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace, monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type="button"],[type="reset"],[type="submit"],button{-webkit-appearance:button}[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none} + /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ +html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type="button"],[type="reset"],[type="submit"],button{-webkit-appearance:button}[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none} \ No newline at end of file diff --git a/static.files/noscript-13285aec31fa243e.css b/static.files/noscript-13285aec31fa243e.css index 54e8b6561..c32e0cb13 100644 --- a/static.files/noscript-13285aec31fa243e.css +++ b/static.files/noscript-13285aec31fa243e.css @@ -1,30 +1 @@ -/* -This whole CSS file is used only in case rustdoc is rendered with javascript disabled. Since a lot -of content is hidden by default (depending on the settings too), we have to overwrite some of the -rules. -*/ - -#main-content .attributes { - /* Since there is no toggle (the "[-]") when JS is disabled, no need for this margin either. */ - margin-left: 0 !important; -} - -#copy-path { - /* It requires JS to work so no need to display it in this case. */ - display: none; -} - -nav.sub { - /* The search bar and related controls don't work without JS */ - display: none; -} - -.source .sidebar { - display: none; -} - -.notable-traits { - /* layout requires javascript - https://github.com/rust-lang/rust/issues/102576 */ - display: none; -} + #main-content .attributes{margin-left:0 !important;}#copy-path{display:none;}nav.sub{display:none;}.source .sidebar{display:none;}.notable-traits{display:none;} \ No newline at end of file diff --git a/static.files/rustdoc-59deea3733ac6c09.css b/static.files/rustdoc-59deea3733ac6c09.css new file mode 100644 index 000000000..364b9af76 --- /dev/null +++ b/static.files/rustdoc-59deea3733ac6c09.css @@ -0,0 +1 @@ + @font-face {font-family:'Fira Sans';font-style:normal;font-weight:400;src:local('Fira Sans'),url("FiraSans-Regular-018c141bf0843ffd.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Fira Sans';font-style:normal;font-weight:500;src:local('Fira Sans Medium'),url("FiraSans-Medium-8f9a781e4970d388.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:400;src:local('Source Serif 4'),url("SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2") format("woff2");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-d034fe4ef9d0fa00.ttf.woff2") format("woff2");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-124a1ca42af929b6.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:400;src:url("SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:italic;font-weight:400;src:url("SourceCodePro-It-1cc31594bf4f1f79.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:600;src:url("SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'NanumBarunGothic';src:url("NanumBarunGothic-0f09457c7a19b7c6.ttf.woff2") format("woff2");font-display:swap;unicode-range:U+AC00-D7AF,U+1100-11FF,U+3130-318F,U+A960-A97F,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:1rem/1.5 "Source Serif 4",NanumBarunGothic,serif;margin:0;position:relative;overflow-wrap:break-word;overflow-wrap:anywhere;-webkit-font-feature-settings:"kern","liga";-moz-font-feature-settings:"kern","liga";font-feature-settings:"kern","liga";background-color:var(--main-background-color);color:var(--main-color);}h1{font-size:1.5rem;}h2{font-size:1.375rem;}h3{font-size:1.25rem;}h1,h2,h3,h4,h5,h6{font-weight:500;}h1,h2,h3,h4{margin:25px 0 15px 0;padding-bottom:6px;}.docblock h3,.docblock h4,h5,h6{margin:15px 0 5px 0;}.docblock>h2:first-child,.docblock>h3:first-child,.docblock>h4:first-child,.docblock>h5:first-child,.docblock>h6:first-child{margin-top:0;}h1.fqn{margin:0;padding:0;flex-grow:1;overflow-wrap:break-word;overflow-wrap:anywhere;}.main-heading{display:flex;flex-wrap:wrap;padding-bottom:6px;margin-bottom:15px;}.content h2,.top-doc .docblock>h3,.top-doc .docblock>h4{border-bottom:1px solid var(--headings-border-bottom-color);}h3.code-header{font-size:1.125rem;}h4.code-header{font-size:1rem;}.code-header{font-weight:600;margin:0;padding:0;}#crate-search,h1,h2,h3,h4,h5,h6,.sidebar,.mobile-topbar,.search-input,.search-results .result-name,.item-left>a,.out-of-band,span.since,a.srclink,#help-button>a,details.rustdoc-toggle.top-doc>summary,details.rustdoc-toggle.non-exhaustive>summary,.scraped-example-title,.more-examples-toggle summary,.more-examples-toggle .hide-more,.example-links a,ul.all-items{font-family:"Fira Sans",Arial,NanumBarunGothic,sans-serif;}#toggle-all-docs,a.anchor,.small-section-header a,#source-sidebar a,pre.rust a,.sidebar h2 a,.sidebar h3 a,.mobile-topbar h2 a,h1 a,.search-results a,.module-item .stab,.import-item .stab,.result-name .primitive>i,.result-name .keyword>i{color:var(--main-color);}.content span.enum,.content a.enum,.content span.struct,.content a.struct,.content span.union,.content a.union,.content span.primitive,.content a.primitive,.content span.type,.content a.type,.content span.foreigntype,.content a.foreigntype{color:var(--type-link-color);}.content span.trait,.content a.trait,.content span.traitalias,.content a.traitalias{color:var(--trait-link-color);}.content span.associatedtype,.content a.associatedtype,.content span.constant,.content a.constant,.content span.static,.content a.static{color:var(--assoc-item-link-color);}.content span.fn,.content a.fn,.content span.method,.content a.method,.content span.tymethod,.content a.tymethod{color:var(--function-link-color);}.content span.attr,.content a.attr,.content span.derive,.content a.derive,.content span.macro,.content a.macro{color:var(--macro-link-color);}.content span.mod,.content a.mod{color:var(--mod-link-color);}.content span.keyword,.content a.keyword{color:var(--keyword-link-color);}a{color:var(--link-color);}ol,ul{padding-left:24px;}ul ul,ol ul,ul ol,ol ol{margin-bottom:.625em;}p{margin:0 0 .75em 0;}p:last-child{margin:0;}button{padding:1px 6px;cursor:pointer;}button#toggle-all-docs{padding:0;background:none;border:none;-webkit-appearance:none;opacity:1;}.rustdoc{display:flex;flex-direction:row;flex-wrap:nowrap;}main{position:relative;flex-grow:1;padding:10px 15px 40px 45px;min-width:0;}.source main{padding:15px;}.width-limiter{max-width:960px;margin-right:auto;}.source .width-limiter{max-width:unset;}details:not(.rustdoc-toggle) summary{margin-bottom:.6em;}code,pre,a.test-arrow,.code-header{font-family:"Source Code Pro",monospace;}.docblock code,.docblock-short code{border-radius:3px;padding:0 0.125em;}.docblock pre code,.docblock-short pre code{padding:0;}pre{padding:14px;}.item-decl pre{overflow-x:auto;}.source .content pre{padding:20px;}img{max-width:100%;}.source .content{overflow:visible;}.sub-logo-container,.logo-container{line-height:0;}.sub-logo-container>img{height:60px;width:60px;object-fit:contain;}.rust-logo{filter:var(--rust-logo-filter);}.sidebar,.mobile-topbar,.sidebar-menu-toggle{background-color:var(--sidebar-background-color);}.sidebar{font-size:0.875rem;flex:0 0 200px;overflow-y:scroll;position:sticky;height:100vh;top:0;left:0;}.rustdoc.source .sidebar{flex-basis:50px;border-right:1px solid;overflow-x:hidden;overflow-y:hidden;}.source .sidebar,#sidebar-toggle,#source-sidebar{background-color:var(--sidebar-background-color);}#sidebar-toggle>button:hover,#sidebar-toggle>button:focus{background-color:var(--sidebar-background-color-hover);}.source .sidebar>*:not(#sidebar-toggle){visibility:hidden;}.source-sidebar-expanded .source .sidebar{overflow-y:auto;flex-basis:300px;}.source-sidebar-expanded .source .sidebar>*:not(#sidebar-toggle){visibility:visible;}#all-types{margin-top:1em;}*{scrollbar-width:initial;scrollbar-color:var(--scrollbar-color);}.sidebar{scrollbar-width:thin;scrollbar-color:var(--scrollbar-color);}::-webkit-scrollbar{width:12px;}.sidebar::-webkit-scrollbar{width:8px;}::-webkit-scrollbar-track{-webkit-box-shadow:inset 0;background-color:var(--scrollbar-track-background-color);}.sidebar::-webkit-scrollbar-track{background-color:var(--scrollbar-track-background-color);}::-webkit-scrollbar-thumb,.sidebar::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb-background-color);}.hidden{display:none !important;}.sidebar .logo-container{margin-top:10px;margin-bottom:10px;text-align:center;}.version{overflow-wrap:break-word;}.logo-container>img{height:100px;width:100px;}ul.block,.block li{padding:0;margin:0;list-style:none;}.block a,.sidebar h2 a,.sidebar h3 a{display:block;padding:0.25rem;margin-left:-0.25rem;text-overflow:ellipsis;overflow:hidden;}.sidebar h2{overflow-wrap:anywhere;padding:0;margin:0.7rem 0;}.sidebar h3{font-size:1.125rem;padding:0;margin:0;}.sidebar-elems,.sidebar>h2{padding-left:24px;}.sidebar a,.sidebar .current{color:var(--sidebar-link-color);}.sidebar .current,.sidebar a:hover{background-color:var(--sidebar-current-link-background-color);}.sidebar-elems .block{margin-bottom:2em;}.sidebar-elems .block li a{white-space:nowrap;}.mobile-topbar{display:none;}.source .content pre.rust{overflow:auto;padding-left:0;}.rustdoc .example-wrap{display:flex;position:relative;margin-bottom:10px;}.rustdoc .example-wrap:last-child{margin-bottom:0px;}.rustdoc .example-wrap>pre{margin:0;flex-grow:1;overflow-x:auto;}.rustdoc .example-wrap>pre.example-line-numbers,.rustdoc .example-wrap>pre.src-line-numbers{flex-grow:0;overflow:initial;text-align:right;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}.example-line-numbers{border:1px solid;padding:13px 8px;border-top-left-radius:5px;border-bottom-left-radius:5px;border-color:var(--example-line-numbers-border-color);}.src-line-numbers a,.src-line-numbers span{color:var(--src-line-numbers-span-color);}.src-line-numbers :target{background-color:transparent;border-right:none;padding-right:0;}.src-line-numbers .line-highlighted{background-color:var(--src-line-number-highlighted-background-color);}.search-loading{text-align:center;}.docblock-short{overflow-wrap:break-word;overflow-wrap:anywhere;overflow:hidden;text-overflow:ellipsis;}.docblock>:not(pre)>code,.docblock-short>code{white-space:pre-wrap;}.top-doc .docblock h2{font-size:1.375rem;}.top-doc .docblock h3{font-size:1.25rem;}.top-doc .docblock h4,.top-doc .docblock h5{font-size:1.125rem;}.top-doc .docblock h6{font-size:1rem;}.docblock h5{font-size:1rem;}.docblock h6{font-size:0.875rem;}.docblock{margin-left:24px;position:relative;}.docblock>:not(.more-examples-toggle):not(.example-wrap){max-width:100%;overflow-x:auto;}.out-of-band{flex-grow:0;font-size:1.125rem;}.docblock code,.docblock-short code,pre,.rustdoc.source .example-wrap{background-color:var(--code-block-background-color);}#main-content{position:relative;}.docblock table{margin:.5em 0;width:calc(100% - 2px);overflow-x:auto;display:block;border-collapse:collapse;}.docblock table td{padding:.5em;border:1px dashed var(--border-color);vertical-align:top;}.docblock table th{padding:.5em;text-align:left;border:1px solid var(--border-color);}.method .where,.fn .where,.where.fmt-newline{display:block;font-size:0.875rem;}.item-info{display:block;margin-left:24px;}.item-info code{font-size:0.875rem;}#main-content>.item-info{margin-left:0;}nav.sub{flex-grow:1;flex-flow:row nowrap;margin:4px 0 25px 0;display:flex;align-items:center;}.search-form{position:relative;display:flex;height:34px;flex-grow:1;}.source nav.sub{margin:0 0 15px 0;}.source .search-form{margin-left:32px;}a{text-decoration:none;}.small-section-header{display:block;position:relative;}.small-section-header:hover>.anchor{display:initial;}.impl:hover>.anchor,.trait-impl:hover>.anchor,.variant:hover>.anchor{display:inline-block;position:absolute;}.anchor{display:none;position:absolute;left:-0.5em;background:none !important;}.anchor.field{left:-5px;}.small-section-header>.anchor{left:-15px;padding-right:8px;}h2.small-section-header>.anchor{padding-right:6px;}.main-heading a:hover,.example-wrap>pre.rust a:hover,.all-items a:hover,.docblock a:not(.test-arrow):not(.scrape-help):hover,.docblock-short a:not(.test-arrow):not(.scrape-help):hover,.item-info a{text-decoration:underline;}.crate.block a.current{font-weight:500;}table,.item-table{overflow-wrap:break-word;}.item-table{display:table;}.item-row{display:table-row;}.item-left,.item-right{display:table-cell;}.item-left{padding-right:1.25rem;}.search-results-title{margin-top:0;white-space:nowrap;display:flex;align-items:baseline;}#crate-search-div{position:relative;min-width:5em;}#crate-search{min-width:115px;padding:0 23px 0 4px;max-width:100%;text-overflow:ellipsis;border:1px solid var(--border-color);border-radius:4px;outline:none;cursor:pointer;-moz-appearance:none;-webkit-appearance:none;text-indent:0.01px;background-color:var(--main-background-color);color:inherit;line-height:1.5;font-weight:500;}#crate-search:hover,#crate-search:focus{border-color:var(--crate-search-hover-border);}@-moz-document url-prefix(){#crate-search{padding-left:0px;padding-right:19px;}}#crate-search-div::after{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;content:"";background-repeat:no-repeat;background-size:20px;background-position:calc(100% - 2px) 56%;background-image:url("down-arrow-927217e04c7463ac.svg");filter:var(--crate-search-div-filter);}#crate-search-div:hover::after,#crate-search-div:focus-within::after{filter:var(--crate-search-div-hover-filter);}#crate-search>option{font-size:1rem;}.search-input{-webkit-appearance:none;outline:none;border:1px solid var(--border-color);border-radius:2px;padding:8px;font-size:1rem;flex-grow:1;background-color:var(--button-background-color);color:var(--search-color);}.search-input:focus{border-color:var(--search-input-focused-border-color);}.search-results{display:none;}.search-results.active{display:block;}.search-results>a{display:flex;margin-left:2px;margin-right:2px;border-bottom:1px solid var(--search-result-border-color);gap:1em;}.search-results>a>div{flex:1;}.search-results>a>div.desc{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:block;}.search-results a:hover,.search-results a:focus{background-color:var(--search-result-link-focus-background-color);}.search-results .result-name span.alias{color:var(--search-results-alias-color);}.search-results .result-name span.grey{color:var(--search-results-grey-color);}.popover{position:absolute;right:0;z-index:2;display:block;margin-top:7px;border-radius:3px;border:1px solid var(--border-color);--popover-arrow-offset:11px;}.popover::before{content:'';position:absolute;right:var(--popover-arrow-offset);border:solid var(--border-color);border-width:1px 1px 0 0;padding:4px;transform:rotate(-45deg);top:-5px;}.popover,.popover::before{background-color:var(--main-background-color);color:var(--main-color);}#help.popover{max-width:600px;--popover-arrow-offset:48px;}#help dt{float:left;clear:left;margin-right:0.5rem;}#help span.top,#help span.bottom{text-align:center;display:block;font-size:1.125rem;}#help span.top{margin:10px 0;border-bottom:1px solid var(--border-color);padding-bottom:4px;margin-bottom:6px;}#help span.bottom{clear:both;border-top:1px solid var(--border-color);}.side-by-side>div{width:50%;float:left;padding:0 20px 20px 17px;}.item-info .stab{width:fit-content;min-height:36px;display:flex;align-items:center;white-space:pre-wrap;}.stab{padding:3px;margin-bottom:5px;font-size:0.875rem;font-weight:normal;color:var(--main-color);background-color:var(--stab-background-color);}.stab.portability>code{background:none;color:var(--stab-code-color);}.stab .emoji{font-size:1.25rem;margin-right:0.3rem;}.docblock .stab{padding:0 0.125em;margin-bottom:0;}.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:0.875rem;line-height:1.2;margin-bottom:0;margin-left:0.3125em;padding:2px;vertical-align:text-bottom;}.module-item.unstable,.import-item.unstable{opacity:0.65;}.since{font-weight:normal;font-size:initial;}.rightside{padding-left:12px;float:right;}.rightside:not(a),.out-of-band{color:var(--right-side-color);}pre.rust{tab-size:4;-moz-tab-size:4;}pre.rust .kw{color:var(--code-highlight-kw-color);}pre.rust .kw-2{color:var(--code-highlight-kw-2-color);}pre.rust .lifetime{color:var(--code-highlight-lifetime-color);}pre.rust .prelude-ty{color:var(--code-highlight-prelude-color);}pre.rust .prelude-val{color:var(--code-highlight-prelude-val-color);}pre.rust .string{color:var(--code-highlight-string-color);}pre.rust .number{color:var(--code-highlight-number-color);}pre.rust .bool-val{color:var(--code-highlight-literal-color);}pre.rust .self{color:var(--code-highlight-self-color);}pre.rust .attr{color:var(--code-highlight-attribute-color);}pre.rust .macro,pre.rust .macro-nonterminal{color:var(--code-highlight-macro-color);}pre.rust .question-mark{font-weight:bold;color:var(--code-highlight-question-mark-color);}pre.rust .comment{color:var(--code-highlight-comment-color);}pre.rust .doccomment{color:var(--code-highlight-doc-comment-color);}.example-wrap.compile_fail,.example-wrap.should_panic{border-left:2px solid var(--codeblock-error-color);}.ignore.example-wrap{border-left:2px solid var(--codeblock-ignore-color);}.example-wrap.compile_fail:hover,.example-wrap.should_panic:hover{border-left:2px solid var(--codeblock-error-hover-color);}.example-wrap.ignore:hover{border-left:2px solid var(--codeblock-ignore-hover-color);}.example-wrap.compile_fail .tooltip,.example-wrap.should_panic .tooltip{color:var(--codeblock-error-color);}.example-wrap.ignore .tooltip{color:var(--codeblock-ignore-color);}.example-wrap.compile_fail:hover .tooltip,.example-wrap.should_panic:hover .tooltip{color:var(--codeblock-error-hover-color);}.example-wrap.ignore:hover .tooltip{color:var(--codeblock-ignore-hover-color);}.example-wrap .tooltip{position:absolute;display:block;left:-25px;top:5px;}.example-wrap .tooltip::after{display:none;text-align:center;padding:5px 3px 3px 3px;border-radius:6px;margin-left:5px;font-size:1rem;border:1px solid var(--border-color);position:absolute;width:max-content;top:-2px;z-index:1;background-color:var(--tooltip-background-color);color:var(--tooltip-color);}.example-wrap .tooltip::before{content:" ";position:absolute;top:50%;left:16px;margin-top:-5px;display:none;z-index:1;border:5px solid transparent;border-right-color:var(--tooltip-background-color);}.example-wrap.ignore .tooltip::after{content:"This example is not tested";}.example-wrap.compile_fail .tooltip::after{content:"This example deliberately fails to compile";}.example-wrap.should_panic .tooltip::after{content:"This example panics";}.example-wrap.edition .tooltip::after{content:"This code runs with edition " attr(data-edition);}.example-wrap .tooltip:hover::before,.example-wrap .tooltip:hover::after{display:inline;}.example-wrap.compile_fail .tooltip,.example-wrap.should_panic .tooltip,.example-wrap.ignore .tooltip{font-weight:bold;font-size:1.25rem;}a.test-arrow{visibility:hidden;position:absolute;padding:5px 10px 5px 10px;border-radius:5px;font-size:1.375rem;top:5px;right:5px;z-index:1;color:var(--test-arrow-color);background-color:var(--test-arrow-background-color);}a.test-arrow:hover{color:var(--test-arrow-hover-color);background-color:var(--test-arrow-hover-background-color);}.example-wrap:hover .test-arrow{visibility:visible;}.code-attribute{font-weight:300;color:var(--code-attribute-color);}.item-spacer{width:100%;height:12px;}.out-of-band>span.since{font-size:1.25rem;}.sub-variant h4{font-size:1rem;font-weight:400;margin-top:0;margin-bottom:0;}.sub-variant{margin-left:24px;margin-bottom:40px;}.sub-variant>.sub-variant-field{margin-left:24px;}:target{padding-right:3px;background-color:var(--target-background-color);border-right:3px solid var(--target-border-color);}.notable-traits{color:inherit;margin-right:15px;position:relative;}.notable-traits:hover::after{position:absolute;top:calc(100% - 10px);left:-15px;right:-15px;height:20px;content:"\00a0";}.notable .docblock{margin:0.25em 0.5em;}.notable .docblock pre,.notable .docblock code{background:transparent;margin:0;padding:0;font-size:1.25rem;white-space:pre-wrap;}.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{display:flex;flex-direction:row;gap:1px;margin-bottom:4px;}#titles>button{text-align:center;font-size:1.125rem;border:0;border-top:2px solid;flex:1;line-height:1.5;color:inherit;}#titles>button>div.count{display:inline-block;font-size:1rem;}#sidebar-toggle{position:sticky;top:0;left:0;font-size:1.25rem;border-bottom:1px solid;display:flex;height:40px;justify-content:stretch;align-items:stretch;z-index:10;}#source-sidebar{width:100%;overflow:auto;}#source-sidebar>.title{font-size:1.5rem;text-align:center;border-bottom:1px solid var(--border-color);margin-bottom:6px;}#source-sidebar div.files>a:hover,details.dir-entry summary:hover,#source-sidebar div.files>a:focus,details.dir-entry summary:focus{background-color:var(--source-sidebar-background-hover);}#source-sidebar div.files>a.selected{background-color:var(--source-sidebar-background-selected);}#sidebar-toggle>button{font-size:inherit;font-weight:bold;background:none;color:inherit;text-align:center;border:none;outline:none;flex:1 1;-webkit-appearance:none;opacity:1;}#settings-menu,#help-button{margin-left:4px;outline:none;}#settings-menu>a,#help-button>a,#copy-path{width:33px;line-height:1.5;}#settings-menu>a,#help-button>a{padding:5px;height:100%;display:block;background-color:var(--button-background-color);border:1px solid var(--border-color);border-radius:2px;color:var(--settings-button-color);}#settings-menu>a:hover,#settings-menu>a:focus,#help-button>a:hover,#help-button>a:focus{border-color:var(--settings-button-border-focus);}#copy-path{color:var(--copy-path-button-color);background:var(--main-background-color);height:34px;margin-left:10px;padding:0;padding-left:2px;border:0;}#copy-path>img{filter:var(--copy-path-img-filter);}#copy-path:hover>img{filter:var(--copy-path-img-hover-filter);}@keyframes rotating{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}#settings-menu.rotate>a img{animation:rotating 2s linear infinite;}#help-button>a{text-align:center;font-size:20px;padding-top:2px;}kbd{display:inline-block;padding:3px 5px;font:15px monospace;line-height:10px;vertical-align:middle;border:solid 1px var(--border-color);border-radius:3px;cursor:default;color:var(--kbd--color);background-color:var(--kbd-background);box-shadow:inset 0 -1px 0 var(--kbd-box-shadow-color);}ul.all-items>li{list-style:none;}details.dir-entry{padding-left:4px;}details.dir-entry>summary::after{content:" ►";position:absolute;left:-15px;top:0px;font-size:80%;padding:2px 0px;width:25px;}details[open].dir-entry>summary::after{content:" ▼";}details.dir-entry>summary::-webkit-details-marker,details.dir-entry>summary::marker{display:none;}details.dir-entry>summary{margin:0 0 0 13px;list-style:none;cursor:pointer;position:relative;}details.dir-entry div.folders,details.dir-entry div.files{padding-left:23px;}details.dir-entry a{display:block;}details.rustdoc-toggle{contain:layout;position:relative;}details.rustdoc-toggle>summary.hideme{cursor:pointer;}details.rustdoc-toggle>summary{list-style:none;outline:none;}details.rustdoc-toggle>summary::-webkit-details-marker,details.rustdoc-toggle>summary::marker{display:none;}details.rustdoc-toggle>summary.hideme>span{margin-left:9px;}details.rustdoc-toggle>summary::before{background:url("toggle-plus-1092eb4930d581b0.svg") no-repeat top left;content:"";cursor:pointer;width:16px;height:16px;display:inline-block;vertical-align:middle;opacity:.5;}details.rustdoc-toggle>summary.hideme>span,.more-examples-toggle summary,.more-examples-toggle .hide-more{color:var(--toggles-color);}details.rustdoc-toggle>summary::after{content:"Expand";overflow:hidden;width:0;height:0;position:absolute;}details.rustdoc-toggle>summary.hideme::after{content:"";}details.rustdoc-toggle>summary:focus::before,details.rustdoc-toggle>summary:hover::before{opacity:1;}details.rustdoc-toggle>summary:focus-visible::before{outline:1px dotted #000;outline-offset:1px;}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-size:1rem;}details.non-exhaustive{margin-bottom:8px;}details.rustdoc-toggle>summary.hideme::before{position:relative;}details.rustdoc-toggle>summary:not(.hideme)::before{position:absolute;left:-24px;top:4px;}.impl-items>details.rustdoc-toggle>summary:not(.hideme)::before{position:absolute;left:-24px;}details.rustdoc-toggle[open] >summary.hideme{position:absolute;}details.rustdoc-toggle[open] >summary.hideme>span{display:none;}details.rustdoc-toggle[open] >summary::before,details.rustdoc-toggle[open] >summary.hideme::before{background:url("toggle-minus-31bbd6e4c77f5c96.svg") no-repeat top left;width:16px;height:16px;display:inline-block;content:"";}details.rustdoc-toggle[open] >summary::after,details.rustdoc-toggle[open] >summary.hideme::after{content:"Collapse";}.docblock summary>*{display:inline-block;}.docblock>.example-wrap:first-child .tooltip{margin-top:16px;}@media (max-width:700px){*[id]{scroll-margin-top:45px;}.rustdoc{display:block;}main{padding-left:15px;padding-top:0px;}.main-heading{flex-direction:column;}.out-of-band{text-align:left;margin-left:initial;padding:initial;}.out-of-band .since::before{content:"Since ";}#copy-path{display:none;}.sidebar .sidebar-logo,.sidebar .location{display:none;}.sidebar{position:fixed;top:45px;left:-1000px;margin:0;padding:0;z-index:11;height:calc(100vh - 45px);width:200px;}.source main,.rustdoc.source .sidebar{top:0;padding:0;height:100vh;border:0;}.sidebar.shown,.source-sidebar-expanded .source .sidebar,.sidebar:focus-within{left:0;}.rustdoc.source>.sidebar{width:0;}.mobile-topbar h2{padding-bottom:0;margin:auto 0.5em auto auto;overflow:hidden;font-size:24px;}.mobile-topbar h2 a{display:block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;}.mobile-topbar .logo-container>img{max-width:35px;max-height:35px;margin:5px 0 5px 20px;}.mobile-topbar{display:flex;flex-direction:row;position:sticky;z-index:10;font-size:2rem;height:45px;width:100%;left:0;top:0;}.sidebar-menu-toggle{width:45px;font-size:32px;border:none;color:var(--main-color);}.sidebar-elems{margin-top:1em;}.content{margin-left:0px;}.anchor{display:none !important;}#titles>button>div.count{display:block;}#main-content>details.rustdoc-toggle>summary::before,#main-content>div>details.rustdoc-toggle>summary::before{left:-11px;}#sidebar-toggle{position:fixed;left:1px;top:100px;width:30px;font-size:1.5rem;text-align:center;padding:0;z-index:10;border-top-right-radius:3px;border-bottom-right-radius:3px;border:1px solid;border-left:0;}.source-sidebar-expanded #sidebar-toggle{left:unset;top:unset;width:unset;border-top-right-radius:unset;border-bottom-right-radius:unset;position:sticky;border:0;border-bottom:1px solid;}#help-button{display:none;}.item-table,.item-row,.item-left,.item-right,.search-results>a,.search-results>a>div{display:block;}.search-results>a{padding:5px 0px;}.search-results>a>div.desc,.item-right{padding-left:2em;}.source-sidebar-expanded .source .sidebar{max-width:100vw;width:100vw;}details.rustdoc-toggle:not(.top-doc)>summary{margin-left:10px;}.impl-items>details.rustdoc-toggle>summary:not(.hideme)::before,#main-content>details.rustdoc-toggle:not(.top-doc)>summary::before,#main-content>div>details.rustdoc-toggle>summary::before{left:-11px;}.impl-items>.item-info{margin-left:34px;}.source nav.sub{margin:0;padding:8px;}}@media print{nav.sidebar,nav.sub,.out-of-band,a.srclink,#copy-path,details.rustdoc-toggle[open] >summary::before,details.rustdoc-toggle>summary::before,details.rustdoc-toggle.top-doc>summary{display:none;}.docblock{margin-left:0;}main{padding:10px;}}@media (max-width:464px){.docblock{margin-left:12px;}.docblock code{overflow-wrap:break-word;overflow-wrap:anywhere;}nav.sub{flex-direction:column;}.search-form{align-self:stretch;}.sub-logo-container>img{height:35px;width:35px;}#sidebar-toggle{top:10px;}.source-sidebar-expanded #sidebar-toggle{top:unset;}}.variant,.implementors-toggle>summary,.impl,#implementors-list>.docblock,.impl-items>section,.impl-items>.rustdoc-toggle>summary,.methods>section,.methods>.rustdoc-toggle>summary{margin-bottom:0.75em;}.variants>.docblock,.impl-items>.rustdoc-toggle[open]:not(:last-child),.methods>.rustdoc-toggle[open]:not(:last-child),.implementors-toggle[open]:not(:last-child){margin-bottom:2em;}#trait-implementations-list .impl-items>.rustdoc-toggle:not(:last-child),#synthetic-implementations-list .impl-items>.rustdoc-toggle:not(:last-child),#blanket-implementations-list .impl-items>.rustdoc-toggle:not(:last-child){margin-bottom:1em;}.scraped-example-list .scrape-help{margin-left:10px;padding:0 4px;font-weight:normal;font-size:12px;position:relative;bottom:1px;border-width:1px;border-style:solid;border-radius:50px;}.scraped-example .code-wrapper{position:relative;display:flex;flex-direction:row;flex-wrap:wrap;width:100%;}.scraped-example:not(.expanded) .code-wrapper{max-height:240px;}.scraped-example:not(.expanded) .code-wrapper pre{overflow-y:hidden;max-height:240px;padding-bottom:0;}.scraped-example .code-wrapper .next,.scraped-example .code-wrapper .prev,.scraped-example .code-wrapper .expand{position:absolute;top:0.25em;z-index:1;padding:0;background:none;border:none;-webkit-appearance:none;opacity:1;}.scraped-example .code-wrapper .prev{right:2.25em;}.scraped-example .code-wrapper .next{right:1.25em;}.scraped-example .code-wrapper .expand{right:0.25em;}.scraped-example:not(.expanded) .code-wrapper:before,.scraped-example:not(.expanded) .code-wrapper:after{content:" ";width:100%;height:5px;position:absolute;z-index:1;}.scraped-example:not(.expanded) .code-wrapper:before{top:0;}.scraped-example:not(.expanded) .code-wrapper:after{bottom:0;}.scraped-example .code-wrapper .src-line-numbers{margin:0;padding:14px 0;}.scraped-example .code-wrapper .src-line-numbers a,.scraped-example .code-wrapper .src-line-numbers span{padding:0 14px;}.scraped-example .code-wrapper .example-wrap{flex:1;overflow-x:auto;overflow-y:hidden;margin-bottom:0;}.scraped-example:not(.expanded) .code-wrapper .example-wrap{overflow-x:hidden;}.scraped-example .code-wrapper .example-wrap pre.rust{overflow-x:inherit;width:inherit;overflow-y:hidden;}.more-examples-toggle{max-width:calc(100% + 25px);margin-top:10px;margin-left:-25px;}.more-examples-toggle .hide-more{margin-left:25px;margin-bottom:5px;cursor:pointer;}.more-scraped-examples{margin-left:5px;display:flex;flex-direction:row;}.more-scraped-examples-inner{width:calc(100% - 20px);}.toggle-line{align-self:stretch;margin-right:10px;margin-top:5px;padding:0 4px;cursor:pointer;}.toggle-line-inner{min-width:2px;height:100%;}.more-scraped-examples .scraped-example{margin-bottom:20px;}.more-scraped-examples .scraped-example:last-child{margin-bottom:0;}.example-links a{margin-top:20px;}.example-links ul{margin-bottom:0;} \ No newline at end of file diff --git a/static.files/rustdoc-eabf764633b9d7be.css b/static.files/rustdoc-eabf764633b9d7be.css deleted file mode 100644 index 6a068a3d2..000000000 --- a/static.files/rustdoc-eabf764633b9d7be.css +++ /dev/null @@ -1,2123 +0,0 @@ -/* See FiraSans-LICENSE.txt for the Fira Sans license. */ -@font-face { - font-family: 'Fira Sans'; - font-style: normal; - font-weight: 400; - src: local('Fira Sans'), - url("FiraSans-Regular-018c141bf0843ffd.woff2") format("woff2"); - font-display: swap; -} -@font-face { - font-family: 'Fira Sans'; - font-style: normal; - font-weight: 500; - src: local('Fira Sans Medium'), - url("FiraSans-Medium-8f9a781e4970d388.woff2") format("woff2"); - font-display: swap; -} - -/* See SourceSerif4-LICENSE.md for the Source Serif 4 license. */ -@font-face { - font-family: 'Source Serif 4'; - font-style: normal; - font-weight: 400; - src: local('Source Serif 4'), - url("SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2") format("woff2"); - 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-d034fe4ef9d0fa00.ttf.woff2") format("woff2"); - 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-124a1ca42af929b6.ttf.woff2") format("woff2"); - font-display: swap; -} - -/* See SourceCodePro-LICENSE.txt for the Source Code Pro license. */ -@font-face { - font-family: 'Source Code Pro'; - font-style: normal; - font-weight: 400; - /* Avoid using locally installed font because bad versions are in circulation: - * see https://github.com/rust-lang/rust/issues/24355 */ - src: url("SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2") format("woff2"); - font-display: swap; -} -@font-face { - font-family: 'Source Code Pro'; - font-style: italic; - font-weight: 400; - src: url("SourceCodePro-It-1cc31594bf4f1f79.ttf.woff2") format("woff2"); - font-display: swap; -} -@font-face { - font-family: 'Source Code Pro'; - font-style: normal; - font-weight: 600; - src: url("SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2") format("woff2"); - font-display: swap; -} - -/* Avoid using legacy CJK serif fonts in Windows like Batang. */ -@font-face { - font-family: 'NanumBarunGothic'; - src: url("NanumBarunGothic-0f09457c7a19b7c6.ttf.woff2") format("woff2"); - font-display: swap; - unicode-range: U+AC00-D7AF, U+1100-11FF, U+3130-318F, U+A960-A97F, U+D7B0-D7FF; -} - -* { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} - -/* This part handles the "default" theme being used depending on the system one. */ -html { - content: ""; -} -@media (prefers-color-scheme: light) { - html { - content: "light"; - } -} -@media (prefers-color-scheme: dark) { - html { - content: "dark"; - } -} - -/* General structure and fonts */ - -body { - /* Line spacing at least 1.5 per Web Content Accessibility Guidelines - https://www.w3.org/WAI/WCAG21/Understanding/visual-presentation.html */ - font: 1rem/1.5 "Source Serif 4", NanumBarunGothic, serif; - margin: 0; - position: relative; - /* We use overflow-wrap: break-word for Safari, which doesn't recognize - `anywhere`: https://developer.mozilla.org/en-US/docs/Web/CSS/overflow-wrap */ - overflow-wrap: break-word; - /* Then override it with `anywhere`, which is required to make non-Safari browsers break - more aggressively when we want them to. */ - overflow-wrap: anywhere; - - -webkit-font-feature-settings: "kern", "liga"; - -moz-font-feature-settings: "kern", "liga"; - font-feature-settings: "kern", "liga"; - - background-color: var(--main-background-color); - color: var(--main-color); -} - -h1 { - font-size: 1.5rem; /* 24px */ -} -h2 { - font-size: 1.375rem; /* 22px */ -} -h3 { - font-size: 1.25rem; /* 20px */ -} -h1, h2, h3, h4, h5, h6 { - font-weight: 500; -} -h1, h2, h3, h4 { - margin: 25px 0 15px 0; - padding-bottom: 6px; -} -.docblock h3, .docblock h4, h5, h6 { - margin: 15px 0 5px 0; -} -.docblock > h2:first-child, -.docblock > h3:first-child, -.docblock > h4:first-child, -.docblock > h5:first-child, -.docblock > h6:first-child { - margin-top: 0; -} -h1.fqn { - margin: 0; - padding: 0; - flex-grow: 1; - /* We use overflow-wrap: break-word for Safari, which doesn't recognize - `anywhere`: https://developer.mozilla.org/en-US/docs/Web/CSS/overflow-wrap */ - overflow-wrap: break-word; - /* Then override it with `anywhere`, which is required to make non-Safari browsers break - more aggressively when we want them to. */ - overflow-wrap: anywhere; -} -.main-heading { - display: flex; - flex-wrap: wrap; - justify-content: space-between; - padding-bottom: 6px; - margin-bottom: 15px; -} -/* The only headings that get underlines are: - Markdown-generated headings within the top-doc - Rustdoc-generated h2 section headings (e.g. "Implementations", "Required Methods", etc) - Underlines elsewhere in the documentation break up visual flow and tend to invert - section hierarchies. */ -.content h2, -.top-doc .docblock > h3, -.top-doc .docblock > h4 { - border-bottom: 1px solid var(--headings-border-bottom-color); -} -h3.code-header { - font-size: 1.125rem; /* 18px */ -} -h4.code-header { - font-size: 1rem; -} -.code-header { - font-weight: 600; - margin: 0; - padding: 0; - /* position notable traits in mobile mode within the header */ - position: relative; -} - -#crate-search, -h1, h2, h3, h4, h5, h6, -.sidebar, -.mobile-topbar, -.search-input, -.search-results .result-name, -.item-left > a, -.out-of-band, -span.since, -a.srclink, -#help-button > a, -details.rustdoc-toggle.top-doc > summary, -details.rustdoc-toggle.non-exhaustive > summary, -.scraped-example-title, -.more-examples-toggle summary, .more-examples-toggle .hide-more, -.example-links a, -/* This selector is for the items listed in the "all items" page. */ -ul.all-items { - font-family: "Fira Sans", Arial, NanumBarunGothic, sans-serif; -} - -#toggle-all-docs, -a.anchor, -.small-section-header a, -#source-sidebar a, -pre.rust a, -.sidebar h2 a, -.sidebar h3 a, -.mobile-topbar h2 a, -h1 a, -.search-results a, -.module-item .stab, -.import-item .stab, -.result-name .primitive > i, .result-name .keyword > i, -.method .where, -.fn .where, -.where.fmt-newline { - color: var(--main-color); -} - -.content span.enum, .content a.enum, -.content span.struct, .content a.struct, -.content span.union, .content a.union, -.content span.primitive, .content a.primitive, -.content span.type, .content a.type, -.content span.foreigntype, .content a.foreigntype { - color: var(--type-link-color); -} - -.content span.trait, .content a.trait, -.content span.traitalias, .content a.traitalias { - color: var(--trait-link-color); -} - -.content span.associatedtype, .content a.associatedtype, -.content span.constant, .content a.constant, -.content span.static, .content a.static { - color: var(--assoc-item-link-color); -} - -.content span.fn, .content a.fn, -.content .fnname, -.content span.method, .content a.method, -.content span.tymethod, .content a.tymethod { - color: var(--function-link-color); -} - -.content span.attr, .content a.attr, -.content span.derive, .content a.derive, -.content span.macro, .content a.macro { - color: var(--macro-link-color); -} - -.content span.mod, .content a.mod { - color: var(--mod-link-color); -} - -.content span.keyword, .content a.keyword { - color: var(--keyword-link-color); -} - -a { - color: var(--link-color); -} - -ol, ul { - padding-left: 24px; -} -ul ul, ol ul, ul ol, ol ol { - margin-bottom: .625em; -} - -p { - /* Paragraph spacing at least 1.5 times line spacing per Web Content Accessibility Guidelines. - Line-height is 1.5rem, so line spacing is .5rem; .75em is 1.5 times that. - https://www.w3.org/WAI/WCAG21/Understanding/visual-presentation.html */ - margin: 0 0 .75em 0; -} -/* For the last child of a div, the margin will be taken care of - by the margin-top of the next item. */ -p:last-child { - margin: 0; -} - -/* Fix some style changes due to normalize.css 8 */ - -button { - /* Buttons on Safari have different default padding than other platforms. Make them the same. */ - padding: 1px 6px; -} - -button#toggle-all-docs { - padding: 0; - background: none; - border: none; - cursor: pointer; - /* iOS button gradient: https://stackoverflow.com/q/5438567 */ - -webkit-appearance: none; - opacity: 1; -} - -/* end tweaks for normalize.css 8 */ - -.rustdoc { - display: flex; - flex-direction: row; - flex-wrap: nowrap; -} - -main { - position: relative; - flex-grow: 1; - padding: 10px 15px 40px 45px; - min-width: 0; -} - -.source main { - padding: 15px; -} - -.width-limiter { - max-width: 960px; - margin-right: auto; -} - -.source .width-limiter { - max-width: unset; -} - -details:not(.rustdoc-toggle) summary { - margin-bottom: .6em; -} - -code, pre, a.test-arrow, .code-header { - font-family: "Source Code Pro", monospace; -} -.docblock code, .docblock-short code { - border-radius: 3px; - padding: 0 0.125em; -} -.docblock pre code, .docblock-short pre code { - padding: 0; -} -pre { - padding: 14px; -} -.item-decl pre { - overflow-x: auto; -} - -.source .content pre { - padding: 20px; -} - -img { - max-width: 100%; -} - -.source .content { - overflow: visible; -} - -.sub-logo-container, .logo-container { - /* zero text boxes so that computed line height = image height exactly */ - line-height: 0; -} - -.sub-logo-container > img { - height: 60px; - width: 60px; - object-fit: contain; -} - -.rust-logo { - filter: var(--rust-logo-filter); -} - -.sidebar, .mobile-topbar, .sidebar-menu-toggle { - background-color: var(--sidebar-background-color); -} - -.sidebar { - font-size: 0.875rem; - width: 200px; - min-width: 200px; - overflow-y: scroll; - position: sticky; - height: 100vh; - top: 0; - left: 0; -} - -.rustdoc.source .sidebar { - width: 50px; - min-width: 0px; - max-width: 300px; - flex-grow: 0; - flex-shrink: 0; - flex-basis: auto; - border-right: 1px solid; - overflow-x: hidden; - /* The sidebar is by default hidden */ - overflow-y: hidden; -} - -.source .sidebar, #sidebar-toggle, #source-sidebar { - background-color: var(--sidebar-background-color); -} - -#sidebar-toggle > button:hover, #sidebar-toggle > button:focus { - background-color: var(--sidebar-background-color-hover); -} - -.source .sidebar > *:not(#sidebar-toggle) { - visibility: hidden; -} - -.source-sidebar-expanded .source .sidebar { - overflow-y: auto; - width: 300px; -} - -.source-sidebar-expanded .source .sidebar > *:not(#sidebar-toggle) { - visibility: visible; -} - -#all-types { - margin-top: 1em; -} - -/* Improve the scrollbar display on firefox */ -* { - scrollbar-width: initial; - scrollbar-color: var(--scrollbar-color); -} -.sidebar { - scrollbar-width: thin; - scrollbar-color: var(--scrollbar-color); -} - -/* Improve the scrollbar display on webkit-based browsers */ -::-webkit-scrollbar { - width: 12px; -} -.sidebar::-webkit-scrollbar { - width: 8px; -} -::-webkit-scrollbar-track { - -webkit-box-shadow: inset 0; - background-color: var(--scrollbar-track-background-color); -} -.sidebar::-webkit-scrollbar-track { - background-color: var(--scrollbar-track-background-color); -} -::-webkit-scrollbar-thumb, .sidebar::-webkit-scrollbar-thumb { - background-color: var(--scrollbar-thumb-background-color); -} - -/* Everything else */ - -.hidden { - display: none !important; -} - -.sidebar .logo-container { - margin-top: 10px; - margin-bottom: 10px; - text-align: center; -} - -.version { - overflow-wrap: break-word; -} - -.logo-container > img { - height: 100px; - width: 100px; -} - -ul.block, .block li { - padding: 0; - margin: 0; - list-style: none; -} - -.block a, -.sidebar h2 a, -.sidebar h3 a { - display: block; - padding: 0.25rem; - margin-left: -0.25rem; - - text-overflow: ellipsis; - overflow: hidden; -} - -.sidebar h2 { - overflow-wrap: anywhere; - padding: 0; - margin: 0.7rem 0; -} - -.sidebar h3 { - font-size: 1.125rem; /* 18px */ - padding: 0; - margin: 0; -} - -.sidebar-elems, -.sidebar > h2 { - padding-left: 24px; -} - -.sidebar a, .sidebar .current { - color: var(--sidebar-link-color); -} -.sidebar .current, -.sidebar a:hover { - background-color: var(--sidebar-current-link-background-color); -} - -.sidebar-elems .block { - margin-bottom: 2em; -} - -.sidebar-elems .block li a { - white-space: nowrap; -} - -.mobile-topbar { - display: none; -} - -.source .content pre.rust { - overflow: auto; - padding-left: 0; -} - -.rustdoc .example-wrap { - display: flex; - position: relative; - margin-bottom: 10px; -} -/* For the last child of a div, the margin will be taken care of - by the margin-top of the next item. */ -.rustdoc .example-wrap:last-child { - margin-bottom: 0px; -} - -.rustdoc .example-wrap > pre { - margin: 0; - flex-grow: 1; - overflow-x: auto; -} - -.rustdoc .example-wrap > pre.example-line-numbers, -.rustdoc .example-wrap > pre.src-line-numbers { - flex-grow: 0; - overflow: initial; - text-align: right; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.example-line-numbers { - border: 1px solid; - padding: 13px 8px; - border-top-left-radius: 5px; - border-bottom-left-radius: 5px; - border-color: var(--example-line-numbers-border-color); -} - -.src-line-numbers span { - cursor: pointer; - color: var(--src-line-numbers-span-color); -} -.src-line-numbers .line-highlighted { - background-color: var(--src-line-number-highlighted-background-color); -} -.src-line-numbers :target { - background-color: transparent; -} - -.search-loading { - text-align: center; -} - -.docblock-short { - overflow-wrap: break-word; - overflow-wrap: anywhere; - overflow: hidden; - text-overflow: ellipsis; -} -/* Wrap non-pre code blocks (`text`) but not (```text```). */ -.docblock > :not(pre) > code, -.docblock-short > code { - white-space: pre-wrap; -} - -.top-doc .docblock h2 { font-size: 1.375rem; } -.top-doc .docblock h3 { font-size: 1.25rem; } -.top-doc .docblock h4, -.top-doc .docblock h5 { - font-size: 1.125rem; -} -.top-doc .docblock h6 { - font-size: 1rem; -} - -.docblock h5 { font-size: 1rem; } -.docblock h6 { font-size: 0.875rem; } - -.docblock { - margin-left: 24px; - position: relative; -} - -.docblock > :not(.more-examples-toggle):not(.example-wrap) { - max-width: 100%; - overflow-x: auto; -} - -.out-of-band { - flex-grow: 0; - font-size: 1.125rem; -} - -.docblock code, .docblock-short code, -pre, .rustdoc.source .example-wrap { - background-color: var(--code-block-background-color); -} - -#main-content { - position: relative; -} - -.docblock table { - margin: .5em 0; - width: calc(100% - 2px); - overflow-x: auto; - display: block; - border-collapse: collapse; -} - -.docblock table td { - padding: .5em; - border: 1px dashed var(--border-color); - vertical-align: top; -} - -.docblock table th { - padding: .5em; - text-align: left; - border: 1px solid var(--border-color); -} - -/* Shift "where ..." part of method or fn definition down a line */ -.method .where, -.fn .where, -.where.fmt-newline { - display: block; - font-size: 0.875rem; -} - -.item-info { - display: block; - margin-left: 24px; -} - -.item-info code { - font-size: 0.875rem; -} - -#main-content > .item-info { - margin-left: 0; -} - -nav.sub { - flex-grow: 1; - flex-flow: row nowrap; - margin: 4px 0 25px 0; - display: flex; - align-items: center; -} -.search-form { - position: relative; - display: flex; - height: 34px; - flex-grow: 1; -} -.source nav.sub { - margin: 0 0 15px 0; -} -.source .search-form { - margin-left: 32px; -} - -a { - text-decoration: none; -} - -.small-section-header { - display: flex; - justify-content: space-between; - position: relative; -} - -.small-section-header:hover > .anchor { - display: initial; -} - -.impl:hover > .anchor, .trait-impl:hover > .anchor { - display: inline-block; - position: absolute; -} -.anchor { - display: none; - position: absolute; - left: -0.5em; - background: none !important; -} -.anchor.field { - left: -5px; -} -.small-section-header > .anchor { - left: -15px; - padding-right: 8px; -} -h2.small-section-header > .anchor { - padding-right: 6px; -} -.anchor::before { - content: '§'; -} - -.main-heading a:hover, -.example-wrap > pre.rust a:hover, -.all-items a:hover, -.docblock a:not(.test-arrow):not(.scrape-help):hover, -.docblock-short a:not(.test-arrow):not(.scrape-help):hover, -.item-info a { - text-decoration: underline; -} - -.crate.block a.current { font-weight: 500; } - -/* In most contexts we use `overflow-wrap: anywhere` to ensure that we can wrap - as much as needed on mobile (see - src/test/rustdoc-gui/type-declaration-overflow.goml for an example of why - this matters). The `anywhere` value means: - - "Soft wrap opportunities introduced by the word break are considered when - calculating min-content intrinsic sizes." - - https://developer.mozilla.org/en-US/docs/Web/CSS/overflow-wrap#values - - For table layouts, that becomes a problem: the browser tries to make each - column as narrow as possible, and `overflow-wrap: anywhere` means it can do - so by breaking words - even if some other column could be shrunk without - breaking words! This shows up, for instance, in the `Structs` / `Modules` / - `Functions` (etcetera) sections of a module page, and when a docblock - contains a table. - - So, for table layouts, override the default with break-word, which does - _not_ affect min-content intrinsic sizes. -*/ -table, -.item-table { - overflow-wrap: break-word; -} - -.item-table { - display: table; -} -.item-row { - display: table-row; -} -.item-left, .item-right { - display: table-cell; -} -.item-left { - padding-right: 1.25rem; -} - -.search-results-title { - margin-top: 0; - white-space: nowrap; - /* flex layout allows shrinking the -element "#crate-search") to be shrunk */ - min-width: 5em; -} -#crate-search { - min-width: 115px; - /* keep these two in sync with "@-moz-document url-prefix()" below */ - padding: 0 23px 0 4px; - /* prevents the s */ -@-moz-document url-prefix() { - #crate-search { - padding-left: 0px; /* == 4px - 4px */ - padding-right: 19px; /* == 23px - 4px */ - } -} -/* pseudo-element for holding the dropdown-arrow image; needs to be a separate thing -so that we can apply CSS-filters to change the arrow color in themes */ -#crate-search-div::after { - /* lets clicks through! */ - pointer-events: none; - /* completely covers the underlying div */ - width: 100%; - height: 100%; - position: absolute; - top: 0; - left: 0; - content: ""; - background-repeat: no-repeat; - background-size: 20px; - background-position: calc(100% - 2px) 56%; - /* image is black color */ - background-image: url("down-arrow-927217e04c7463ac.svg"); - /* changes the arrow image color */ - filter: var(--crate-search-div-filter); -} -#crate-search-div:hover::after, #crate-search-div:focus-within::after { - filter: var(--crate-search-div-hover-filter); -} -#crate-search > option { - font-size: 1rem; -} -.search-input { - /* Override Normalize.css: it has a rule that sets - -webkit-appearance: textfield for search inputs. That - causes rounded corners and no border on iOS Safari. */ - -webkit-appearance: none; - outline: none; - border: 1px solid var(--border-color); - border-radius: 2px; - padding: 8px; - font-size: 1rem; - flex-grow: 1; - background-color: var(--button-background-color); - color: var(--search-color); -} -.search-input:focus { - border-color: var(--search-input-focused-border-color); -} - -.search-results { - display: none; -} - -.search-results.active { - display: block; -} - -.search-results > a { - display: flex; - /* A little margin ensures the browser's outlining of focused links has room to display. */ - margin-left: 2px; - margin-right: 2px; - border-bottom: 1px solid var(--search-result-border-color); - gap: 1em; -} - -.search-results > a > div { - flex: 1; -} - -.search-results > a > div.desc { - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; - display: block; -} - -.search-results a:hover, -.search-results a:focus { - background-color: var(--search-result-link-focus-background-color); -} - -.popover { - font-size: 1rem; - position: absolute; - right: 0; - z-index: 2; - display: block; - margin-top: 7px; - border-radius: 3px; - border: 1px solid var(--border-color); - font-size: 1rem; -} - -/* This rule is to draw the little arrow connecting the settings menu to the gear icon. */ -.popover::before { - content: ''; - position: absolute; - right: 11px; - border: solid var(--border-color); - border-width: 1px 1px 0 0; - display: inline-block; - padding: 4px; - transform: rotate(-45deg); - top: -5px; -} - -.popover, .popover::before { - background-color: var(--main-background-color); - color: var(--main-color); -} - -/* use larger max-width for help popover, but not for help.html */ -#help.popover { - max-width: 600px; -} - -#help.popover::before { - right: 48px; -} - -#help dt { - float: left; - clear: left; - display: block; - margin-right: 0.5rem; -} -#help span.top, #help span.bottom { - text-align: center; - display: block; - font-size: 1.125rem; -} -#help span.top { - margin: 10px 0; - border-bottom: 1px solid var(--border-color); - padding-bottom: 4px; - margin-bottom: 6px; -} -#help span.bottom { - clear: both; - border-top: 1px solid var(--border-color); -} -.side-by-side > div { - width: 50%; - float: left; - padding: 0 20px 20px 17px; -} - -.item-info .stab { - width: fit-content; - /* This min-height is needed to unify the height of the stab elements because some of them - have emojis. - */ - min-height: 36px; - display: flex; - align-items: center; - white-space: pre-wrap; -} -.stab { - padding: 3px; - margin-bottom: 5px; - font-size: 0.875rem; - font-weight: normal; - color: var(--main-color); - background-color: var(--stab-background-color); -} - -.stab.portability > code { - background: none; - color: var(--stab-code-color); -} - -.stab .emoji { - font-size: 1.25rem; - margin-right: 0.3rem; -} - -/* This is to prevent the `.stab` elements to overflow the .docblock elements. */ -.docblock .stab { - padding: 0 0.125em; - margin-bottom: 0; -} - -/* Black one-pixel outline around emoji shapes */ -.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: 0.875rem; - line-height: 1.2; - margin-bottom: 0; - margin-left: 0.3125em; - padding: 2px; - vertical-align: text-bottom; -} - -.module-item.unstable, -.import-item.unstable { - opacity: 0.65; -} - -.since { - font-weight: normal; - font-size: initial; -} - -.rightside { - padding-left: 12px; - padding-right: 2px; - float: right; -} - -.rightside:not(a), -.out-of-band { - color: var(--right-side-color); -} - -pre.rust { - tab-size: 4; - -moz-tab-size: 4; -} - -/* Code highlighting */ -pre.rust .kw { - color: var(--code-highlight-kw-color); -} -pre.rust .kw-2 { - color: var(--code-highlight-kw-2-color); -} -pre.rust .lifetime { - color: var(--code-highlight-lifetime-color); -} -pre.rust .prelude-ty { - color: var(--code-highlight-prelude-color); -} -pre.rust .prelude-val { - color: var(--code-highlight-prelude-val-color); -} -pre.rust .string { - color: var(--code-highlight-string-color); -} -pre.rust .number { - color: var(--code-highlight-number-color); -} -pre.rust .bool-val { - color: var(--code-highlight-literal-color); -} -pre.rust .self { - color: var(--code-highlight-self-color); -} -pre.rust .attr { - color: var(--code-highlight-attribute-color); -} -pre.rust .macro, -pre.rust .macro-nonterminal { - color: var(--code-highlight-macro-color); -} -pre.rust .question-mark { - font-weight: bold; - color: var(--code-highlight-question-mark-color); -} -pre.rust .comment { - color: var(--code-highlight-comment-color); -} -pre.rust .doccomment { - color: var(--code-highlight-doc-comment-color); -} - -.example-wrap.compile_fail, -.example-wrap.should_panic { - border-left: 2px solid var(--codeblock-error-color); -} - -.ignore.example-wrap { - border-left: 2px solid var(--codeblock-ignore-color); -} - -.example-wrap.compile_fail:hover, -.example-wrap.should_panic:hover { - border-left: 2px solid var(--codeblock-error-hover-color); -} - -.example-wrap.ignore:hover { - border-left: 2px solid var(--codeblock-ignore-hover-color); -} - -.example-wrap.compile_fail .tooltip, -.example-wrap.should_panic .tooltip { - color: var(--codeblock-error-color); -} - -.example-wrap.ignore .tooltip { - color: var(--codeblock-ignore-color); -} - -.example-wrap.compile_fail:hover .tooltip, -.example-wrap.should_panic:hover .tooltip { - color: var(--codeblock-error-hover-color); -} - -.example-wrap.ignore:hover .tooltip { - color: var(--codeblock-ignore-hover-color); -} - -.example-wrap .tooltip { - position: absolute; - display: block; - cursor: pointer; - left: -25px; - top: 5px; -} - -.example-wrap .tooltip::after { - display: none; - text-align: center; - padding: 5px 3px 3px 3px; - border-radius: 6px; - margin-left: 5px; - font-size: 1rem; - border: 1px solid var(--border-color); - position: absolute; - width: max-content; - top: -2px; - z-index: 1; -} - -.example-wrap .tooltip::before { - content: " "; - position: absolute; - top: 50%; - left: 16px; - margin-top: -5px; - border-width: 5px; - border-style: solid; - display: none; - z-index: 1; -} - -.example-wrap.ignore .tooltip::after { - content: "This example is not tested"; -} -.example-wrap.compile_fail .tooltip::after { - content: "This example deliberately fails to compile"; -} -.example-wrap.should_panic .tooltip::after { - content: "This example panics"; -} -.example-wrap.edition .tooltip::after { - content: "This code runs with edition " attr(data-edition); -} - -.example-wrap .tooltip:hover::before, .example-wrap .tooltip:hover::after { - display: inline; -} - -.example-wrap.compile_fail .tooltip, -.example-wrap.should_panic .tooltip, -.example-wrap.ignore .tooltip { - font-weight: bold; - font-size: 1.25rem; -} - -a.test-arrow { - display: inline-block; - visibility: hidden; - position: absolute; - padding: 5px 10px 5px 10px; - border-radius: 5px; - font-size: 1.375rem; - top: 5px; - right: 5px; - z-index: 1; - color: var(--test-arrow-color); - background-color: var(--test-arrow-background-color); -} -a.test-arrow:hover { - color: var(--test-arrow-hover-color); - background-color: var(--test-arrow-hover-background-color); -} -.example-wrap:hover .test-arrow { - visibility: visible; -} - -.code-attribute { - font-weight: 300; - color: var(--code-attribute-color); -} - -.item-spacer { - width: 100%; - height: 12px; -} - -.out-of-band > span.since { - font-size: 1.25rem; -} - -h3.variant { - font-weight: 600; - font-size: 1.125rem; - margin-bottom: 10px; -} - -.sub-variant h4 { - font-size: 1rem; - font-weight: 400; - margin-top: 0; - margin-bottom: 0; -} - -.sub-variant { - margin-left: 24px; - margin-bottom: 40px; -} - -.sub-variant > .sub-variant-field { - margin-left: 24px; -} - -:target > code, :target > .code-header { - opacity: 1; -} - -:target { - padding-right: 3px; - background-color: var(--target-background-color); - border-right: 3px solid var(--target-border-color); -} - -.notable-traits-tooltip { - display: inline-block; - cursor: pointer; -} - -.notable-traits .notable-traits-tooltiptext { - display: inline-block; - visibility: hidden; -} - -.notable-traits-tooltiptext { - padding: 5px 3px 3px 3px; - border-radius: 6px; - margin-left: 5px; - z-index: 10; - font-size: 1rem; - cursor: default; - position: absolute; - border: 1px solid; -} - -.notable-traits-tooltip::after { - /* The margin on the tooltip does not capture hover events, - this extends the area of hover enough so that mouse hover is not - lost when moving the mouse to the tooltip */ - content: "\00a0\00a0\00a0"; -} - -.notable-traits-tooltiptext .docblock { - margin: 0; -} - -.notable-traits-tooltiptext .notable { - font-size: 1.1875rem; - font-weight: 600; - display: block; -} - -.notable-traits-tooltiptext pre, .notable-traits-tooltiptext code { - background: transparent; -} - -.notable-traits-tooltiptext .docblock pre.content { - margin: 0; - padding: 0; - font-size: 1.25rem; - white-space: pre-wrap; - overflow: hidden; -} - -.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 { - display: flex; - flex-direction: row; - gap: 1px; - margin-bottom: 4px; -} - -#titles > button { - text-align: center; - font-size: 1.125rem; - cursor: pointer; - border: 0; - border-top: 2px solid; - flex: 1; - line-height: 1.5; - color: inherit; -} - -#titles > button > div.count { - display: inline-block; - font-size: 1rem; -} - -.notable-traits { - cursor: pointer; - z-index: 2; - margin-left: 5px; -} - -#sidebar-toggle { - position: sticky; - top: 0; - left: 0; - font-size: 1.25rem; - border-bottom: 1px solid; - display: flex; - height: 40px; - justify-content: center; - align-items: center; - z-index: 10; -} -#source-sidebar { - width: 100%; - overflow: auto; -} -#source-sidebar > .title { - font-size: 1.5rem; - text-align: center; - border-bottom: 1px solid var(--border-color); - margin-bottom: 6px; -} -#sidebar-toggle > button { - font-size: inherit; - font-weight: bold; - background: none; - color: inherit; - cursor: pointer; - text-align: center; - border: none; - outline: none; - position: absolute; - top: 0; - bottom: 0; - left: 0; - right: 0; - /* work around button layout strangeness: https://stackoverflow.com/q/7271561 */ - width: 100%; - /* iOS button gradient: https://stackoverflow.com/q/5438567 */ - -webkit-appearance: none; - opacity: 1; -} -#settings-menu, #help-button { - margin-left: 4px; - outline: none; -} - -#settings-menu > a, #help-button > a, #copy-path { - width: 33px; - cursor: pointer; - line-height: 1.5; -} - -#settings-menu > a, #help-button > a { - padding: 5px; - height: 100%; - display: block; - background-color: var(--button-background-color); - border: 1px solid var(--border-color); - border-radius: 2px; -} - -#copy-path { - color: var(--copy-path-button-color); - background: var(--main-background-color); - height: 34px; - margin-left: 10px; - padding: 0; - padding-left: 2px; - border: 0; -} -#copy-path > img { - filter: var(--copy-path-img-filter); -} -#copy-path:hover > img { - filter: var(--copy-path-img-hover-filter); -} - -@keyframes rotating { - from { - transform: rotate(0deg); - } - to { - transform: rotate(360deg); - } -} -#settings-menu.rotate > a img { - animation: rotating 2s linear infinite; -} - -#help-button > a { - text-align: center; - /* Rare exception to specifying font sizes in rem. Since this is acting - as an icon, it's okay to specify their sizes in pixels. */ - font-size: 20px; - padding-top: 2px; -} - -kbd { - display: inline-block; - padding: 3px 5px; - font: 15px monospace; - line-height: 10px; - vertical-align: middle; - border: solid 1px var(--border-color); - border-radius: 3px; - cursor: default; -} - -ul.all-items > li { - list-style: none; -} - -details.dir-entry { - padding-left: 4px; -} - -details.dir-entry > summary::after { - content: " ►"; - position: absolute; - left: -15px; - top: 0px; - font-size: 80%; - padding: 2px 0px; - /* set width to cover gap between arrow and text */ - width: 25px; -} - -details[open].dir-entry > summary::after { - content: " ▼"; -} - -details.dir-entry > summary::-webkit-details-marker, -details.dir-entry > summary::marker { - display: none; -} - -details.dir-entry > summary { - margin: 0 0 0 13px; - list-style: none; - cursor: pointer; - position: relative; -} - -details.dir-entry div.folders, details.dir-entry div.files { - padding-left: 23px; -} - -details.dir-entry a { - display: block; -} - -/* We use CSS containment on the details elements because most sizeable elements - of the page are contained in one of these. This also makes re-rendering - faster on document changes (like closing and opening toggles). - Unfortunately we can't yet specify contain: content or contain: strict - because the [-]/[+] toggles extend past the boundaries of the
      - https://developer.mozilla.org/en-US/docs/Web/CSS/contain */ -details.rustdoc-toggle { - contain: layout; - position: relative; -} - -/* The hideme class is used on summary tags that contain a span with - placeholder text shown only when the toggle is closed. For instance, - "Expand description" or "Show methods". */ -details.rustdoc-toggle > summary.hideme { - cursor: pointer; -} - -details.rustdoc-toggle > summary { - list-style: none; - /* focus outline is shown on `::before` instead of this */ - outline: none; -} -details.rustdoc-toggle > summary::-webkit-details-marker, -details.rustdoc-toggle > summary::marker { - display: none; -} - -details.rustdoc-toggle > summary.hideme > span { - margin-left: 9px; -} - -details.rustdoc-toggle > summary::before { - content: ""; - cursor: pointer; - width: 16px; - height: 16px; - background-repeat: no-repeat; - background-position: top left; - display: inline-block; - vertical-align: middle; - opacity: .5; -} - -details.rustdoc-toggle > summary.hideme > span, -.more-examples-toggle summary, .more-examples-toggle .hide-more { - color: var(--toggles-color); -} - -/* Screen readers see the text version at the end the line. - Visual readers see the icon at the start of the line, but small and transparent. */ -details.rustdoc-toggle > summary::after { - content: "Expand"; - overflow: hidden; - width: 0; - height: 0; - position: absolute; -} - -details.rustdoc-toggle > summary.hideme::after { - /* "hideme" toggles already have a description when they're contracted */ - content: ""; -} - -details.rustdoc-toggle > summary:focus::before, -details.rustdoc-toggle > summary:hover::before { - opacity: 1; -} - -details.rustdoc-toggle > summary:focus-visible::before { - /* The SVG is black, and gets turned white using a filter in the dark themes. - Do the same with the outline. - The dotted 1px style is copied from Firefox's focus ring style. - */ - outline: 1px dotted #000; - outline-offset: 1px; -} - -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-size: 1rem; -} - -details.non-exhaustive { - margin-bottom: 8px; -} - -details.rustdoc-toggle > summary.hideme::before { - position: relative; -} - -details.rustdoc-toggle > summary:not(.hideme)::before { - position: absolute; - left: -24px; - top: 4px; -} - -.impl-items > details.rustdoc-toggle > summary:not(.hideme)::before { - position: absolute; - left: -24px; -} - -/* When a "hideme" summary is open and the "Expand description" or "Show - methods" text is hidden, we want the [-] toggle that remains to not - affect the layout of the items to its right. To do that, we use - absolute positioning. Note that we also set position: relative - on the parent
      to make this work properly. */ -details.rustdoc-toggle[open] > summary.hideme { - position: absolute; -} - -details.rustdoc-toggle[open] > summary.hideme > span { - display: none; -} - -details.rustdoc-toggle[open] > summary::before, -details.rustdoc-toggle[open] > summary.hideme::before { - background-image: url("toggle-minus-31bbd6e4c77f5c96.svg"); -} - -details.rustdoc-toggle > summary::before { - background-image: url("toggle-plus-1092eb4930d581b0.svg"); -} - -details.rustdoc-toggle[open] > summary::before, -details.rustdoc-toggle[open] > summary.hideme::before { - width: 16px; - height: 16px; - background-repeat: no-repeat; - background-position: top left; - display: inline-block; - content: ""; -} - -details.rustdoc-toggle[open] > summary::after, -details.rustdoc-toggle[open] > summary.hideme::after { - content: "Collapse"; -} - -/* This is needed in docblocks to have the "▶" element to be on the same line. */ -.docblock summary > * { - display: inline-block; -} - -/* In case there is no documentation before a code block, we need to add some margin at the top -to prevent an overlay between the "collapse toggle" and the information tooltip. -However, it's not needed with smaller screen width because the doc/code block is always put -"one line" below. */ -.docblock > .example-wrap:first-child .tooltip { - margin-top: 16px; -} - -/* Media Queries */ - -/* -WARNING: RUSTDOC_MOBILE_BREAKPOINT MEDIA QUERY -If you update this line, then you also need to update the line with the same warning -in storage.js -*/ -@media (max-width: 700px) { - /* When linking to an item with an `id` (for instance, by clicking a link in the sidebar, - or visiting a URL with a fragment like `#method.new`, we don't want the item to be obscured - by the topbar. Anything with an `id` gets scroll-margin-top equal to .mobile-topbar's size. - */ - *[id] { - scroll-margin-top: 45px; - } - - .rustdoc { - /* Sidebar should overlay main content, rather than pushing main content to the right. - Turn off `display: flex` on the body element. */ - display: block; - } - - main { - padding-left: 15px; - padding-top: 0px; - } - - .main-heading { - flex-direction: column; - } - - .out-of-band { - text-align: left; - margin-left: initial; - padding: initial; - } - - .out-of-band .since::before { - content: "Since "; - } - - #copy-path { - display: none; - } - - /* Hide the logo and item name from the sidebar. Those are displayed - in the mobile-topbar instead. */ - .sidebar .sidebar-logo, - .sidebar .location { - display: none; - } - - .sidebar { - position: fixed; - top: 45px; - /* Hide the sidebar offscreen while not in use. Doing this instead of display: none means - the sidebar stays visible for screen readers, which is useful for navigation. */ - left: -1000px; - margin: 0; - padding: 0; - z-index: 11; - /* Reduce height slightly to account for mobile topbar. */ - height: calc(100vh - 45px); - } - - /* The source view uses a different design for the sidebar toggle, and doesn't have a topbar, - so don't bump down the main content or the sidebar. */ - .source main, - .rustdoc.source .sidebar { - top: 0; - padding: 0; - height: 100vh; - border: 0; - } - - .sidebar.shown, - .source-sidebar-expanded .source .sidebar, - .sidebar:focus-within { - left: 0; - } - - .rustdoc.source > .sidebar { - width: 0; - } - - .mobile-topbar h2 { - padding-bottom: 0; - margin: auto 0.5em auto auto; - overflow: hidden; - /* Rare exception to specifying font sizes in rem. Since the topbar - height is specified in pixels, this also has to be specified in - pixels to avoid overflowing the topbar when the user sets a bigger - font size. */ - font-size: 24px; - } - - .mobile-topbar h2 a { - display: block; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; - } - - .mobile-topbar .logo-container > img { - max-width: 35px; - max-height: 35px; - margin: 5px 0 5px 20px; - } - - .mobile-topbar { - display: flex; - flex-direction: row; - position: sticky; - z-index: 10; - font-size: 2rem; - height: 45px; - width: 100%; - left: 0; - top: 0; - } - - .sidebar-menu-toggle { - width: 45px; - /* Rare exception to specifying font sizes in rem. Since this is acting - as an icon, it's okay to specify its sizes in pixels. */ - font-size: 32px; - border: none; - color: var(--main-color); - } - - .sidebar-elems { - margin-top: 1em; - } - - .content { - margin-left: 0px; - } - - .anchor { - display: none !important; - } - - #titles > button > div.count { - display: block; - } - - #main-content > details.rustdoc-toggle > summary::before, - #main-content > div > details.rustdoc-toggle > summary::before { - left: -11px; - } - - #sidebar-toggle { - position: fixed; - left: 1px; - top: 100px; - width: 30px; - font-size: 1.5rem; - text-align: center; - padding: 0; - z-index: 10; - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; - cursor: pointer; - border: 1px solid; - border-left: 0; - } - - .source-sidebar-expanded #sidebar-toggle { - left: unset; - top: unset; - width: unset; - border-top-right-radius: unset; - border-bottom-right-radius: unset; - position: sticky; - border: 0; - border-bottom: 1px solid; - } - - .notable-traits .notable-traits-tooltiptext { - left: 0; - top: 100%; - } - - /* We don't display the help button on mobile devices. */ - #help-button { - display: none; - } - - /* Display an alternating layout on tablets and phones */ - .item-table, .item-row, .item-left, .item-right, - .search-results > a, .search-results > a > div { - display: block; - } - - /* Display an alternating layout on tablets and phones */ - .search-results > a { - padding: 5px 0px; - } - .search-results > a > div.desc, .item-right { - padding-left: 2em; - } - - .source-sidebar-expanded .source .sidebar { - max-width: 100vw; - width: 100vw; - } - - /* Position of the "[-]" element. */ - details.rustdoc-toggle:not(.top-doc) > summary { - margin-left: 10px; - } - .impl-items > details.rustdoc-toggle > summary:not(.hideme)::before, - #main-content > details.rustdoc-toggle:not(.top-doc) > summary::before, - #main-content > div > details.rustdoc-toggle > summary::before { - left: -11px; - } - - /* Align summary-nested and unnested item-info gizmos. */ - .impl-items > .item-info { - margin-left: 34px; - } - - .source nav.sub { - margin: 0; - padding: 8px; - } -} - -@media print { - nav.sidebar, nav.sub, .out-of-band, a.srclink, #copy-path, - details.rustdoc-toggle[open] > summary::before, details.rustdoc-toggle > summary::before, - details.rustdoc-toggle.top-doc > summary { - display: none; - } - - .docblock { - margin-left: 0; - } - - main { - padding: 10px; - } -} - -@media (max-width: 464px) { - .docblock { - margin-left: 12px; - } - - .docblock code { - overflow-wrap: break-word; - overflow-wrap: anywhere; - } - - nav.sub { - flex-direction: column; - } - - .search-form { - align-self: stretch; - } - - .sub-logo-container > img { - height: 35px; - width: 35px; - } - - #sidebar-toggle { - top: 10px; - } - .source-sidebar-expanded #sidebar-toggle { - top: unset; - } -} - -.implementors-toggle > summary, -.impl, -#implementors-list > .docblock, -.impl-items > section, -.impl-items > .rustdoc-toggle > summary, -.methods > section, -.methods > .rustdoc-toggle > summary -{ - margin-bottom: 0.75em; -} - -.impl-items > .rustdoc-toggle[open]:not(:last-child), -.methods > .rustdoc-toggle[open]:not(:last-child), -.implementors-toggle[open]:not(:last-child) { - margin-bottom: 2em; -} - -#trait-implementations-list .impl-items > .rustdoc-toggle:not(:last-child), -#synthetic-implementations-list .impl-items > .rustdoc-toggle:not(:last-child), -#blanket-implementations-list .impl-items > .rustdoc-toggle:not(:last-child) { - margin-bottom: 1em; -} - -/* Begin: styles for --scrape-examples feature */ - -.scraped-example-list .scrape-help { - margin-left: 10px; - padding: 0 4px; - font-weight: normal; - font-size: 12px; - position: relative; - bottom: 1px; - background: transparent; - border-width: 1px; - border-style: solid; - border-radius: 50px; -} - -.scraped-example .code-wrapper { - position: relative; - display: flex; - flex-direction: row; - flex-wrap: wrap; - width: 100%; -} - -.scraped-example:not(.expanded) .code-wrapper { - max-height: 240px; -} - -.scraped-example:not(.expanded) .code-wrapper pre { - overflow-y: hidden; - max-height: 240px; - padding-bottom: 0; -} - -.scraped-example .code-wrapper .next, -.scraped-example .code-wrapper .prev, -.scraped-example .code-wrapper .expand { - position: absolute; - top: 0.25em; - z-index: 1; - cursor: pointer; -} -.scraped-example .code-wrapper .prev { - right: 2.25em; -} -.scraped-example .code-wrapper .next { - right: 1.25em; -} -.scraped-example .code-wrapper .expand { - right: 0.25em; -} - -.scraped-example:not(.expanded) .code-wrapper:before, -.scraped-example:not(.expanded) .code-wrapper:after { - content: " "; - width: 100%; - height: 5px; - position: absolute; - z-index: 1; -} -.scraped-example:not(.expanded) .code-wrapper:before { - top: 0; -} -.scraped-example:not(.expanded) .code-wrapper:after { - bottom: 0; -} - -.scraped-example .code-wrapper .src-line-numbers { - margin: 0; - padding: 14px 0; -} - -.scraped-example .code-wrapper .src-line-numbers span { - padding: 0 14px; -} - -.scraped-example .code-wrapper .example-wrap { - flex: 1; - overflow-x: auto; - overflow-y: hidden; - margin-bottom: 0; -} - -.scraped-example:not(.expanded) .code-wrapper .example-wrap { - overflow-x: hidden; -} - -.scraped-example .code-wrapper .example-wrap pre.rust { - overflow-x: inherit; - width: inherit; - overflow-y: hidden; -} - - -.more-examples-toggle { - max-width: calc(100% + 25px); - margin-top: 10px; - margin-left: -25px; -} - -.more-examples-toggle .hide-more { - margin-left: 25px; - margin-bottom: 5px; - cursor: pointer; -} - -.more-scraped-examples { - margin-left: 5px; - display: flex; - flex-direction: row; -} - -.more-scraped-examples-inner { - /* 20px is width of toggle-line + toggle-line-inner */ - width: calc(100% - 20px); -} - -.toggle-line { - align-self: stretch; - margin-right: 10px; - margin-top: 5px; - padding: 0 4px; - cursor: pointer; -} - -.toggle-line-inner { - min-width: 2px; - height: 100%; -} - -.more-scraped-examples .scraped-example { - margin-bottom: 20px; -} - -.more-scraped-examples .scraped-example:last-child { - margin-bottom: 0; -} - -.example-links a { - margin-top: 20px; -} - -.example-links ul { - margin-bottom: 0; -} - -/* End: styles for --scrape-examples feature */ diff --git a/static.files/scrape-examples-1f45318ad6bd2a81.js b/static.files/scrape-examples-1f45318ad6bd2a81.js index d0fd115fd..b6d6a3b6a 100644 --- a/static.files/scrape-examples-1f45318ad6bd2a81.js +++ b/static.files/scrape-examples-1f45318ad6bd2a81.js @@ -1,106 +1 @@ -/* global addClass, hasClass, removeClass, onEachLazy */ - -"use strict"; - -(function() { - // Number of lines shown when code viewer is not expanded - const MAX_LINES = 10; - - // Scroll code block to the given code location - function scrollToLoc(elt, loc) { - const lines = elt.querySelector(".src-line-numbers"); - let scrollOffset; - - // If the block is greater than the size of the viewer, - // then scroll to the top of the block. Otherwise scroll - // to the middle of the block. - if (loc[1] - loc[0] > MAX_LINES) { - const line = Math.max(0, loc[0] - 1); - scrollOffset = lines.children[line].offsetTop; - } else { - const wrapper = elt.querySelector(".code-wrapper"); - const halfHeight = wrapper.offsetHeight / 2; - const offsetMid = (lines.children[loc[0]].offsetTop - + lines.children[loc[1]].offsetTop) / 2; - scrollOffset = offsetMid - halfHeight; - } - - lines.scrollTo(0, scrollOffset); - elt.querySelector(".rust").scrollTo(0, scrollOffset); - } - - function updateScrapedExample(example) { - const locs = JSON.parse(example.attributes.getNamedItem("data-locs").textContent); - let locIndex = 0; - const highlights = Array.prototype.slice.call(example.querySelectorAll(".highlight")); - const link = example.querySelector(".scraped-example-title a"); - - if (locs.length > 1) { - // Toggle through list of examples in a given file - const onChangeLoc = changeIndex => { - removeClass(highlights[locIndex], "focus"); - changeIndex(); - scrollToLoc(example, locs[locIndex][0]); - addClass(highlights[locIndex], "focus"); - - const url = locs[locIndex][1]; - const title = locs[locIndex][2]; - - link.href = url; - link.innerHTML = title; - }; - - example.querySelector(".prev") - .addEventListener("click", () => { - onChangeLoc(() => { - locIndex = (locIndex - 1 + locs.length) % locs.length; - }); - }); - - example.querySelector("next") - .addEventListener("click", () => { - onChangeLoc(() => { - locIndex = (locIndex + 1) % locs.length; - }); - }); - } - - const expandButton = example.querySelector(".expand"); - if (expandButton) { - expandButton.addEventListener("click", () => { - if (hasClass(example, "expanded")) { - removeClass(example, "expanded"); - scrollToLoc(example, locs[0][0]); - } else { - addClass(example, "expanded"); - } - }); - } - - // Start with the first example in view - scrollToLoc(example, locs[0][0]); - } - - const firstExamples = document.querySelectorAll(".scraped-example-list > .scraped-example"); - onEachLazy(firstExamples, updateScrapedExample); - onEachLazy(document.querySelectorAll(".more-examples-toggle"), toggle => { - // Allow users to click the left border of the
      section to close it, - // since the section can be large and finding the [+] button is annoying. - onEachLazy(toggle.querySelectorAll(".toggle-line, .hide-more"), button => { - button.addEventListener("click", () => { - toggle.open = false; - }); - }); - - const moreExamples = toggle.querySelectorAll(".scraped-example"); - toggle.querySelector("summary").addEventListener("click", () => { - // Wrapping in setTimeout ensures the update happens after the elements are actually - // visible. This is necessary since updateScrapedExample calls scrollToLoc which - // depends on offsetHeight, a property that requires an element to be visible to - // compute correctly. - setTimeout(() => { - onEachLazy(moreExamples, updateScrapedExample); - }); - }, {once: true}); - }); -})(); +"use strict";(function(){const MAX_LINES=10;function scrollToLoc(elt,loc){const lines=elt.querySelector(".src-line-numbers");let scrollOffset;if(loc[1]-loc[0]>MAX_LINES){const line=Math.max(0,loc[0]-1);scrollOffset=lines.children[line].offsetTop}else{const wrapper=elt.querySelector(".code-wrapper");const halfHeight=wrapper.offsetHeight/2;const offsetMid=(lines.children[loc[0]].offsetTop+lines.children[loc[1]].offsetTop)/2;scrollOffset=offsetMid-halfHeight}lines.scrollTo(0,scrollOffset);elt.querySelector(".rust").scrollTo(0,scrollOffset)}function updateScrapedExample(example){const locs=JSON.parse(example.attributes.getNamedItem("data-locs").textContent);let locIndex=0;const highlights=Array.prototype.slice.call(example.querySelectorAll(".highlight"));const link=example.querySelector(".scraped-example-title a");if(locs.length>1){const onChangeLoc=changeIndex=>{removeClass(highlights[locIndex],"focus");changeIndex();scrollToLoc(example,locs[locIndex][0]);addClass(highlights[locIndex],"focus");const url=locs[locIndex][1];const title=locs[locIndex][2];link.href=url;link.innerHTML=title};example.querySelector(".prev").addEventListener("click",()=>{onChangeLoc(()=>{locIndex=(locIndex-1+locs.length)%locs.length})});example.querySelector("next").addEventListener("click",()=>{onChangeLoc(()=>{locIndex=(locIndex+1)%locs.length})})}const expandButton=example.querySelector(".expand");if(expandButton){expandButton.addEventListener("click",()=>{if(hasClass(example,"expanded")){removeClass(example,"expanded");scrollToLoc(example,locs[0][0])}else{addClass(example,"expanded")}})}scrollToLoc(example,locs[0][0])}const firstExamples=document.querySelectorAll(".scraped-example-list > .scraped-example");onEachLazy(firstExamples,updateScrapedExample);onEachLazy(document.querySelectorAll(".more-examples-toggle"),toggle=>{onEachLazy(toggle.querySelectorAll(".toggle-line, .hide-more"),button=>{button.addEventListener("click",()=>{toggle.open=false})});const moreExamples=toggle.querySelectorAll(".scraped-example");toggle.querySelector("summary").addEventListener("click",()=>{setTimeout(()=>{onEachLazy(moreExamples,updateScrapedExample)})},{once:true})})})() \ No newline at end of file diff --git a/static.files/search-39ee4160c7dc16c9.js b/static.files/search-39ee4160c7dc16c9.js deleted file mode 100644 index dd0531c5e..000000000 --- a/static.files/search-39ee4160c7dc16c9.js +++ /dev/null @@ -1,2280 +0,0 @@ -/* global addClass, getNakedUrl, getSettingValue */ -/* global onEachLazy, removeClass, searchState, browserSupportsHistoryApi, exports */ - -"use strict"; - -(function() { -// This mapping table should match the discriminants of -// `rustdoc::formats::item_type::ItemType` type in Rust. -const 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", -]; - -// used for special search precedence -const TY_PRIMITIVE = itemTypes.indexOf("primitive"); -const TY_KEYWORD = itemTypes.indexOf("keyword"); -const ROOT_PATH = typeof window !== "undefined" ? window.rootPath : "../"; - -function hasOwnPropertyRustdoc(obj, property) { - return Object.prototype.hasOwnProperty.call(obj, property); -} - -// In the search display, allows to switch between tabs. -function printTab(nb) { - let iter = 0; - let foundCurrentTab = false; - let foundCurrentResultSet = false; - onEachLazy(document.getElementById("titles").childNodes, elem => { - if (nb === iter) { - addClass(elem, "selected"); - foundCurrentTab = true; - } else { - removeClass(elem, "selected"); - } - iter += 1; - }); - iter = 0; - onEachLazy(document.getElementById("results").childNodes, elem => { - if (nb === iter) { - addClass(elem, "active"); - foundCurrentResultSet = true; - } else { - removeClass(elem, "active"); - } - iter += 1; - }); - if (foundCurrentTab && foundCurrentResultSet) { - searchState.currentTab = nb; - } else if (nb !== 0) { - printTab(0); - } -} - -/** - * A function to compute the Levenshtein distance between two strings - * Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported - * Full License can be found at http://creativecommons.org/licenses/by-sa/3.0/legalcode - * This code is an unmodified version of the code written by Marco de Wit - * and was found at https://stackoverflow.com/a/18514751/745719 - */ -const levenshtein_row2 = []; -function levenshtein(s1, s2) { - if (s1 === s2) { - return 0; - } - const s1_len = s1.length, s2_len = s2.length; - if (s1_len && s2_len) { - let i1 = 0, i2 = 0, a, b, c, c2; - const row = levenshtein_row2; - while (i1 < s1_len) { - row[i1] = ++i1; - } - while (i2 < s2_len) { - c2 = s2.charCodeAt(i2); - a = i2; - ++i2; - b = i2; - for (i1 = 0; i1 < s1_len; ++i1) { - c = a + (s1.charCodeAt(i1) !== c2 ? 1 : 0); - a = row[i1]; - b = b < a ? (b < c ? b + 1 : c) : (a < c ? a + 1 : c); - row[i1] = b; - } - } - return b; - } - return s1_len + s2_len; -} - -function initSearch(rawSearchIndex) { - const MAX_LEV_DISTANCE = 3; - const MAX_RESULTS = 200; - const NO_TYPE_FILTER = -1; - /** - * @type {Array} - */ - let searchIndex; - let currentResults; - const ALIASES = Object.create(null); - - function isWhitespace(c) { - return " \t\n\r".indexOf(c) !== -1; - } - - function isSpecialStartCharacter(c) { - return "<\"".indexOf(c) !== -1; - } - - function isEndCharacter(c) { - return ",>-".indexOf(c) !== -1; - } - - function isStopCharacter(c) { - return isWhitespace(c) || isEndCharacter(c); - } - - function isErrorCharacter(c) { - return "()".indexOf(c) !== -1; - } - - function itemTypeFromName(typename) { - for (let i = 0, len = itemTypes.length; i < len; ++i) { - if (itemTypes[i] === typename) { - return i; - } - } - - throw new Error("Unknown type filter `" + typename + "`"); - } - - /** - * If we encounter a `"`, then we try to extract the string from it until we find another `"`. - * - * This function will throw an error in the following cases: - * * There is already another string element. - * * We are parsing a generic argument. - * * There is more than one element. - * * There is no closing `"`. - * - * @param {ParsedQuery} query - * @param {ParserState} parserState - * @param {boolean} isInGenerics - */ - function getStringElem(query, parserState, isInGenerics) { - if (isInGenerics) { - throw new Error("`\"` cannot be used in generics"); - } else if (query.literalSearch) { - throw new Error("Cannot have more than one literal search element"); - } else if (parserState.totalElems - parserState.genericsElems > 0) { - throw new Error("Cannot use literal search when there is more than one element"); - } - parserState.pos += 1; - const start = parserState.pos; - const end = getIdentEndPosition(parserState); - if (parserState.pos >= parserState.length) { - throw new Error("Unclosed `\"`"); - } else if (parserState.userQuery[end] !== "\"") { - throw new Error(`Unexpected \`${parserState.userQuery[end]}\` in a string element`); - } else if (start === end) { - throw new Error("Cannot have empty string element"); - } - // To skip the quote at the end. - parserState.pos += 1; - query.literalSearch = true; - } - - /** - * Returns `true` if the current parser position is starting with "::". - * - * @param {ParserState} parserState - * - * @return {boolean} - */ - function isPathStart(parserState) { - return parserState.userQuery.slice(parserState.pos, parserState.pos + 2) === "::"; - } - - /** - * Returns `true` if the current parser position is starting with "->". - * - * @param {ParserState} parserState - * - * @return {boolean} - */ - function isReturnArrow(parserState) { - return parserState.userQuery.slice(parserState.pos, parserState.pos + 2) === "->"; - } - - /** - * Returns `true` if the given `c` character is valid for an ident. - * - * @param {string} c - * - * @return {boolean} - */ - function isIdentCharacter(c) { - return ( - c === "_" || - (c >= "0" && c <= "9") || - (c >= "a" && c <= "z") || - (c >= "A" && c <= "Z")); - } - - /** - * Returns `true` if the given `c` character is a separator. - * - * @param {string} c - * - * @return {boolean} - */ - function isSeparatorCharacter(c) { - return c === "," || isWhitespaceCharacter(c); - } - - /** - * Returns `true` if the given `c` character is a whitespace. - * - * @param {string} c - * - * @return {boolean} - */ - function isWhitespaceCharacter(c) { - return c === " " || c === "\t"; - } - - /** - * @param {ParsedQuery} query - * @param {ParserState} parserState - * @param {string} name - Name of the query element. - * @param {Array} generics - List of generics of this query element. - * - * @return {QueryElement} - The newly created `QueryElement`. - */ - function createQueryElement(query, parserState, name, generics, isInGenerics) { - if (name === "*" || (name.length === 0 && generics.length === 0)) { - return; - } - if (query.literalSearch && parserState.totalElems - parserState.genericsElems > 0) { - throw new Error("You cannot have more than one element if you use quotes"); - } - const pathSegments = name.split("::"); - if (pathSegments.length > 1) { - for (let i = 0, len = pathSegments.length; i < len; ++i) { - const pathSegment = pathSegments[i]; - - if (pathSegment.length === 0) { - if (i === 0) { - throw new Error("Paths cannot start with `::`"); - } else if (i + 1 === len) { - throw new Error("Paths cannot end with `::`"); - } - throw new Error("Unexpected `::::`"); - } - } - } - // In case we only have something like `

      `, there is no name. - if (pathSegments.length === 0 || (pathSegments.length === 1 && pathSegments[0] === "")) { - throw new Error("Found generics without a path"); - } - parserState.totalElems += 1; - if (isInGenerics) { - parserState.genericsElems += 1; - } - return { - name: name, - fullPath: pathSegments, - pathWithoutLast: pathSegments.slice(0, pathSegments.length - 1), - pathLast: pathSegments[pathSegments.length - 1], - generics: generics, - }; - } - - /** - * This function goes through all characters until it reaches an invalid ident character or the - * end of the query. It returns the position of the last character of the ident. - * - * @param {ParserState} parserState - * - * @return {integer} - */ - function getIdentEndPosition(parserState) { - let end = parserState.pos; - let foundExclamation = false; - while (parserState.pos < parserState.length) { - const c = parserState.userQuery[parserState.pos]; - if (!isIdentCharacter(c)) { - if (c === "!") { - if (foundExclamation) { - throw new Error("Cannot have more than one `!` in an ident"); - } else if (parserState.pos + 1 < parserState.length && - isIdentCharacter(parserState.userQuery[parserState.pos + 1]) - ) { - throw new Error("`!` can only be at the end of an ident"); - } - foundExclamation = true; - } else if (isErrorCharacter(c)) { - throw new Error(`Unexpected \`${c}\``); - } else if ( - isStopCharacter(c) || - isSpecialStartCharacter(c) || - isSeparatorCharacter(c) - ) { - break; - } else if (c === ":") { // If we allow paths ("str::string" for example). - if (!isPathStart(parserState)) { - break; - } - // Skip current ":". - parserState.pos += 1; - foundExclamation = false; - } else { - throw new Error(`Unexpected \`${c}\``); - } - } - parserState.pos += 1; - end = parserState.pos; - } - return end; - } - - /** - * @param {ParsedQuery} query - * @param {ParserState} parserState - * @param {Array} elems - This is where the new {QueryElement} will be added. - * @param {boolean} isInGenerics - */ - function getNextElem(query, parserState, elems, isInGenerics) { - const generics = []; - - let start = parserState.pos; - let end; - // We handle the strings on their own mostly to make code easier to follow. - if (parserState.userQuery[parserState.pos] === "\"") { - start += 1; - getStringElem(query, parserState, isInGenerics); - end = parserState.pos - 1; - } else { - end = getIdentEndPosition(parserState); - } - if (parserState.pos < parserState.length && - parserState.userQuery[parserState.pos] === "<" - ) { - if (isInGenerics) { - throw new Error("Unexpected `<` after `<`"); - } else if (start >= end) { - throw new Error("Found generics without a path"); - } - parserState.pos += 1; - getItemsBefore(query, parserState, generics, ">"); - } - if (start >= end && generics.length === 0) { - return; - } - elems.push( - createQueryElement( - query, - parserState, - parserState.userQuery.slice(start, end), - generics, - isInGenerics - ) - ); - } - - /** - * This function parses the next query element until it finds `endChar`, calling `getNextElem` - * to collect each element. - * - * If there is no `endChar`, this function will implicitly stop at the end without raising an - * error. - * - * @param {ParsedQuery} query - * @param {ParserState} parserState - * @param {Array} elems - This is where the new {QueryElement} will be added. - * @param {string} endChar - This function will stop when it'll encounter this - * character. - */ - function getItemsBefore(query, parserState, elems, endChar) { - let foundStopChar = true; - - while (parserState.pos < parserState.length) { - const c = parserState.userQuery[parserState.pos]; - if (c === endChar) { - break; - } else if (isSeparatorCharacter(c)) { - parserState.pos += 1; - foundStopChar = true; - continue; - } else if (c === ":" && isPathStart(parserState)) { - throw new Error("Unexpected `::`: paths cannot start with `::`"); - } else if (c === ":" || isEndCharacter(c)) { - let extra = ""; - if (endChar === ">") { - extra = "`<`"; - } else if (endChar === "") { - extra = "`->`"; - } - throw new Error("Unexpected `" + c + "` after " + extra); - } - if (!foundStopChar) { - if (endChar !== "") { - throw new Error(`Expected \`,\`, \` \` or \`${endChar}\`, found \`${c}\``); - } - throw new Error(`Expected \`,\` or \` \`, found \`${c}\``); - } - const posBefore = parserState.pos; - getNextElem(query, parserState, elems, endChar === ">"); - // This case can be encountered if `getNextElem` encountered a "stop character" right - // from the start. For example if you have `,,` or `<>`. In this case, we simply move up - // the current position to continue the parsing. - if (posBefore === parserState.pos) { - parserState.pos += 1; - } - foundStopChar = false; - } - // We are either at the end of the string or on the `endChar`` character, let's move forward - // in any case. - parserState.pos += 1; - } - - /** - * Checks that the type filter doesn't have unwanted characters like `<>` (which are ignored - * if empty). - * - * @param {ParserState} parserState - */ - function checkExtraTypeFilterCharacters(parserState) { - const query = parserState.userQuery; - - for (let pos = 0; pos < parserState.pos; ++pos) { - if (!isIdentCharacter(query[pos]) && !isWhitespaceCharacter(query[pos])) { - throw new Error(`Unexpected \`${query[pos]}\` in type filter`); - } - } - } - - /** - * Parses the provided `query` input to fill `parserState`. If it encounters an error while - * parsing `query`, it'll throw an error. - * - * @param {ParsedQuery} query - * @param {ParserState} parserState - */ - function parseInput(query, parserState) { - let c, before; - let foundStopChar = true; - - while (parserState.pos < parserState.length) { - c = parserState.userQuery[parserState.pos]; - if (isStopCharacter(c)) { - foundStopChar = true; - if (isSeparatorCharacter(c)) { - parserState.pos += 1; - continue; - } else if (c === "-" || c === ">") { - if (isReturnArrow(parserState)) { - break; - } - throw new Error(`Unexpected \`${c}\` (did you mean \`->\`?)`); - } - throw new Error(`Unexpected \`${c}\``); - } else if (c === ":" && !isPathStart(parserState)) { - if (parserState.typeFilter !== null) { - throw new Error("Unexpected `:`"); - } - if (query.elems.length === 0) { - throw new Error("Expected type filter before `:`"); - } else if (query.elems.length !== 1 || parserState.totalElems !== 1) { - throw new Error("Unexpected `:`"); - } else if (query.literalSearch) { - throw new Error("You cannot use quotes on type filter"); - } - checkExtraTypeFilterCharacters(parserState); - // The type filter doesn't count as an element since it's a modifier. - parserState.typeFilter = query.elems.pop().name; - parserState.pos += 1; - parserState.totalElems = 0; - query.literalSearch = false; - foundStopChar = true; - continue; - } - if (!foundStopChar) { - if (parserState.typeFilter !== null) { - throw new Error(`Expected \`,\`, \` \` or \`->\`, found \`${c}\``); - } - throw new Error(`Expected \`,\`, \` \`, \`:\` or \`->\`, found \`${c}\``); - } - before = query.elems.length; - getNextElem(query, parserState, query.elems, false); - if (query.elems.length === before) { - // Nothing was added, weird... Let's increase the position to not remain stuck. - parserState.pos += 1; - } - foundStopChar = false; - } - while (parserState.pos < parserState.length) { - c = parserState.userQuery[parserState.pos]; - if (isReturnArrow(parserState)) { - parserState.pos += 2; - // Get returned elements. - getItemsBefore(query, parserState, query.returned, ""); - // Nothing can come afterward! - if (query.returned.length === 0) { - throw new Error("Expected at least one item after `->`"); - } - break; - } else { - parserState.pos += 1; - } - } - } - - /** - * Takes the user search input and returns an empty `ParsedQuery`. - * - * @param {string} userQuery - * - * @return {ParsedQuery} - */ - function newParsedQuery(userQuery) { - return { - original: userQuery, - userQuery: userQuery.toLowerCase(), - typeFilter: NO_TYPE_FILTER, - elems: [], - returned: [], - // Total number of "top" elements (does not include generics). - foundElems: 0, - literalSearch: false, - error: null, - }; - } - - /** - * Build an URL with search parameters. - * - * @param {string} search - The current search being performed. - * @param {string|null} filterCrates - The current filtering crate (if any). - * - * @return {string} - */ - function buildUrl(search, filterCrates) { - let extra = "?search=" + encodeURIComponent(search); - - if (filterCrates !== null) { - extra += "&filter-crate=" + encodeURIComponent(filterCrates); - } - return getNakedUrl() + extra + window.location.hash; - } - - /** - * Return the filtering crate or `null` if there is none. - * - * @return {string|null} - */ - function getFilterCrates() { - const elem = document.getElementById("crate-search"); - - if (elem && - elem.value !== "all crates" && - hasOwnPropertyRustdoc(rawSearchIndex, elem.value) - ) { - return elem.value; - } - return null; - } - - /** - * Parses the query. - * - * The supported syntax by this parser is as follow: - * - * ident = *(ALPHA / DIGIT / "_") [!] - * path = ident *(DOUBLE-COLON ident) - * arg = path [generics] - * arg-without-generic = path - * type-sep = COMMA/WS *(COMMA/WS) - * nonempty-arg-list = *(type-sep) arg *(type-sep arg) *(type-sep) - * nonempty-arg-list-without-generics = *(type-sep) arg-without-generic - * *(type-sep arg-without-generic) *(type-sep) - * generics = OPEN-ANGLE-BRACKET [ nonempty-arg-list-without-generics ] *(type-sep) - * CLOSE-ANGLE-BRACKET/EOF - * return-args = RETURN-ARROW *(type-sep) nonempty-arg-list - * - * exact-search = [type-filter *WS COLON] [ RETURN-ARROW ] *WS QUOTE ident QUOTE [ generics ] - * type-search = [type-filter *WS COLON] [ nonempty-arg-list ] [ return-args ] - * - * query = *WS (exact-search / type-search) *WS - * - * type-filter = ( - * "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") - * - * OPEN-ANGLE-BRACKET = "<" - * CLOSE-ANGLE-BRACKET = ">" - * COLON = ":" - * DOUBLE-COLON = "::" - * QUOTE = %x22 - * COMMA = "," - * RETURN-ARROW = "->" - * - * ALPHA = %x41-5A / %x61-7A ; A-Z / a-z - * DIGIT = %x30-39 - * WS = %x09 / " " - * - * @param {string} val - The user query - * - * @return {ParsedQuery} - The parsed query - */ - function parseQuery(userQuery) { - userQuery = userQuery.trim(); - const parserState = { - length: userQuery.length, - pos: 0, - // Total number of elements (includes generics). - totalElems: 0, - genericsElems: 0, - typeFilter: null, - userQuery: userQuery.toLowerCase(), - }; - let query = newParsedQuery(userQuery); - - try { - parseInput(query, parserState); - if (parserState.typeFilter !== null) { - let typeFilter = parserState.typeFilter; - if (typeFilter === "const") { - typeFilter = "constant"; - } - query.typeFilter = itemTypeFromName(typeFilter); - } - } catch (err) { - query = newParsedQuery(userQuery); - query.error = err.message; - query.typeFilter = -1; - return query; - } - - if (!query.literalSearch) { - // If there is more than one element in the query, we switch to literalSearch in any - // case. - query.literalSearch = parserState.totalElems > 1; - } - query.foundElems = query.elems.length + query.returned.length; - return query; - } - - /** - * Creates the query results. - * - * @param {Array} results_in_args - * @param {Array} results_returned - * @param {Array} results_in_args - * @param {ParsedQuery} parsedQuery - * - * @return {ResultsTable} - */ - function createQueryResults(results_in_args, results_returned, results_others, parsedQuery) { - return { - "in_args": results_in_args, - "returned": results_returned, - "others": results_others, - "query": parsedQuery, - }; - } - - /** - * Executes the parsed query and builds a {ResultsTable}. - * - * @param {ParsedQuery} parsedQuery - The parsed user query - * @param {Object} searchWords - The list of search words to query against - * @param {Object} [filterCrates] - Crate to search in if defined - * @param {Object} [currentCrate] - Current crate, to rank results from this crate higher - * - * @return {ResultsTable} - */ - function execQuery(parsedQuery, searchWords, filterCrates, currentCrate) { - const results_others = {}, results_in_args = {}, results_returned = {}; - - function transformResults(results) { - const duplicates = {}; - const out = []; - - for (const result of results) { - if (result.id > -1) { - const obj = searchIndex[result.id]; - obj.lev = result.lev; - const res = buildHrefAndPath(obj); - obj.displayPath = pathSplitter(res[0]); - obj.fullPath = obj.displayPath + obj.name; - // To be sure than it some items aren't considered as duplicate. - obj.fullPath += "|" + obj.ty; - - if (duplicates[obj.fullPath]) { - continue; - } - duplicates[obj.fullPath] = true; - - obj.href = res[1]; - out.push(obj); - if (out.length >= MAX_RESULTS) { - break; - } - } - } - return out; - } - - function sortResults(results, isType, preferredCrate) { - const userQuery = parsedQuery.userQuery; - const ar = []; - for (const entry in results) { - if (hasOwnPropertyRustdoc(results, entry)) { - const result = results[entry]; - result.word = searchWords[result.id]; - result.item = searchIndex[result.id] || {}; - ar.push(result); - } - } - results = ar; - // if there are no results then return to default and fail - if (results.length === 0) { - return []; - } - - results.sort((aaa, bbb) => { - let a, b; - - // sort by exact match with regard to the last word (mismatch goes later) - a = (aaa.word !== userQuery); - b = (bbb.word !== userQuery); - if (a !== b) { - return a - b; - } - - // Sort by non levenshtein results and then levenshtein results by the distance - // (less changes required to match means higher rankings) - a = (aaa.lev); - b = (bbb.lev); - if (a !== b) { - return a - b; - } - - // sort by crate (current crate comes first) - a = (aaa.item.crate !== preferredCrate); - b = (bbb.item.crate !== preferredCrate); - if (a !== b) { - return a - b; - } - - // sort by item name length (longer goes later) - a = aaa.word.length; - b = bbb.word.length; - if (a !== b) { - return a - b; - } - - // sort by item name (lexicographically larger goes later) - a = aaa.word; - b = bbb.word; - if (a !== b) { - return (a > b ? +1 : -1); - } - - // sort by index of keyword in item name (no literal occurrence goes later) - a = (aaa.index < 0); - b = (bbb.index < 0); - if (a !== b) { - return a - b; - } - // (later literal occurrence, if any, goes later) - a = aaa.index; - b = bbb.index; - if (a !== b) { - return a - b; - } - - // special precedence for primitive and keyword pages - 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; - } - - // sort by description (no description goes later) - a = (aaa.item.desc === ""); - b = (bbb.item.desc === ""); - if (a !== b) { - return a - b; - } - - // sort by type (later occurrence in `itemTypes` goes later) - a = aaa.item.ty; - b = bbb.item.ty; - if (a !== b) { - return a - b; - } - - // sort by path (lexicographically larger goes later) - a = aaa.item.path; - b = bbb.item.path; - if (a !== b) { - return (a > b ? +1 : -1); - } - - // que sera, sera - return 0; - }); - - let nameSplit = null; - if (parsedQuery.elems.length === 1) { - const hasPath = typeof parsedQuery.elems[0].path === "undefined"; - nameSplit = hasPath ? null : parsedQuery.elems[0].path; - } - - for (const result of results) { - // this validation does not make sense when searching by types - if (result.dontValidate) { - continue; - } - const name = result.item.name.toLowerCase(), - path = result.item.path.toLowerCase(), - parent = result.item.parent; - - if (!isType && !validateResult(name, path, nameSplit, parent)) { - result.id = -1; - } - } - return transformResults(results); - } - - /** - * This function checks if the object (`row`) generics match the given type (`elem`) - * generics. If there are no generics on `row`, `defaultLev` is returned. - * - * @param {Row} row - The object to check. - * @param {QueryElement} elem - The element from the parsed query. - * @param {integer} defaultLev - This is the value to return in case there are no generics. - * - * @return {integer} - Returns the best match (if any) or `MAX_LEV_DISTANCE + 1`. - */ - function checkGenerics(row, elem, defaultLev) { - if (row.generics.length === 0) { - return elem.generics.length === 0 ? defaultLev : MAX_LEV_DISTANCE + 1; - } else if (row.generics.length > 0 && row.generics[0].name === null) { - return checkGenerics(row.generics[0], elem, defaultLev); - } - // The names match, but we need to be sure that all generics kinda - // match as well. - let elem_name; - if (elem.generics.length > 0 && row.generics.length >= elem.generics.length) { - const elems = Object.create(null); - for (const entry of row.generics) { - elem_name = entry.name; - if (elem_name === "") { - // Pure generic, needs to check into it. - if (checkGenerics(entry, elem, MAX_LEV_DISTANCE + 1) !== 0) { - return MAX_LEV_DISTANCE + 1; - } - continue; - } - if (elems[elem_name] === undefined) { - elems[elem_name] = 0; - } - elems[elem_name] += 1; - } - // We need to find the type that matches the most to remove it in order - // to move forward. - for (const generic of elem.generics) { - let match = null; - if (elems[generic.name]) { - match = generic.name; - } else { - for (elem_name in elems) { - if (!hasOwnPropertyRustdoc(elems, elem_name)) { - continue; - } - if (elem_name === generic) { - match = elem_name; - break; - } - } - } - if (match === null) { - return MAX_LEV_DISTANCE + 1; - } - elems[match] -= 1; - if (elems[match] === 0) { - delete elems[match]; - } - } - return 0; - } - return MAX_LEV_DISTANCE + 1; - } - - /** - * This function checks if the object (`row`) matches the given type (`elem`) and its - * generics (if any). - * - * @param {Row} row - * @param {QueryElement} elem - The element from the parsed query. - * - * @return {integer} - Returns a Levenshtein distance to the best match. - */ - function checkIfInGenerics(row, elem) { - let lev = MAX_LEV_DISTANCE + 1; - for (const entry of row.generics) { - lev = Math.min(checkType(entry, elem, true), lev); - if (lev === 0) { - break; - } - } - return lev; - } - - /** - * This function checks if the object (`row`) matches the given type (`elem`) and its - * generics (if any). - * - * @param {Row} row - * @param {QueryElement} elem - The element from the parsed query. - * @param {boolean} literalSearch - * - * @return {integer} - Returns a Levenshtein distance to the best match. If there is - * no match, returns `MAX_LEV_DISTANCE + 1`. - */ - function checkType(row, elem, literalSearch) { - if (row.name === null) { - // This is a pure "generic" search, no need to run other checks. - if (row.generics.length > 0) { - return checkIfInGenerics(row, elem); - } - return MAX_LEV_DISTANCE + 1; - } - - let lev = levenshtein(row.name, elem.name); - if (literalSearch) { - if (lev !== 0) { - // The name didn't match, let's try to check if the generics do. - if (elem.generics.length === 0) { - const checkGeneric = row.generics.length > 0; - if (checkGeneric && row.generics - .findIndex(tmp_elem => tmp_elem.name === elem.name) !== -1) { - return 0; - } - } - return MAX_LEV_DISTANCE + 1; - } else if (elem.generics.length > 0) { - return checkGenerics(row, elem, MAX_LEV_DISTANCE + 1); - } - return 0; - } else if (row.generics.length > 0) { - if (elem.generics.length === 0) { - if (lev === 0) { - return 0; - } - // The name didn't match so we now check if the type we're looking for is inside - // the generics! - lev = checkIfInGenerics(row, elem); - // Now whatever happens, the returned distance is "less good" so we should mark - // it as such, and so we add 0.5 to the distance to make it "less good". - return lev + 0.5; - } else if (lev > MAX_LEV_DISTANCE) { - // So our item's name doesn't match at all and has generics. - // - // Maybe it's present in a sub generic? For example "f>>()", if we're - // looking for "B", we'll need to go down. - return checkIfInGenerics(row, elem); - } else { - // At this point, the name kinda match and we have generics to check, so - // let's go! - const tmp_lev = checkGenerics(row, elem, lev); - if (tmp_lev > MAX_LEV_DISTANCE) { - return MAX_LEV_DISTANCE + 1; - } - // We compute the median value of both checks and return it. - return (tmp_lev + lev) / 2; - } - } else if (elem.generics.length > 0) { - // In this case, we were expecting generics but there isn't so we simply reject this - // one. - return MAX_LEV_DISTANCE + 1; - } - // No generics on our query or on the target type so we can return without doing - // anything else. - return lev; - } - - /** - * This function checks if the object (`row`) has an argument with the given type (`elem`). - * - * @param {Row} row - * @param {QueryElement} elem - The element from the parsed query. - * @param {integer} typeFilter - * - * @return {integer} - Returns a Levenshtein distance to the best match. If there is no - * match, returns `MAX_LEV_DISTANCE + 1`. - */ - function findArg(row, elem, typeFilter) { - let lev = MAX_LEV_DISTANCE + 1; - - if (row && row.type && row.type.inputs && row.type.inputs.length > 0) { - for (const input of row.type.inputs) { - if (!typePassesFilter(typeFilter, input.ty)) { - continue; - } - lev = Math.min(lev, checkType(input, elem, parsedQuery.literalSearch)); - if (lev === 0) { - return 0; - } - } - } - return parsedQuery.literalSearch ? MAX_LEV_DISTANCE + 1 : lev; - } - - /** - * This function checks if the object (`row`) returns the given type (`elem`). - * - * @param {Row} row - * @param {QueryElement} elem - The element from the parsed query. - * @param {integer} typeFilter - * - * @return {integer} - Returns a Levenshtein distance to the best match. If there is no - * match, returns `MAX_LEV_DISTANCE + 1`. - */ - function checkReturned(row, elem, typeFilter) { - let lev = MAX_LEV_DISTANCE + 1; - - if (row && row.type && row.type.output.length > 0) { - const ret = row.type.output; - for (const ret_ty of ret) { - if (!typePassesFilter(typeFilter, ret_ty.ty)) { - continue; - } - lev = Math.min(lev, checkType(ret_ty, elem, parsedQuery.literalSearch)); - if (lev === 0) { - return 0; - } - } - } - return parsedQuery.literalSearch ? MAX_LEV_DISTANCE + 1 : lev; - } - - function checkPath(contains, ty) { - if (contains.length === 0) { - return 0; - } - let ret_lev = MAX_LEV_DISTANCE + 1; - const path = ty.path.split("::"); - - if (ty.parent && ty.parent.name) { - path.push(ty.parent.name.toLowerCase()); - } - - const length = path.length; - const clength = contains.length; - if (clength > length) { - return MAX_LEV_DISTANCE + 1; - } - for (let i = 0; i < length; ++i) { - if (i + clength > length) { - break; - } - let lev_total = 0; - let aborted = false; - for (let x = 0; x < clength; ++x) { - const lev = levenshtein(path[i + x], contains[x]); - if (lev > MAX_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) { - // No filter or Exact mach - if (filter <= NO_TYPE_FILTER || filter === type) return true; - - // Match related items - const name = itemTypes[type]; - switch (itemTypes[filter]) { - case "constant": - return name === "associatedconstant"; - case "fn": - return name === "method" || name === "tymethod"; - case "type": - return name === "primitive" || name === "associatedtype"; - case "trait": - return name === "traitalias"; - } - - // No match - 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, currentCrate) { - const lowerQuery = query.toLowerCase(); - // We separate aliases and crate aliases because we want to have current crate - // aliases to be before the others in the displayed results. - const aliases = []; - const crateAliases = []; - if (filterCrates !== null) { - if (ALIASES[filterCrates] && ALIASES[filterCrates][lowerQuery]) { - const query_aliases = ALIASES[filterCrates][lowerQuery]; - for (const alias of query_aliases) { - aliases.push(createAliasFromItem(searchIndex[alias])); - } - } - } else { - Object.keys(ALIASES).forEach(crate => { - if (ALIASES[crate][lowerQuery]) { - const pushTo = crate === currentCrate ? crateAliases : aliases; - const query_aliases = ALIASES[crate][lowerQuery]; - for (const alias of query_aliases) { - pushTo.push(createAliasFromItem(searchIndex[alias])); - } - } - }); - } - - const sortFunc = (aaa, bbb) => { - if (aaa.path < bbb.path) { - return 1; - } else if (aaa.path === bbb.path) { - return 0; - } - return -1; - }; - crateAliases.sort(sortFunc); - aliases.sort(sortFunc); - - const pushFunc = alias => { - alias.alias = query; - const res = buildHrefAndPath(alias); - alias.displayPath = pathSplitter(res[0]); - alias.fullPath = alias.displayPath + alias.name; - alias.href = res[1]; - - ret.others.unshift(alias); - if (ret.others.length > MAX_RESULTS) { - ret.others.pop(); - } - }; - - aliases.forEach(pushFunc); - crateAliases.forEach(pushFunc); - } - - /** - * This function adds the given result into the provided `results` map if it matches the - * following condition: - * - * * If it is a "literal search" (`parsedQuery.literalSearch`), then `lev` must be 0. - * * If it is not a "literal search", `lev` must be <= `MAX_LEV_DISTANCE`. - * - * The `results` map contains information which will be used to sort the search results: - * - * * `fullId` is a `string`` used as the key of the object we use for the `results` map. - * * `id` is the index in both `searchWords` and `searchIndex` arrays for this element. - * * `index` is an `integer`` used to sort by the position of the word in the item's name. - * * `lev` is the main metric used to sort the search results. - * - * @param {Results} results - * @param {string} fullId - * @param {integer} id - * @param {integer} index - * @param {integer} lev - */ - function addIntoResults(results, fullId, id, index, lev) { - if (lev === 0 || (!parsedQuery.literalSearch && lev <= MAX_LEV_DISTANCE)) { - if (results[fullId] !== undefined) { - const result = results[fullId]; - if (result.dontValidate || result.lev <= lev) { - return; - } - } - results[fullId] = { - id: id, - index: index, - dontValidate: parsedQuery.literalSearch, - lev: lev, - }; - } - } - - /** - * This function is called in case the query is only one element (with or without generics). - * This element will be compared to arguments' and returned values' items and also to items. - * - * Other important thing to note: since there is only one element, we use levenshtein - * distance for name comparisons. - * - * @param {Row} row - * @param {integer} pos - Position in the `searchIndex`. - * @param {QueryElement} elem - The element from the parsed query. - * @param {Results} results_others - Unqualified results (not in arguments nor in - * returned values). - * @param {Results} results_in_args - Matching arguments results. - * @param {Results} results_returned - Matching returned arguments results. - */ - function handleSingleArg( - row, - pos, - elem, - results_others, - results_in_args, - results_returned - ) { - if (!row || (filterCrates !== null && row.crate !== filterCrates)) { - return; - } - let lev, lev_add = 0, index = -1; - const fullId = row.id; - - const in_args = findArg(row, elem, parsedQuery.typeFilter); - const returned = checkReturned(row, elem, parsedQuery.typeFilter); - - addIntoResults(results_in_args, fullId, pos, index, in_args); - addIntoResults(results_returned, fullId, pos, index, returned); - - if (!typePassesFilter(parsedQuery.typeFilter, row.ty)) { - return; - } - const searchWord = searchWords[pos]; - - if (parsedQuery.literalSearch) { - if (searchWord === elem.name) { - addIntoResults(results_others, fullId, pos, -1, 0); - } - return; - } - - // No need to check anything else if it's a "pure" generics search. - if (elem.name.length === 0) { - if (row.type !== null) { - lev = checkGenerics(row.type, elem, MAX_LEV_DISTANCE + 1); - addIntoResults(results_others, fullId, pos, index, lev); - } - return; - } - - if (elem.fullPath.length > 1) { - lev = checkPath(elem.pathWithoutLast, row); - if (lev > MAX_LEV_DISTANCE || (parsedQuery.literalSearch && lev !== 0)) { - return; - } else if (lev > 0) { - lev_add = lev / 10; - } - } - - if (searchWord.indexOf(elem.pathLast) > -1 || - row.normalizedName.indexOf(elem.pathLast) > -1 - ) { - index = row.normalizedName.indexOf(elem.pathLast); - } - lev = levenshtein(searchWord, elem.pathLast); - if (lev > 0 && elem.pathLast.length > 2 && searchWord.indexOf(elem.pathLast) > -1) { - if (elem.pathLast.length < 6) { - lev = 1; - } else { - lev = 0; - } - } - lev += lev_add; - if (lev > MAX_LEV_DISTANCE) { - return; - } else if (index !== -1 && elem.fullPath.length < 2) { - lev -= 1; - } - if (lev < 0) { - lev = 0; - } - addIntoResults(results_others, fullId, pos, index, lev); - } - - /** - * This function is called in case the query has more than one element. In this case, it'll - * try to match the items which validates all the elements. For `aa -> bb` will look for - * functions which have a parameter `aa` and has `bb` in its returned values. - * - * @param {Row} row - * @param {integer} pos - Position in the `searchIndex`. - * @param {Object} results - */ - function handleArgs(row, pos, results) { - if (!row || (filterCrates !== null && row.crate !== filterCrates)) { - return; - } - - let totalLev = 0; - let nbLev = 0; - - // If the result is too "bad", we return false and it ends this search. - function checkArgs(elems, callback) { - for (const elem of elems) { - // There is more than one parameter to the query so all checks should be "exact" - const lev = callback(row, elem, NO_TYPE_FILTER); - if (lev <= 1) { - nbLev += 1; - totalLev += lev; - } else { - return false; - } - } - return true; - } - if (!checkArgs(parsedQuery.elems, findArg)) { - return; - } - if (!checkArgs(parsedQuery.returned, checkReturned)) { - return; - } - - if (nbLev === 0) { - return; - } - const lev = Math.round(totalLev / nbLev); - addIntoResults(results, row.id, pos, 0, lev); - } - - function innerRunQuery() { - let elem, i, nSearchWords, in_returned, row; - - if (parsedQuery.foundElems === 1) { - if (parsedQuery.elems.length === 1) { - elem = parsedQuery.elems[0]; - for (i = 0, nSearchWords = searchWords.length; i < nSearchWords; ++i) { - // It means we want to check for this element everywhere (in names, args and - // returned). - handleSingleArg( - searchIndex[i], - i, - elem, - results_others, - results_in_args, - results_returned - ); - } - } else if (parsedQuery.returned.length === 1) { - // We received one returned argument to check, so looking into returned values. - elem = parsedQuery.returned[0]; - for (i = 0, nSearchWords = searchWords.length; i < nSearchWords; ++i) { - row = searchIndex[i]; - in_returned = checkReturned(row, elem, parsedQuery.typeFilter); - addIntoResults(results_others, row.id, i, -1, in_returned); - } - } - } else if (parsedQuery.foundElems > 0) { - for (i = 0, nSearchWords = searchWords.length; i < nSearchWords; ++i) { - handleArgs(searchIndex[i], i, results_others); - } - } - } - - if (parsedQuery.error === null) { - innerRunQuery(); - } - - const ret = createQueryResults( - sortResults(results_in_args, true, currentCrate), - sortResults(results_returned, true, currentCrate), - sortResults(results_others, false, currentCrate), - parsedQuery); - handleAliases(ret, parsedQuery.original.replace(/"/g, ""), filterCrates, currentCrate); - if (parsedQuery.error !== null && ret.others.length !== 0) { - // It means some doc aliases were found so let's "remove" the error! - ret.query.error = null; - } - return ret; - } - - /** - * Validate performs the following boolean logic. For example: - * "File::open" will give IF A PARENT EXISTS => ("file" && "open") - * exists in (name || path || parent) OR => ("file" && "open") exists in - * (name || path ) - * - * This could be written functionally, but I wanted to minimise - * functions on stack. - * - * @param {string} name - The name of the result - * @param {string} path - The path of the result - * @param {string} keys - The keys to be used (["file", "open"]) - * @param {Object} parent - The parent of the result - * - * @return {boolean} - Whether the result is valid or not - */ - function validateResult(name, path, keys, parent) { - if (!keys || !keys.length) { - return true; - } - for (const key of keys) { - // each check is for validation so we negate the conditions and invalidate - if (!( - // check for an exact name match - name.indexOf(key) > -1 || - // then an exact path match - path.indexOf(key) > -1 || - // next if there is a parent, check for exact parent match - (parent !== undefined && parent.name !== undefined && - parent.name.toLowerCase().indexOf(key) > -1) || - // lastly check to see if the name was a levenshtein match - levenshtein(name, key) <= MAX_LEV_DISTANCE)) { - return false; - } - } - return true; - } - - function nextTab(direction) { - const next = (searchState.currentTab + direction + 3) % searchState.focusedByTab.length; - searchState.focusedByTab[searchState.currentTab] = document.activeElement; - printTab(next); - focusSearchResult(); - } - - // Focus the first search result on the active tab, or the result that - // was focused last time this tab was active. - function focusSearchResult() { - const 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) { - let displayPath; - let href; - const type = itemTypes[item.ty]; - const name = item.name; - let path = item.path; - - if (type === "mod") { - displayPath = path + "::"; - href = ROOT_PATH + path.replace(/::/g, "/") + "/" + - name + "/index.html"; - } else if (type === "import") { - displayPath = item.path + "::"; - href = ROOT_PATH + item.path.replace(/::/g, "/") + "/index.html#reexport." + name; - } else if (type === "primitive" || type === "keyword") { - displayPath = ""; - href = ROOT_PATH + path.replace(/::/g, "/") + - "/" + type + "." + name + ".html"; - } else if (type === "externcrate") { - displayPath = ""; - href = ROOT_PATH + name + "/index.html"; - } else if (item.parent !== undefined) { - const myparent = item.parent; - let anchor = "#" + type + "." + name; - const parentType = itemTypes[myparent.ty]; - let pageType = parentType; - let pageName = myparent.name; - - if (parentType === "primitive") { - displayPath = myparent.name + "::"; - } else if (type === "structfield" && parentType === "variant") { - // Structfields belonging to variants are special: the - // final path element is the enum name. - const enumNameIdx = item.path.lastIndexOf("::"); - const enumName = item.path.substr(enumNameIdx + 2); - path = item.path.substr(0, enumNameIdx); - displayPath = path + "::" + enumName + "::" + myparent.name + "::"; - anchor = "#variant." + myparent.name + ".field." + name; - pageType = "enum"; - pageName = enumName; - } else { - displayPath = path + "::" + myparent.name + "::"; - } - href = ROOT_PATH + path.replace(/::/g, "/") + - "/" + pageType + - "." + pageName + - ".html" + anchor; - } else { - displayPath = item.path + "::"; - href = ROOT_PATH + item.path.replace(/::/g, "/") + - "/" + type + "." + name + ".html"; - } - return [displayPath, href]; - } - - function pathSplitter(path) { - const tmp = "" + path.replace(/::/g, "::"); - if (tmp.endsWith("")) { - return tmp.slice(0, tmp.length - 6); - } - return tmp; - } - - /** - * Render a set of search results for a single tab. - * @param {Array} array - The search results for this tab - * @param {ParsedQuery} query - * @param {boolean} display - True if this is the active tab - */ - function addTab(array, query, display) { - let extraClass = ""; - if (display === true) { - extraClass = " active"; - } - - const output = document.createElement("div"); - let length = 0; - if (array.length > 0) { - output.className = "search-results " + extraClass; - - array.forEach(item => { - const name = item.name; - const type = itemTypes[item.ty]; - - length += 1; - - let extra = ""; - if (type === "primitive") { - extra = " (primitive type)"; - } else if (type === "keyword") { - extra = " (keyword)"; - } - - const link = document.createElement("a"); - link.className = "result-" + type; - link.href = item.href; - - const resultName = document.createElement("div"); - resultName.className = "result-name"; - - if (item.is_alias) { - const alias = document.createElement("span"); - alias.className = "alias"; - - const 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 + ""); - link.appendChild(resultName); - - const description = document.createElement("div"); - description.className = "desc"; - description.insertAdjacentHTML("beforeend", item.desc); - - link.appendChild(description); - output.appendChild(link); - }); - } else if (query.error === null) { - output.className = "search-failed" + extraClass; - output.innerHTML = "No results :(
      " + - "Try on DuckDuckGo?

      " + - "Or try looking in one of these:

      "; - } - return [output, length]; - } - - function makeTabHeader(tabNb, text, nbElems) { - if (searchState.currentTab === tabNb) { - return ""; - } - return ""; - } - - /** - * @param {ResultsTable} results - * @param {boolean} go_to_first - * @param {string} filterCrates - */ - function showResults(results, go_to_first, filterCrates) { - const search = searchState.outputElement(); - if (go_to_first || (results.others.length === 1 - && getSettingValue("go-to-only-result") === "true" - // By default, the search DOM element is "empty" (meaning it has no children not - // text content). Once a search has been run, it won't be empty, even if you press - // ESC or empty the search input (which also "cancels" the search). - && (!search.firstChild || search.firstChild.innerText !== searchState.loadingText)) - ) { - const elem = document.createElement("a"); - elem.href = results.others[0].href; - removeClass(elem, "active"); - // For firefox, we need the element to be in the DOM so it can be clicked. - document.body.appendChild(elem); - elem.click(); - return; - } - if (results.query === undefined) { - results.query = parseQuery(searchState.input.value); - } - - currentResults = results.query.userQuery; - - const ret_others = addTab(results.others, results.query, true); - const ret_in_args = addTab(results.in_args, results.query, false); - const ret_returned = addTab(results.returned, results.query, false); - - // Navigate to the relevant tab if the current tab is empty, like in case users search - // for "-> String". If they had selected another tab previously, they have to click on - // it again. - let currentTab = searchState.currentTab; - if ((currentTab === 0 && ret_others[1] === 0) || - (currentTab === 1 && ret_in_args[1] === 0) || - (currentTab === 2 && ret_returned[1] === 0)) { - if (ret_others[1] !== 0) { - currentTab = 0; - } else if (ret_in_args[1] !== 0) { - currentTab = 1; - } else if (ret_returned[1] !== 0) { - currentTab = 2; - } - } - - let crates = ""; - const crates_list = Object.keys(rawSearchIndex); - if (crates_list.length > 1) { - crates = " in 
      "; - } - - let output = `

      Results${crates}

      `; - if (results.query.error !== null) { - output += `

      Query parser error: "${results.query.error}".

      `; - output += "
      " + - makeTabHeader(0, "In Names", ret_others[1]) + - "
      "; - currentTab = 0; - } else if (results.query.foundElems <= 1 && results.query.returned.length === 0) { - output += "
      " + - makeTabHeader(0, "In Names", ret_others[1]) + - makeTabHeader(1, "In Parameters", ret_in_args[1]) + - makeTabHeader(2, "In Return Types", ret_returned[1]) + - "
      "; - } else { - const signatureTabTitle = - results.query.elems.length === 0 ? "In Function Return Types" : - results.query.returned.length === 0 ? "In Function Parameters" : - "In Function Signatures"; - output += "
      " + - makeTabHeader(0, signatureTabTitle, ret_others[1]) + - "
      "; - currentTab = 0; - } - - const resultsElem = document.createElement("div"); - resultsElem.id = "results"; - resultsElem.appendChild(ret_others[0]); - resultsElem.appendChild(ret_in_args[0]); - resultsElem.appendChild(ret_returned[0]); - - search.innerHTML = output; - const crateSearch = document.getElementById("crate-search"); - if (crateSearch) { - crateSearch.addEventListener("input", updateCrate); - } - search.appendChild(resultsElem); - // Reset focused elements. - searchState.showResults(search); - const elems = document.getElementById("titles").childNodes; - searchState.focusedByTab = []; - let i = 0; - for (const elem of elems) { - const j = i; - elem.onclick = () => printTab(j); - searchState.focusedByTab.push(null); - i += 1; - } - printTab(currentTab); - } - - /** - * Perform a search based on the current state of the search input element - * and display the results. - * @param {Event} [e] - The event that triggered this search, if any - * @param {boolean} [forced] - */ - function search(e, forced) { - const params = searchState.getQueryStringParams(); - const query = parseQuery(searchState.input.value.trim()); - - if (e) { - e.preventDefault(); - } - - if (!forced && query.userQuery === currentResults) { - if (query.userQuery.length > 0) { - putBackSearch(); - } - return; - } - - let filterCrates = getFilterCrates(); - - // In case we have no information about the saved crate and there is a URL query parameter, - // we override it with the URL query parameter. - if (filterCrates === null && params["filter-crate"] !== undefined) { - filterCrates = params["filter-crate"]; - } - - // Update document title to maintain a meaningful browser history - searchState.title = "Results for " + query.original + " - Rust"; - - // Because searching is incremental by character, only the most - // recent search query is added to the browser history. - if (browserSupportsHistoryApi()) { - const newURL = buildUrl(query.original, filterCrates); - - if (!history.state && !params.search) { - history.pushState(null, "", newURL); - } else { - history.replaceState(null, "", newURL); - } - } - - showResults( - execQuery(query, searchWords, filterCrates, window.currentCrate), - params.go_to_first, - filterCrates); - } - - /** - * Convert a list of RawFunctionType / ID to object-based FunctionType. - * - * Crates often have lots of functions in them, and it's common to have a large number of - * functions that operate on a small set of data types, so the search index compresses them - * by encoding function parameter and return types as indexes into an array of names. - * - * Even when a general-purpose compression algorithm is used, this is still a win. I checked. - * https://github.com/rust-lang/rust/pull/98475#issue-1284395985 - * - * The format for individual function types is encoded in - * librustdoc/html/render/mod.rs: impl Serialize for RenderType - * - * @param {null|Array} types - * @param {Array<{name: string, ty: number}>} lowercasePaths - * - * @return {Array} - */ - function buildItemSearchTypeAll(types, lowercasePaths) { - const PATH_INDEX_DATA = 0; - const GENERICS_DATA = 1; - return types.map(type => { - let pathIndex, generics; - if (typeof type === "number") { - pathIndex = type; - generics = []; - } else { - pathIndex = type[PATH_INDEX_DATA]; - generics = buildItemSearchTypeAll(type[GENERICS_DATA], lowercasePaths); - } - return { - // `0` is used as a sentinel because it's fewer bytes than `null` - name: pathIndex === 0 ? null : lowercasePaths[pathIndex - 1].name, - ty: pathIndex === 0 ? null : lowercasePaths[pathIndex - 1].ty, - generics: generics, - }; - }); - } - - /** - * Convert from RawFunctionSearchType to FunctionSearchType. - * - * Crates often have lots of functions in them, and function signatures are sometimes complex, - * so rustdoc uses a pretty tight encoding for them. This function converts it to a simpler, - * object-based encoding so that the actual search code is more readable and easier to debug. - * - * The raw function search type format is generated using serde in - * librustdoc/html/render/mod.rs: impl Serialize for IndexItemFunctionType - * - * @param {RawFunctionSearchType} functionSearchType - * @param {Array<{name: string, ty: number}>} lowercasePaths - * - * @return {null|FunctionSearchType} - */ - function buildFunctionSearchType(functionSearchType, lowercasePaths) { - const INPUTS_DATA = 0; - const OUTPUT_DATA = 1; - // `0` is used as a sentinel because it's fewer bytes than `null` - if (functionSearchType === 0) { - return null; - } - let inputs, output; - if (typeof functionSearchType[INPUTS_DATA] === "number") { - const pathIndex = functionSearchType[INPUTS_DATA]; - inputs = [{ - name: pathIndex === 0 ? null : lowercasePaths[pathIndex - 1].name, - ty: pathIndex === 0 ? null : lowercasePaths[pathIndex - 1].ty, - generics: [], - }]; - } else { - inputs = buildItemSearchTypeAll(functionSearchType[INPUTS_DATA], lowercasePaths); - } - if (functionSearchType.length > 1) { - if (typeof functionSearchType[OUTPUT_DATA] === "number") { - const pathIndex = functionSearchType[OUTPUT_DATA]; - output = [{ - name: pathIndex === 0 ? null : lowercasePaths[pathIndex - 1].name, - ty: pathIndex === 0 ? null : lowercasePaths[pathIndex - 1].ty, - generics: [], - }]; - } else { - output = buildItemSearchTypeAll(functionSearchType[OUTPUT_DATA], lowercasePaths); - } - } else { - output = []; - } - return { - inputs, output, - }; - } - - function buildIndex(rawSearchIndex) { - searchIndex = []; - /** - * @type {Array} - */ - const searchWords = []; - let i, word; - let currentIndex = 0; - let id = 0; - - for (const crate in rawSearchIndex) { - if (!hasOwnPropertyRustdoc(rawSearchIndex, crate)) { - continue; - } - - let crateSize = 0; - - /** - * The raw search data for a given crate. `n`, `t`, `d`, and `q`, `i`, and `f` - * are arrays with the same length. n[i] contains the name of an item. - * t[i] contains the type of that item (as a small integer that represents an - * offset in `itemTypes`). d[i] contains the description of that item. - * - * q[i] contains the full path of the item, or an empty string indicating - * "same as q[i-1]". - * - * i[i] contains an item's parent, usually a module. For compactness, - * it is a set of indexes into the `p` array. - * - * f[i] contains function signatures, or `0` if the item isn't a function. - * Functions are themselves encoded as arrays. The first item is a list of - * types representing the function's inputs, and the second list item is a list - * of types representing the function's output. Tuples are flattened. - * Types are also represented as arrays; the first item is an index into the `p` - * array, while the second is a list of types representing any generic parameters. - * - * `a` defines aliases with an Array of pairs: [name, offset], where `offset` - * points into the n/t/d/q/i/f arrays. - * - * `doc` contains the description of the crate. - * - * `p` is a list of path/type pairs. It is used for parents and function parameters. - * - * @type {{ - * doc: string, - * a: Object, - * n: Array, - * t: Array, - * d: Array, - * q: Array, - * i: Array, - * f: Array, - * p: Array, - * }} - */ - const crateCorpus = rawSearchIndex[crate]; - - searchWords.push(crate); - // This object should have exactly the same set of fields as the "row" - // object defined below. Your JavaScript runtime will thank you. - // https://mathiasbynens.be/notes/shapes-ics - const crateRow = { - crate: crate, - ty: 1, // == ExternCrate - name: crate, - path: "", - desc: crateCorpus.doc, - parent: undefined, - type: null, - id: id, - normalizedName: crate.indexOf("_") === -1 ? crate : crate.replace(/_/g, ""), - }; - id += 1; - searchIndex.push(crateRow); - currentIndex += 1; - - // an array of (Number) item types - const itemTypes = crateCorpus.t; - // an array of (String) item names - const itemNames = crateCorpus.n; - // an array of (String) full paths (or empty string for previous path) - const itemPaths = crateCorpus.q; - // an array of (String) descriptions - const itemDescs = crateCorpus.d; - // an array of (Number) the parent path index + 1 to `paths`, or 0 if none - const itemParentIdxs = crateCorpus.i; - // an array of (Object | null) the type of the function, if any - const itemFunctionSearchTypes = crateCorpus.f; - // an array of [(Number) item type, - // (String) name] - const paths = crateCorpus.p; - // an array of [(String) alias name - // [Number] index to items] - const aliases = crateCorpus.a; - - // an array of [{name: String, ty: Number}] - const lowercasePaths = []; - - // convert `rawPaths` entries into object form - // generate normalizedPaths for function search mode - let len = paths.length; - for (i = 0; i < len; ++i) { - lowercasePaths.push({ty: paths[i][0], name: paths[i][1].toLowerCase()}); - paths[i] = {ty: paths[i][0], name: paths[i][1]}; - } - - // convert `item*` into an object form, and construct word indices. - // - // before any analysis is performed lets gather the search terms to - // search against apart from the rest of the data. This is a quick - // operation that is cached for the life of the page state so that - // all other search operations have access to this cached data for - // faster analysis operations - len = itemTypes.length; - let lastPath = ""; - for (i = 0; i < len; ++i) { - // This object should have exactly the same set of fields as the "crateRow" - // object defined above. - if (typeof itemNames[i] === "string") { - word = itemNames[i].toLowerCase(); - searchWords.push(word); - } else { - word = ""; - searchWords.push(""); - } - const row = { - crate: crate, - ty: itemTypes[i], - name: itemNames[i], - path: itemPaths[i] ? itemPaths[i] : lastPath, - desc: itemDescs[i], - parent: itemParentIdxs[i] > 0 ? paths[itemParentIdxs[i] - 1] : undefined, - type: buildFunctionSearchType(itemFunctionSearchTypes[i], lowercasePaths), - id: id, - normalizedName: word.indexOf("_") === -1 ? word : word.replace(/_/g, ""), - }; - id += 1; - searchIndex.push(row); - lastPath = row.path; - crateSize += 1; - } - - if (aliases) { - ALIASES[crate] = Object.create(null); - for (const alias_name in aliases) { - if (!hasOwnPropertyRustdoc(aliases, alias_name)) { - continue; - } - - if (!hasOwnPropertyRustdoc(ALIASES[crate], alias_name)) { - ALIASES[crate][alias_name] = []; - } - for (const local_alias of aliases[alias_name]) { - ALIASES[crate][alias_name].push(local_alias + currentIndex); - } - } - } - currentIndex += crateSize; - } - return searchWords; - } - - /** - * Callback for when the search form is submitted. - * @param {Event} [e] - The event that triggered this call, if any - */ - function onSearchSubmit(e) { - e.preventDefault(); - searchState.clearInputTimeout(); - search(); - } - - function putBackSearch() { - const search_input = searchState.input; - if (!searchState.input) { - return; - } - if (search_input.value !== "" && !searchState.isDisplayed()) { - searchState.showResults(); - if (browserSupportsHistoryApi()) { - history.replaceState(null, "", - buildUrl(search_input.value, getFilterCrates())); - } - document.title = searchState.title; - } - } - - function registerSearchEvents() { - const params = searchState.getQueryStringParams(); - - // Populate search bar with query string search term when provided, - // but only if the input bar is empty. This avoid the obnoxious issue - // where you start trying to do a search, and the index loads, and - // suddenly your search is gone! - if (searchState.input.value === "") { - searchState.input.value = params.search || ""; - } - - const searchAfter500ms = () => { - searchState.clearInputTimeout(); - if (searchState.input.value.length === 0) { - if (browserSupportsHistoryApi()) { - history.replaceState(null, window.currentCrate + " - Rust", - getNakedUrl() + window.location.hash); - } - searchState.hideResults(); - } else { - searchState.timeout = setTimeout(search, 500); - } - }; - searchState.input.onkeyup = searchAfter500ms; - searchState.input.oninput = searchAfter500ms; - document.getElementsByClassName("search-form")[0].onsubmit = onSearchSubmit; - searchState.input.onchange = e => { - if (e.target !== document.activeElement) { - // To prevent doing anything when it's from a blur event. - return; - } - // Do NOT e.preventDefault() here. It will prevent pasting. - searchState.clearInputTimeout(); - // zero-timeout necessary here because at the time of event handler execution the - // pasted content is not in the input field yet. Shouldn’t make any difference for - // change, though. - setTimeout(search, 0); - }; - searchState.input.onpaste = searchState.input.onchange; - - searchState.outputElement().addEventListener("keydown", e => { - // We only handle unmodified keystrokes here. We don't want to interfere with, - // for instance, alt-left and alt-right for history navigation. - if (e.altKey || e.ctrlKey || e.shiftKey || e.metaKey) { - return; - } - // up and down arrow select next/previous search result, or the - // search box if we're already at the top. - if (e.which === 38) { // up - const previous = document.activeElement.previousElementSibling; - if (previous) { - previous.focus(); - } else { - searchState.focus(); - } - e.preventDefault(); - } else if (e.which === 40) { // down - const next = document.activeElement.nextElementSibling; - if (next) { - next.focus(); - } - const rect = document.activeElement.getBoundingClientRect(); - if (window.innerHeight - rect.bottom < rect.height) { - window.scrollBy(0, rect.height); - } - e.preventDefault(); - } else if (e.which === 37) { // left - nextTab(-1); - e.preventDefault(); - } else if (e.which === 39) { // right - nextTab(1); - e.preventDefault(); - } - }); - - searchState.input.addEventListener("keydown", e => { - if (e.which === 40) { // down - focusSearchResult(); - e.preventDefault(); - } - }); - - searchState.input.addEventListener("focus", () => { - putBackSearch(); - }); - - searchState.input.addEventListener("blur", () => { - searchState.input.placeholder = searchState.input.origPlaceholder; - }); - - // Push and pop states are used to add search results to the browser - // history. - if (browserSupportsHistoryApi()) { - // Store the previous so we can revert back to it later. - const previousTitle = document.title; - - window.addEventListener("popstate", e => { - const params = searchState.getQueryStringParams(); - // Revert to the previous title manually since the History - // API ignores the title parameter. - document.title = previousTitle; - // When browsing forward to search results the previous - // search will be repeated, so the currentResults are - // cleared to ensure the search is successful. - currentResults = null; - // Synchronize search bar with query string state and - // perform the search. This will empty the bar if there's - // nothing there, which lets you really go back to a - // previous state with nothing in the bar. - if (params.search && params.search.length > 0) { - searchState.input.value = params.search; - // Some browsers fire "onpopstate" for every page load - // (Chrome), while others fire the event only when actually - // popping a state (Firefox), which is why search() is - // called both here and at the end of the startSearch() - // function. - search(e); - } else { - searchState.input.value = ""; - // When browsing back from search results the main page - // visibility must be reset. - searchState.hideResults(); - } - }); - } - - // This is required in firefox to avoid this problem: Navigating to a search result - // with the keyboard, hitting enter, and then hitting back would take you back to - // the doc page, rather than the search that should overlay it. - // This was an interaction between the back-forward cache and our handlers - // that try to sync state between the URL and the search input. To work around it, - // do a small amount of re-init on page show. - window.onpageshow = () => { - const qSearch = searchState.getQueryStringParams().search; - if (searchState.input.value === "" && qSearch) { - searchState.input.value = qSearch; - } - search(); - }; - } - - function updateCrate(ev) { - if (ev.target.value === "all crates") { - // If we don't remove it from the URL, it'll be picked up again by the search. - const params = searchState.getQueryStringParams(); - const query = searchState.input.value.trim(); - if (!history.state && !params.search) { - history.pushState(null, "", buildUrl(query, null)); - } else { - history.replaceState(null, "", buildUrl(query, null)); - } - } - // In case you "cut" the entry from the search input, then change the crate filter - // before paste back the previous search, you get the old search results without - // the filter. To prevent this, we need to remove the previous results. - currentResults = null; - search(undefined, true); - } - - /** - * @type {Array<string>} - */ - const searchWords = buildIndex(rawSearchIndex); - if (typeof window !== "undefined") { - registerSearchEvents(); - // If there's a search term in the URL, execute the search now. - if (window.searchState.getQueryStringParams().search) { - search(); - } - } - - if (typeof exports !== "undefined") { - exports.initSearch = initSearch; - exports.execQuery = execQuery; - exports.parseQuery = parseQuery; - } - return searchWords; -} - -if (typeof window !== "undefined") { - window.initSearch = initSearch; - if (window.searchIndex !== undefined) { - initSearch(window.searchIndex); - } -} else { - // Running in Node, not a browser. Run initSearch just to produce the - // exports. - initSearch({}); -} - - -})(); diff --git a/static.files/search-444266647c4dba98.js b/static.files/search-444266647c4dba98.js new file mode 100644 index 000000000..bf59e1d8e --- /dev/null +++ b/static.files/search-444266647c4dba98.js @@ -0,0 +1 @@ +"use strict";(function(){const 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",];const TY_PRIMITIVE=itemTypes.indexOf("primitive");const TY_KEYWORD=itemTypes.indexOf("keyword");const ROOT_PATH=typeof window!=="undefined"?window.rootPath:"../";function hasOwnPropertyRustdoc(obj,property){return Object.prototype.hasOwnProperty.call(obj,property)}function printTab(nb){let iter=0;let foundCurrentTab=false;let foundCurrentResultSet=false;onEachLazy(document.getElementById("titles").childNodes,elem=>{if(nb===iter){addClass(elem,"selected");foundCurrentTab=true}else{removeClass(elem,"selected")}iter+=1});iter=0;onEachLazy(document.getElementById("results").childNodes,elem=>{if(nb===iter){addClass(elem,"active");foundCurrentResultSet=true}else{removeClass(elem,"active")}iter+=1});if(foundCurrentTab&&foundCurrentResultSet){searchState.currentTab=nb}else if(nb!==0){printTab(0)}}const levenshtein_row2=[];function levenshtein(s1,s2){if(s1===s2){return 0}const s1_len=s1.length,s2_len=s2.length;if(s1_len&&s2_len){let i1=0,i2=0,a,b,c,c2;const row=levenshtein_row2;while(i1<s1_len){row[i1]=++i1}while(i2<s2_len){c2=s2.charCodeAt(i2);a=i2;++i2;b=i2;for(i1=0;i1<s1_len;++i1){c=a+(s1.charCodeAt(i1)!==c2?1:0);a=row[i1];b=b<a?(b<c?b+1:c):(a<c?a+1:c);row[i1]=b}}return b}return s1_len+s2_len}function initSearch(rawSearchIndex){const MAX_LEV_DISTANCE=3;const MAX_RESULTS=200;const NO_TYPE_FILTER=-1;let searchIndex;let currentResults;const ALIASES=Object.create(null);function isWhitespace(c){return" \t\n\r".indexOf(c)!==-1}function isSpecialStartCharacter(c){return"<\"".indexOf(c)!==-1}function isEndCharacter(c){return",>-".indexOf(c)!==-1}function isStopCharacter(c){return isWhitespace(c)||isEndCharacter(c)}function isErrorCharacter(c){return"()".indexOf(c)!==-1}function itemTypeFromName(typename){for(let i=0,len=itemTypes.length;i<len;++i){if(itemTypes[i]===typename){return i}}throw new Error("Unknown type filter `"+typename+"`")}function getStringElem(query,parserState,isInGenerics){if(isInGenerics){throw new Error("`\"` cannot be used in generics")}else if(query.literalSearch){throw new Error("Cannot have more than one literal search element")}else if(parserState.totalElems-parserState.genericsElems>0){throw new Error("Cannot use literal search when there is more than one element")}parserState.pos+=1;const start=parserState.pos;const end=getIdentEndPosition(parserState);if(parserState.pos>=parserState.length){throw new Error("Unclosed `\"`")}else if(parserState.userQuery[end]!=="\""){throw new Error(`Unexpected \`${parserState.userQuery[end]}\` in a string element`)}else if(start===end){throw new Error("Cannot have empty string element")}parserState.pos+=1;query.literalSearch=true}function isPathStart(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)==="::"}function isReturnArrow(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)==="->"}function isIdentCharacter(c){return(c==="_"||(c>="0"&&c<="9")||(c>="a"&&c<="z")||(c>="A"&&c<="Z"))}function isSeparatorCharacter(c){return c===","||isWhitespaceCharacter(c)}function isWhitespaceCharacter(c){return c===" "||c==="\t"}function createQueryElement(query,parserState,name,generics,isInGenerics){if(name==="*"||(name.length===0&&generics.length===0)){return}if(query.literalSearch&&parserState.totalElems-parserState.genericsElems>0){throw new Error("You cannot have more than one element if you use quotes")}const pathSegments=name.split("::");if(pathSegments.length>1){for(let i=0,len=pathSegments.length;i<len;++i){const pathSegment=pathSegments[i];if(pathSegment.length===0){if(i===0){throw new Error("Paths cannot start with `::`")}else if(i+1===len){throw new Error("Paths cannot end with `::`")}throw new Error("Unexpected `::::`")}}}if(pathSegments.length===0||(pathSegments.length===1&&pathSegments[0]==="")){throw new Error("Found generics without a path")}parserState.totalElems+=1;if(isInGenerics){parserState.genericsElems+=1}return{name:name,fullPath:pathSegments,pathWithoutLast:pathSegments.slice(0,pathSegments.length-1),pathLast:pathSegments[pathSegments.length-1],generics:generics,}}function getIdentEndPosition(parserState){let end=parserState.pos;let foundExclamation=false;while(parserState.pos<parserState.length){const c=parserState.userQuery[parserState.pos];if(!isIdentCharacter(c)){if(c==="!"){if(foundExclamation){throw new Error("Cannot have more than one `!` in an ident")}else if(parserState.pos+1<parserState.length&&isIdentCharacter(parserState.userQuery[parserState.pos+1])){throw new Error("`!` can only be at the end of an ident")}foundExclamation=true}else if(isErrorCharacter(c)){throw new Error(`Unexpected \`${c}\``)}else if(isStopCharacter(c)||isSpecialStartCharacter(c)||isSeparatorCharacter(c)){break}else if(c===":"){if(!isPathStart(parserState)){break}parserState.pos+=1;foundExclamation=false}else{throw new Error(`Unexpected \`${c}\``)}}parserState.pos+=1;end=parserState.pos}return end}function getNextElem(query,parserState,elems,isInGenerics){const generics=[];let start=parserState.pos;let end;if(parserState.userQuery[parserState.pos]==="\""){start+=1;getStringElem(query,parserState,isInGenerics);end=parserState.pos-1}else{end=getIdentEndPosition(parserState)}if(parserState.pos<parserState.length&&parserState.userQuery[parserState.pos]==="<"){if(isInGenerics){throw new Error("Unexpected `<` after `<`")}else if(start>=end){throw new Error("Found generics without a path")}parserState.pos+=1;getItemsBefore(query,parserState,generics,">")}if(start>=end&&generics.length===0){return}elems.push(createQueryElement(query,parserState,parserState.userQuery.slice(start,end),generics,isInGenerics))}function getItemsBefore(query,parserState,elems,endChar){let foundStopChar=true;while(parserState.pos<parserState.length){const c=parserState.userQuery[parserState.pos];if(c===endChar){break}else if(isSeparatorCharacter(c)){parserState.pos+=1;foundStopChar=true;continue}else if(c===":"&&isPathStart(parserState)){throw new Error("Unexpected `::`: paths cannot start with `::`")}else if(c===":"||isEndCharacter(c)){let extra="";if(endChar===">"){extra="`<`"}else if(endChar===""){extra="`->`"}throw new Error("Unexpected `"+c+"` after "+extra)}if(!foundStopChar){if(endChar!==""){throw new Error(`Expected \`,\`, \` \` or \`${endChar}\`, found \`${c}\``)}throw new Error(`Expected \`,\` or \` \`, found \`${c}\``)}const posBefore=parserState.pos;getNextElem(query,parserState,elems,endChar===">");if(posBefore===parserState.pos){parserState.pos+=1}foundStopChar=false}parserState.pos+=1}function checkExtraTypeFilterCharacters(parserState){const query=parserState.userQuery;for(let pos=0;pos<parserState.pos;++pos){if(!isIdentCharacter(query[pos])&&!isWhitespaceCharacter(query[pos])){throw new Error(`Unexpected \`${query[pos]}\` in type filter`)}}}function parseInput(query,parserState){let c,before;let foundStopChar=true;while(parserState.pos<parserState.length){c=parserState.userQuery[parserState.pos];if(isStopCharacter(c)){foundStopChar=true;if(isSeparatorCharacter(c)){parserState.pos+=1;continue}else if(c==="-"||c===">"){if(isReturnArrow(parserState)){break}throw new Error(`Unexpected \`${c}\` (did you mean \`->\`?)`)}throw new Error(`Unexpected \`${c}\``)}else if(c===":"&&!isPathStart(parserState)){if(parserState.typeFilter!==null){throw new Error("Unexpected `:`")}if(query.elems.length===0){throw new Error("Expected type filter before `:`")}else if(query.elems.length!==1||parserState.totalElems!==1){throw new Error("Unexpected `:`")}else if(query.literalSearch){throw new Error("You cannot use quotes on type filter")}checkExtraTypeFilterCharacters(parserState);parserState.typeFilter=query.elems.pop().name;parserState.pos+=1;parserState.totalElems=0;query.literalSearch=false;foundStopChar=true;continue}if(!foundStopChar){if(parserState.typeFilter!==null){throw new Error(`Expected \`,\`, \` \` or \`->\`, found \`${c}\``)}throw new Error(`Expected \`,\`, \` \`, \`:\` or \`->\`, found \`${c}\``)}before=query.elems.length;getNextElem(query,parserState,query.elems,false);if(query.elems.length===before){parserState.pos+=1}foundStopChar=false}while(parserState.pos<parserState.length){c=parserState.userQuery[parserState.pos];if(isReturnArrow(parserState)){parserState.pos+=2;getItemsBefore(query,parserState,query.returned,"");if(query.returned.length===0){throw new Error("Expected at least one item after `->`")}break}else{parserState.pos+=1}}}function newParsedQuery(userQuery){return{original:userQuery,userQuery:userQuery.toLowerCase(),typeFilter:NO_TYPE_FILTER,elems:[],returned:[],foundElems:0,literalSearch:false,error:null,}}function buildUrl(search,filterCrates){let extra="?search="+encodeURIComponent(search);if(filterCrates!==null){extra+="&filter-crate="+encodeURIComponent(filterCrates)}return getNakedUrl()+extra+window.location.hash}function getFilterCrates(){const elem=document.getElementById("crate-search");if(elem&&elem.value!=="all crates"&&hasOwnPropertyRustdoc(rawSearchIndex,elem.value)){return elem.value}return null}function parseQuery(userQuery){userQuery=userQuery.trim();const parserState={length:userQuery.length,pos:0,totalElems:0,genericsElems:0,typeFilter:null,userQuery:userQuery.toLowerCase(),};let query=newParsedQuery(userQuery);try{parseInput(query,parserState);if(parserState.typeFilter!==null){let typeFilter=parserState.typeFilter;if(typeFilter==="const"){typeFilter="constant"}query.typeFilter=itemTypeFromName(typeFilter)}}catch(err){query=newParsedQuery(userQuery);query.error=err.message;query.typeFilter=-1;return query}if(!query.literalSearch){query.literalSearch=parserState.totalElems>1}query.foundElems=query.elems.length+query.returned.length;return query}function createQueryResults(results_in_args,results_returned,results_others,parsedQuery){return{"in_args":results_in_args,"returned":results_returned,"others":results_others,"query":parsedQuery,}}function execQuery(parsedQuery,searchWords,filterCrates,currentCrate){const results_others={},results_in_args={},results_returned={};function transformResults(results){const duplicates={};const out=[];for(const result of results){if(result.id>-1){const obj=searchIndex[result.id];obj.lev=result.lev;const res=buildHrefAndPath(obj);obj.displayPath=pathSplitter(res[0]);obj.fullPath=obj.displayPath+obj.name;obj.fullPath+="|"+obj.ty;if(duplicates[obj.fullPath]){continue}duplicates[obj.fullPath]=true;obj.href=res[1];out.push(obj);if(out.length>=MAX_RESULTS){break}}}return out}function sortResults(results,isType,preferredCrate){const userQuery=parsedQuery.userQuery;const ar=[];for(const entry in results){if(hasOwnPropertyRustdoc(results,entry)){const result=results[entry];result.word=searchWords[result.id];result.item=searchIndex[result.id]||{};ar.push(result)}}results=ar;if(results.length===0){return[]}results.sort((aaa,bbb)=>{let a,b;a=(aaa.word!==userQuery);b=(bbb.word!==userQuery);if(a!==b){return a-b}a=(aaa.lev);b=(bbb.lev);if(a!==b){return a-b}a=(aaa.item.crate!==preferredCrate);b=(bbb.item.crate!==preferredCrate);if(a!==b){return a-b}a=aaa.word.length;b=bbb.word.length;if(a!==b){return a-b}a=aaa.word;b=bbb.word;if(a!==b){return(a>b?+1:-1)}a=(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});let nameSplit=null;if(parsedQuery.elems.length===1){const hasPath=typeof parsedQuery.elems[0].path==="undefined";nameSplit=hasPath?null:parsedQuery.elems[0].path}for(const result of results){if(result.dontValidate){continue}const name=result.item.name.toLowerCase(),path=result.item.path.toLowerCase(),parent=result.item.parent;if(!isType&&!validateResult(name,path,nameSplit,parent)){result.id=-1}}return transformResults(results)}function checkGenerics(row,elem,defaultLev){if(row.generics.length===0){return elem.generics.length===0?defaultLev:MAX_LEV_DISTANCE+1}else if(row.generics.length>0&&row.generics[0].name===null){return checkGenerics(row.generics[0],elem,defaultLev)}let elem_name;if(elem.generics.length>0&&row.generics.length>=elem.generics.length){const elems=Object.create(null);for(const entry of row.generics){elem_name=entry.name;if(elem_name===""){if(checkGenerics(entry,elem,MAX_LEV_DISTANCE+1)!==0){return MAX_LEV_DISTANCE+1}continue}if(elems[elem_name]===undefined){elems[elem_name]=0}elems[elem_name]+=1}for(const generic of elem.generics){let match=null;if(elems[generic.name]){match=generic.name}else{for(elem_name in elems){if(!hasOwnPropertyRustdoc(elems,elem_name)){continue}if(elem_name===generic){match=elem_name;break}}}if(match===null){return MAX_LEV_DISTANCE+1}elems[match]-=1;if(elems[match]===0){delete elems[match]}}return 0}return MAX_LEV_DISTANCE+1}function checkIfInGenerics(row,elem){let lev=MAX_LEV_DISTANCE+1;for(const entry of row.generics){lev=Math.min(checkType(entry,elem,true),lev);if(lev===0){break}}return lev}function checkType(row,elem,literalSearch){if(row.name===null){if(row.generics.length>0){return checkIfInGenerics(row,elem)}return MAX_LEV_DISTANCE+1}let lev=levenshtein(row.name,elem.name);if(literalSearch){if(lev!==0){if(elem.generics.length===0){const checkGeneric=row.generics.length>0;if(checkGeneric&&row.generics.findIndex(tmp_elem=>tmp_elem.name===elem.name)!==-1){return 0}}return MAX_LEV_DISTANCE+1}else if(elem.generics.length>0){return checkGenerics(row,elem,MAX_LEV_DISTANCE+1)}return 0}else if(row.generics.length>0){if(elem.generics.length===0){if(lev===0){return 0}lev=checkIfInGenerics(row,elem);return lev+0.5}else if(lev>MAX_LEV_DISTANCE){return checkIfInGenerics(row,elem)}else{const tmp_lev=checkGenerics(row,elem,lev);if(tmp_lev>MAX_LEV_DISTANCE){return MAX_LEV_DISTANCE+1}return(tmp_lev+lev)/2}}else if(elem.generics.length>0){return MAX_LEV_DISTANCE+1}return lev}function findArg(row,elem,typeFilter){let lev=MAX_LEV_DISTANCE+1;if(row&&row.type&&row.type.inputs&&row.type.inputs.length>0){for(const input of row.type.inputs){if(!typePassesFilter(typeFilter,input.ty)){continue}lev=Math.min(lev,checkType(input,elem,parsedQuery.literalSearch));if(lev===0){return 0}}}return parsedQuery.literalSearch?MAX_LEV_DISTANCE+1:lev}function checkReturned(row,elem,typeFilter){let lev=MAX_LEV_DISTANCE+1;if(row&&row.type&&row.type.output.length>0){const ret=row.type.output;for(const ret_ty of ret){if(!typePassesFilter(typeFilter,ret_ty.ty)){continue}lev=Math.min(lev,checkType(ret_ty,elem,parsedQuery.literalSearch));if(lev===0){return 0}}}return parsedQuery.literalSearch?MAX_LEV_DISTANCE+1:lev}function checkPath(contains,ty){if(contains.length===0){return 0}let ret_lev=MAX_LEV_DISTANCE+1;const path=ty.path.split("::");if(ty.parent&&ty.parent.name){path.push(ty.parent.name.toLowerCase())}const length=path.length;const clength=contains.length;if(clength>length){return MAX_LEV_DISTANCE+1}for(let i=0;i<length;++i){if(i+clength>length){break}let lev_total=0;let aborted=false;for(let x=0;x<clength;++x){const lev=levenshtein(path[i+x],contains[x]);if(lev>MAX_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||filter===type)return true;const name=itemTypes[type];switch(itemTypes[filter]){case"constant":return name==="associatedconstant";case"fn":return name==="method"||name==="tymethod";case"type":return name==="primitive"||name==="associatedtype";case"trait":return name==="traitalias"}return false}function createAliasFromItem(item){return{crate:item.crate,name:item.name,path:item.path,desc:item.desc,ty:item.ty,parent:item.parent,type:item.type,is_alias:true,}}function handleAliases(ret,query,filterCrates,currentCrate){const lowerQuery=query.toLowerCase();const aliases=[];const crateAliases=[];if(filterCrates!==null){if(ALIASES[filterCrates]&&ALIASES[filterCrates][lowerQuery]){const query_aliases=ALIASES[filterCrates][lowerQuery];for(const alias of query_aliases){aliases.push(createAliasFromItem(searchIndex[alias]))}}}else{Object.keys(ALIASES).forEach(crate=>{if(ALIASES[crate][lowerQuery]){const pushTo=crate===currentCrate?crateAliases:aliases;const query_aliases=ALIASES[crate][lowerQuery];for(const alias of query_aliases){pushTo.push(createAliasFromItem(searchIndex[alias]))}}})}const sortFunc=(aaa,bbb)=>{if(aaa.path<bbb.path){return 1}else if(aaa.path===bbb.path){return 0}return-1};crateAliases.sort(sortFunc);aliases.sort(sortFunc);const pushFunc=alias=>{alias.alias=query;const res=buildHrefAndPath(alias);alias.displayPath=pathSplitter(res[0]);alias.fullPath=alias.displayPath+alias.name;alias.href=res[1];ret.others.unshift(alias);if(ret.others.length>MAX_RESULTS){ret.others.pop()}};aliases.forEach(pushFunc);crateAliases.forEach(pushFunc)}function addIntoResults(results,fullId,id,index,lev){if(lev===0||(!parsedQuery.literalSearch&&lev<=MAX_LEV_DISTANCE)){if(results[fullId]!==undefined){const result=results[fullId];if(result.dontValidate||result.lev<=lev){return}}results[fullId]={id:id,index:index,dontValidate:parsedQuery.literalSearch,lev:lev,}}}function handleSingleArg(row,pos,elem,results_others,results_in_args,results_returned){if(!row||(filterCrates!==null&&row.crate!==filterCrates)){return}let lev,lev_add=0,index=-1;const fullId=row.id;const in_args=findArg(row,elem,parsedQuery.typeFilter);const returned=checkReturned(row,elem,parsedQuery.typeFilter);addIntoResults(results_in_args,fullId,pos,index,in_args);addIntoResults(results_returned,fullId,pos,index,returned);if(!typePassesFilter(parsedQuery.typeFilter,row.ty)){return}const searchWord=searchWords[pos];if(parsedQuery.literalSearch){if(searchWord===elem.name){addIntoResults(results_others,fullId,pos,-1,0)}return}if(elem.name.length===0){if(row.type!==null){lev=checkGenerics(row.type,elem,MAX_LEV_DISTANCE+1);addIntoResults(results_others,fullId,pos,index,lev)}return}if(elem.fullPath.length>1){lev=checkPath(elem.pathWithoutLast,row);if(lev>MAX_LEV_DISTANCE||(parsedQuery.literalSearch&&lev!==0)){return}else if(lev>0){lev_add=lev/10}}if(searchWord.indexOf(elem.pathLast)>-1||row.normalizedName.indexOf(elem.pathLast)>-1){index=row.normalizedName.indexOf(elem.pathLast)}lev=levenshtein(searchWord,elem.pathLast);if(lev>0&&elem.pathLast.length>2&&searchWord.indexOf(elem.pathLast)>-1){if(elem.pathLast.length<6){lev=1}else{lev=0}}lev+=lev_add;if(lev>MAX_LEV_DISTANCE){return}else if(index!==-1&&elem.fullPath.length<2){lev-=1}if(lev<0){lev=0}addIntoResults(results_others,fullId,pos,index,lev)}function handleArgs(row,pos,results){if(!row||(filterCrates!==null&&row.crate!==filterCrates)){return}let totalLev=0;let nbLev=0;function checkArgs(elems,callback){for(const elem of elems){const lev=callback(row,elem,NO_TYPE_FILTER);if(lev<=1){nbLev+=1;totalLev+=lev}else{return false}}return true}if(!checkArgs(parsedQuery.elems,findArg)){return}if(!checkArgs(parsedQuery.returned,checkReturned)){return}if(nbLev===0){return}const lev=Math.round(totalLev/nbLev);addIntoResults(results,row.id,pos,0,lev)}function innerRunQuery(){let elem,i,nSearchWords,in_returned,row;if(parsedQuery.foundElems===1){if(parsedQuery.elems.length===1){elem=parsedQuery.elems[0];for(i=0,nSearchWords=searchWords.length;i<nSearchWords;++i){handleSingleArg(searchIndex[i],i,elem,results_others,results_in_args,results_returned)}}else if(parsedQuery.returned.length===1){elem=parsedQuery.returned[0];for(i=0,nSearchWords=searchWords.length;i<nSearchWords;++i){row=searchIndex[i];in_returned=checkReturned(row,elem,parsedQuery.typeFilter);addIntoResults(results_others,row.id,i,-1,in_returned)}}}else if(parsedQuery.foundElems>0){for(i=0,nSearchWords=searchWords.length;i<nSearchWords;++i){handleArgs(searchIndex[i],i,results_others)}}}if(parsedQuery.error===null){innerRunQuery()}const ret=createQueryResults(sortResults(results_in_args,true,currentCrate),sortResults(results_returned,true,currentCrate),sortResults(results_others,false,currentCrate),parsedQuery);handleAliases(ret,parsedQuery.original.replace(/"/g,""),filterCrates,currentCrate);if(parsedQuery.error!==null&&ret.others.length!==0){ret.query.error=null}return ret}function validateResult(name,path,keys,parent){if(!keys||!keys.length){return true}for(const key of keys){if(!(name.indexOf(key)>-1||path.indexOf(key)>-1||(parent!==undefined&&parent.name!==undefined&&parent.name.toLowerCase().indexOf(key)>-1)||levenshtein(name,key)<=MAX_LEV_DISTANCE)){return false}}return true}function nextTab(direction){const next=(searchState.currentTab+direction+3)%searchState.focusedByTab.length;searchState.focusedByTab[searchState.currentTab]=document.activeElement;printTab(next);focusSearchResult()}function focusSearchResult(){const target=searchState.focusedByTab[searchState.currentTab]||document.querySelectorAll(".search-results.active a").item(0)||document.querySelectorAll("#titles > button").item(searchState.currentTab);searchState.focusedByTab[searchState.currentTab]=null;if(target){target.focus()}}function buildHrefAndPath(item){let displayPath;let href;const type=itemTypes[item.ty];const name=item.name;let path=item.path;if(type==="mod"){displayPath=path+"::";href=ROOT_PATH+path.replace(/::/g,"/")+"/"+name+"/index.html"}else if(type==="import"){displayPath=item.path+"::";href=ROOT_PATH+item.path.replace(/::/g,"/")+"/index.html#reexport."+name}else if(type==="primitive"||type==="keyword"){displayPath="";href=ROOT_PATH+path.replace(/::/g,"/")+"/"+type+"."+name+".html"}else if(type==="externcrate"){displayPath="";href=ROOT_PATH+name+"/index.html"}else if(item.parent!==undefined){const myparent=item.parent;let anchor="#"+type+"."+name;const parentType=itemTypes[myparent.ty];let pageType=parentType;let pageName=myparent.name;if(parentType==="primitive"){displayPath=myparent.name+"::"}else if(type==="structfield"&&parentType==="variant"){const enumNameIdx=item.path.lastIndexOf("::");const enumName=item.path.substr(enumNameIdx+2);path=item.path.substr(0,enumNameIdx);displayPath=path+"::"+enumName+"::"+myparent.name+"::";anchor="#variant."+myparent.name+".field."+name;pageType="enum";pageName=enumName}else{displayPath=path+"::"+myparent.name+"::"}href=ROOT_PATH+path.replace(/::/g,"/")+"/"+pageType+"."+pageName+".html"+anchor}else{displayPath=item.path+"::";href=ROOT_PATH+item.path.replace(/::/g,"/")+"/"+type+"."+name+".html"}return[displayPath,href]}function pathSplitter(path){const tmp="<span>"+path.replace(/::/g,"::</span><span>");if(tmp.endsWith("<span>")){return tmp.slice(0,tmp.length-6)}return tmp}function addTab(array,query,display){let extraClass="";if(display===true){extraClass=" active"}const output=document.createElement("div");let length=0;if(array.length>0){output.className="search-results "+extraClass;array.forEach(item=>{const name=item.name;const type=itemTypes[item.ty];length+=1;let extra="";if(type==="primitive"){extra=" <i>(primitive type)</i>"}else if(type==="keyword"){extra=" <i>(keyword)</i>"}const link=document.createElement("a");link.className="result-"+type;link.href=item.href;const resultName=document.createElement("div");resultName.className="result-name";if(item.is_alias){const alias=document.createElement("span");alias.className="alias";const bold=document.createElement("b");bold.innerText=item.alias;alias.appendChild(bold);alias.insertAdjacentHTML("beforeend","<span class=\"grey\"><i> - see </i></span>");resultName.appendChild(alias)}resultName.insertAdjacentHTML("beforeend",item.displayPath+"<span class=\""+type+"\">"+name+extra+"</span>");link.appendChild(resultName);const description=document.createElement("div");description.className="desc";description.insertAdjacentHTML("beforeend",item.desc);link.appendChild(description);output.appendChild(link)})}else if(query.error===null){output.className="search-failed"+extraClass;output.innerHTML="No results :(<br/>"+"Try on <a href=\"https://duckduckgo.com/?q="+encodeURIComponent("rust "+query.userQuery)+"\">DuckDuckGo</a>?<br/><br/>"+"Or try looking in one of these:<ul><li>The <a "+"href=\"https://doc.rust-lang.org/reference/index.html\">Rust Reference</a> "+" for technical details about the language.</li><li><a "+"href=\"https://doc.rust-lang.org/rust-by-example/index.html\">Rust By "+"Example</a> for expository code examples.</a></li><li>The <a "+"href=\"https://doc.rust-lang.org/book/index.html\">Rust Book</a> for "+"introductions to language features and the language itself.</li><li><a "+"href=\"https://docs.rs\">Docs.rs</a> for documentation of crates released on"+" <a href=\"https://crates.io/\">crates.io</a>.</li></ul>"}return[output,length]}function makeTabHeader(tabNb,text,nbElems){if(searchState.currentTab===tabNb){return"<button class=\"selected\">"+text+" <div class=\"count\">("+nbElems+")</div></button>"}return"<button>"+text+" <div class=\"count\">("+nbElems+")</div></button>"}function showResults(results,go_to_first,filterCrates){const search=searchState.outputElement();if(go_to_first||(results.others.length===1&&getSettingValue("go-to-only-result")==="true"&&(!search.firstChild||search.firstChild.innerText!==searchState.loadingText))){const elem=document.createElement("a");elem.href=results.others[0].href;removeClass(elem,"active");document.body.appendChild(elem);elem.click();return}if(results.query===undefined){results.query=parseQuery(searchState.input.value)}currentResults=results.query.userQuery;const ret_others=addTab(results.others,results.query,true);const ret_in_args=addTab(results.in_args,results.query,false);const ret_returned=addTab(results.returned,results.query,false);let currentTab=searchState.currentTab;if((currentTab===0&&ret_others[1]===0)||(currentTab===1&&ret_in_args[1]===0)||(currentTab===2&&ret_returned[1]===0)){if(ret_others[1]!==0){currentTab=0}else if(ret_in_args[1]!==0){currentTab=1}else if(ret_returned[1]!==0){currentTab=2}}let crates="";const crates_list=Object.keys(rawSearchIndex);if(crates_list.length>1){crates=" in <div id=\"crate-search-div\"><select id=\"crate-search\">"+"<option value=\"all crates\">all crates</option>";for(const c of crates_list){crates+=`<option value="${c}" ${c === filterCrates && "selected"}>${c}</option>`}crates+="</select></div>"}let output=`<h1 class="search-results-title">Results${crates}</h1>`;if(results.query.error!==null){output+=`<h3>Query parser error: "${results.query.error}".</h3>`;output+="<div id=\"titles\">"+makeTabHeader(0,"In Names",ret_others[1])+"</div>";currentTab=0}else if(results.query.foundElems<=1&&results.query.returned.length===0){output+="<div id=\"titles\">"+makeTabHeader(0,"In Names",ret_others[1])+makeTabHeader(1,"In Parameters",ret_in_args[1])+makeTabHeader(2,"In Return Types",ret_returned[1])+"</div>"}else{const signatureTabTitle=results.query.elems.length===0?"In Function Return Types":results.query.returned.length===0?"In Function Parameters":"In Function Signatures";output+="<div id=\"titles\">"+makeTabHeader(0,signatureTabTitle,ret_others[1])+"</div>";currentTab=0}const resultsElem=document.createElement("div");resultsElem.id="results";resultsElem.appendChild(ret_others[0]);resultsElem.appendChild(ret_in_args[0]);resultsElem.appendChild(ret_returned[0]);search.innerHTML=output;const crateSearch=document.getElementById("crate-search");if(crateSearch){crateSearch.addEventListener("input",updateCrate)}search.appendChild(resultsElem);searchState.showResults(search);const elems=document.getElementById("titles").childNodes;searchState.focusedByTab=[];let i=0;for(const elem of elems){const j=i;elem.onclick=()=>printTab(j);searchState.focusedByTab.push(null);i+=1}printTab(currentTab)}function search(e,forced){if(e){e.preventDefault()}const query=parseQuery(searchState.input.value.trim());let filterCrates=getFilterCrates();if(!forced&&query.userQuery===currentResults){if(query.userQuery.length>0){putBackSearch()}return}searchState.setLoadingSearch();const params=searchState.getQueryStringParams();if(filterCrates===null&¶ms["filter-crate"]!==undefined){filterCrates=params["filter-crate"]}searchState.title="Results for "+query.original+" - Rust";if(browserSupportsHistoryApi()){const newURL=buildUrl(query.original,filterCrates);if(!history.state&&!params.search){history.pushState(null,"",newURL)}else{history.replaceState(null,"",newURL)}}showResults(execQuery(query,searchWords,filterCrates,window.currentCrate),params.go_to_first,filterCrates)}function buildItemSearchTypeAll(types,lowercasePaths){const PATH_INDEX_DATA=0;const GENERICS_DATA=1;return types.map(type=>{let pathIndex,generics;if(typeof type==="number"){pathIndex=type;generics=[]}else{pathIndex=type[PATH_INDEX_DATA];generics=buildItemSearchTypeAll(type[GENERICS_DATA],lowercasePaths)}return{name:pathIndex===0?null:lowercasePaths[pathIndex-1].name,ty:pathIndex===0?null:lowercasePaths[pathIndex-1].ty,generics:generics,}})}function buildFunctionSearchType(functionSearchType,lowercasePaths){const INPUTS_DATA=0;const OUTPUT_DATA=1;if(functionSearchType===0){return null}let inputs,output;if(typeof functionSearchType[INPUTS_DATA]==="number"){const pathIndex=functionSearchType[INPUTS_DATA];inputs=[{name:pathIndex===0?null:lowercasePaths[pathIndex-1].name,ty:pathIndex===0?null:lowercasePaths[pathIndex-1].ty,generics:[],}]}else{inputs=buildItemSearchTypeAll(functionSearchType[INPUTS_DATA],lowercasePaths)}if(functionSearchType.length>1){if(typeof functionSearchType[OUTPUT_DATA]==="number"){const pathIndex=functionSearchType[OUTPUT_DATA];output=[{name:pathIndex===0?null:lowercasePaths[pathIndex-1].name,ty:pathIndex===0?null:lowercasePaths[pathIndex-1].ty,generics:[],}]}else{output=buildItemSearchTypeAll(functionSearchType[OUTPUT_DATA],lowercasePaths)}}else{output=[]}return{inputs,output,}}function buildIndex(rawSearchIndex){searchIndex=[];const searchWords=[];let i,word;let currentIndex=0;let id=0;for(const crate in rawSearchIndex){if(!hasOwnPropertyRustdoc(rawSearchIndex,crate)){continue}let crateSize=0;const crateCorpus=rawSearchIndex[crate];searchWords.push(crate);const crateRow={crate:crate,ty:1,name:crate,path:"",desc:crateCorpus.doc,parent:undefined,type:null,id:id,normalizedName:crate.indexOf("_")===-1?crate:crate.replace(/_/g,""),};id+=1;searchIndex.push(crateRow);currentIndex+=1;const itemTypes=crateCorpus.t;const itemNames=crateCorpus.n;const itemPaths=crateCorpus.q;const itemDescs=crateCorpus.d;const itemParentIdxs=crateCorpus.i;const itemFunctionSearchTypes=crateCorpus.f;const paths=crateCorpus.p;const aliases=crateCorpus.a;const lowercasePaths=[];let len=paths.length;for(i=0;i<len;++i){lowercasePaths.push({ty:paths[i][0],name:paths[i][1].toLowerCase()});paths[i]={ty:paths[i][0],name:paths[i][1]}}len=itemTypes.length;let lastPath="";for(i=0;i<len;++i){if(typeof itemNames[i]==="string"){word=itemNames[i].toLowerCase();searchWords.push(word)}else{word="";searchWords.push("")}const row={crate:crate,ty:itemTypes[i],name:itemNames[i],path:itemPaths[i]?itemPaths[i]:lastPath,desc:itemDescs[i],parent:itemParentIdxs[i]>0?paths[itemParentIdxs[i]-1]:undefined,type:buildFunctionSearchType(itemFunctionSearchTypes[i],lowercasePaths),id:id,normalizedName:word.indexOf("_")===-1?word:word.replace(/_/g,""),};id+=1;searchIndex.push(row);lastPath=row.path;crateSize+=1}if(aliases){ALIASES[crate]=Object.create(null);for(const alias_name in aliases){if(!hasOwnPropertyRustdoc(aliases,alias_name)){continue}if(!hasOwnPropertyRustdoc(ALIASES[crate],alias_name)){ALIASES[crate][alias_name]=[]}for(const local_alias of aliases[alias_name]){ALIASES[crate][alias_name].push(local_alias+currentIndex)}}}currentIndex+=crateSize}return searchWords}function onSearchSubmit(e){e.preventDefault();searchState.clearInputTimeout();search()}function putBackSearch(){const search_input=searchState.input;if(!searchState.input){return}if(search_input.value!==""&&!searchState.isDisplayed()){searchState.showResults();if(browserSupportsHistoryApi()){history.replaceState(null,"",buildUrl(search_input.value,getFilterCrates()))}document.title=searchState.title}}function registerSearchEvents(){const params=searchState.getQueryStringParams();if(searchState.input.value===""){searchState.input.value=params.search||""}const searchAfter500ms=()=>{searchState.clearInputTimeout();if(searchState.input.value.length===0){if(browserSupportsHistoryApi()){history.replaceState(null,window.currentCrate+" - Rust",getNakedUrl()+window.location.hash)}searchState.hideResults()}else{searchState.timeout=setTimeout(search,500)}};searchState.input.onkeyup=searchAfter500ms;searchState.input.oninput=searchAfter500ms;document.getElementsByClassName("search-form")[0].onsubmit=onSearchSubmit;searchState.input.onchange=e=>{if(e.target!==document.activeElement){return}searchState.clearInputTimeout();setTimeout(search,0)};searchState.input.onpaste=searchState.input.onchange;searchState.outputElement().addEventListener("keydown",e=>{if(e.altKey||e.ctrlKey||e.shiftKey||e.metaKey){return}if(e.which===38){const previous=document.activeElement.previousElementSibling;if(previous){previous.focus()}else{searchState.focus()}e.preventDefault()}else if(e.which===40){const next=document.activeElement.nextElementSibling;if(next){next.focus()}const rect=document.activeElement.getBoundingClientRect();if(window.innerHeight-rect.bottom<rect.height){window.scrollBy(0,rect.height)}e.preventDefault()}else if(e.which===37){nextTab(-1);e.preventDefault()}else if(e.which===39){nextTab(1);e.preventDefault()}});searchState.input.addEventListener("keydown",e=>{if(e.which===40){focusSearchResult();e.preventDefault()}});searchState.input.addEventListener("focus",()=>{putBackSearch()});searchState.input.addEventListener("blur",()=>{searchState.input.placeholder=searchState.input.origPlaceholder});if(browserSupportsHistoryApi()){const previousTitle=document.title;window.addEventListener("popstate",e=>{const params=searchState.getQueryStringParams();document.title=previousTitle;currentResults=null;if(params.search&¶ms.search.length>0){searchState.input.value=params.search;search(e)}else{searchState.input.value="";searchState.hideResults()}})}window.onpageshow=()=>{const qSearch=searchState.getQueryStringParams().search;if(searchState.input.value===""&&qSearch){searchState.input.value=qSearch}search()}}function updateCrate(ev){if(ev.target.value==="all crates"){const params=searchState.getQueryStringParams();const query=searchState.input.value.trim();if(!history.state&&!params.search){history.pushState(null,"",buildUrl(query,null))}else{history.replaceState(null,"",buildUrl(query,null))}}currentResults=null;search(undefined,true)}const searchWords=buildIndex(rawSearchIndex);if(typeof window!=="undefined"){registerSearchEvents();if(window.searchState.getQueryStringParams().search){search()}}if(typeof exports!=="undefined"){exports.initSearch=initSearch;exports.execQuery=execQuery;exports.parseQuery=parseQuery}return searchWords}if(typeof window!=="undefined"){window.initSearch=initSearch;if(window.searchIndex!==undefined){initSearch(window.searchIndex)}}else{initSearch({})}})() \ No newline at end of file diff --git a/static.files/settings-3a0b9947ba1bd99a.js b/static.files/settings-3a0b9947ba1bd99a.js deleted file mode 100644 index 141563bd4..000000000 --- a/static.files/settings-3a0b9947ba1bd99a.js +++ /dev/null @@ -1,283 +0,0 @@ -// Local js definitions: -/* global getSettingValue, getVirtualKey, updateLocalStorage, updateSystemTheme */ -/* global addClass, removeClass, onEach, onEachLazy, blurHandler, elemIsInParent */ -/* global MAIN_ID, getVar, getSettingsButton */ - -"use strict"; - -(function() { - const isSettingsPage = window.location.pathname.endsWith("/settings.html"); - - function changeSetting(settingName, value) { - updateLocalStorage(settingName, value); - - switch (settingName) { - case "theme": - case "preferred-dark-theme": - case "preferred-light-theme": - case "use-system-theme": - updateSystemTheme(); - updateLightAndDark(); - break; - case "line-numbers": - if (value === true) { - window.rustdoc_add_line_numbers_to_examples(); - } else { - window.rustdoc_remove_line_numbers_from_examples(); - } - break; - } - } - - function handleKey(ev) { - // Don't interfere with browser shortcuts - if (ev.ctrlKey || ev.altKey || ev.metaKey) { - return; - } - switch (getVirtualKey(ev)) { - case "Enter": - case "Return": - case "Space": - ev.target.checked = !ev.target.checked; - ev.preventDefault(); - break; - } - } - - function showLightAndDark() { - addClass(document.getElementById("theme").parentElement, "hidden"); - removeClass(document.getElementById("preferred-light-theme").parentElement, "hidden"); - removeClass(document.getElementById("preferred-dark-theme").parentElement, "hidden"); - } - - function hideLightAndDark() { - addClass(document.getElementById("preferred-light-theme").parentElement, "hidden"); - addClass(document.getElementById("preferred-dark-theme").parentElement, "hidden"); - removeClass(document.getElementById("theme").parentElement, "hidden"); - } - - function updateLightAndDark() { - if (getSettingValue("use-system-theme") !== "false") { - showLightAndDark(); - } else { - hideLightAndDark(); - } - } - - function setEvents(settingsElement) { - updateLightAndDark(); - onEachLazy(settingsElement.getElementsByClassName("slider"), elem => { - const toggle = elem.previousElementSibling; - const settingId = toggle.id; - const settingValue = getSettingValue(settingId); - if (settingValue !== null) { - toggle.checked = settingValue === "true"; - } - toggle.onchange = function() { - changeSetting(this.id, this.checked); - }; - toggle.onkeyup = handleKey; - toggle.onkeyrelease = handleKey; - }); - onEachLazy(settingsElement.getElementsByClassName("select-wrapper"), elem => { - const select = elem.getElementsByTagName("select")[0]; - const settingId = select.id; - const settingValue = getSettingValue(settingId); - if (settingValue !== null) { - select.value = settingValue; - } - select.onchange = function() { - changeSetting(this.id, this.value); - }; - }); - onEachLazy(settingsElement.querySelectorAll("input[type=\"radio\"]"), elem => { - const settingId = elem.name; - const settingValue = getSettingValue(settingId); - if (settingValue !== null && settingValue !== "null") { - elem.checked = settingValue === elem.value; - } - elem.addEventListener("change", ev => { - changeSetting(ev.target.name, ev.target.value); - }); - }); - } - - /** - * This function builds the sections inside the "settings page". It takes a `settings` list - * as argument which describes each setting and how to render it. It returns a string - * representing the raw HTML. - * - * @param {Array<Object>} settings - * - * @return {string} - */ - function buildSettingsPageSections(settings) { - let output = ""; - - for (const setting of settings) { - output += "<div class=\"setting-line\">"; - const js_data_name = setting["js_name"]; - const setting_name = setting["name"]; - - if (setting["options"] !== undefined) { - // This is a select setting. - output += `<div class="radio-line" id="${js_data_name}">\ - <span class="setting-name">${setting_name}</span>\ - <div class="choices">`; - onEach(setting["options"], option => { - const checked = option === setting["default"] ? " checked" : ""; - - output += `<label for="${js_data_name}-${option}" class="choice">\ - <input type="radio" name="${js_data_name}" \ - id="${js_data_name}-${option}" value="${option}"${checked}>\ - <span>${option}</span>\ - </label>`; - }); - output += "</div></div>"; - } else { - // This is a toggle. - const checked = setting["default"] === true ? " checked" : ""; - output += `<label class="toggle">\ - <input type="checkbox" id="${js_data_name}"${checked}>\ - <span class="slider"></span>\ - <span class="label">${setting_name}</span>\ - </label>`; - } - output += "</div>"; - } - return output; - } - - /** - * This function builds the "settings page" and returns the generated HTML element. - * - * @return {HTMLElement} - */ - function buildSettingsPage() { - const theme_names = getVar("themes").split(",").filter(t => t); - theme_names.push("light", "dark", "ayu"); - - const settings = [ - { - "name": "Use system theme", - "js_name": "use-system-theme", - "default": true, - }, - { - "name": "Theme", - "js_name": "theme", - "default": "light", - "options": theme_names, - }, - { - "name": "Preferred light theme", - "js_name": "preferred-light-theme", - "default": "light", - "options": theme_names, - }, - { - "name": "Preferred dark theme", - "js_name": "preferred-dark-theme", - "default": "dark", - "options": theme_names, - }, - { - "name": "Auto-hide item contents for large items", - "js_name": "auto-hide-large-items", - "default": true, - }, - { - "name": "Auto-hide item methods' documentation", - "js_name": "auto-hide-method-docs", - "default": false, - }, - { - "name": "Auto-hide trait implementation documentation", - "js_name": "auto-hide-trait-implementations", - "default": false, - }, - { - "name": "Directly go to item in search if there is only one result", - "js_name": "go-to-only-result", - "default": false, - }, - { - "name": "Show line numbers on code examples", - "js_name": "line-numbers", - "default": false, - }, - { - "name": "Disable keyboard shortcuts", - "js_name": "disable-shortcuts", - "default": false, - }, - ]; - - // Then we build the DOM. - const elementKind = isSettingsPage ? "section" : "div"; - const innerHTML = `<div class="settings">${buildSettingsPageSections(settings)}</div>`; - const el = document.createElement(elementKind); - el.id = "settings"; - if (!isSettingsPage) { - el.className = "popover"; - } - el.innerHTML = innerHTML; - - if (isSettingsPage) { - document.getElementById(MAIN_ID).appendChild(el); - } else { - el.setAttribute("tabindex", "-1"); - getSettingsButton().appendChild(el); - } - return el; - } - - const settingsMenu = buildSettingsPage(); - - function displaySettings() { - settingsMenu.style.display = ""; - } - - function settingsBlurHandler(event) { - blurHandler(event, getSettingsButton(), window.hidePopoverMenus); - } - - if (isSettingsPage) { - // We replace the existing "onclick" callback to do nothing if clicked. - getSettingsButton().onclick = function(event) { - event.preventDefault(); - }; - } else { - // We replace the existing "onclick" callback. - const settingsButton = getSettingsButton(); - const settingsMenu = document.getElementById("settings"); - settingsButton.onclick = function(event) { - if (elemIsInParent(event.target, settingsMenu)) { - return; - } - event.preventDefault(); - const shouldDisplaySettings = settingsMenu.style.display === "none"; - - window.hidePopoverMenus(); - if (shouldDisplaySettings) { - displaySettings(); - } - }; - settingsButton.onblur = settingsBlurHandler; - settingsButton.querySelector("a").onblur = settingsBlurHandler; - onEachLazy(settingsMenu.querySelectorAll("input"), el => { - el.onblur = settingsBlurHandler; - }); - settingsMenu.onblur = settingsBlurHandler; - } - - // We now wait a bit for the web browser to end re-computing the DOM... - setTimeout(() => { - setEvents(settingsMenu); - // The setting menu is already displayed if we're on the settings page. - if (!isSettingsPage) { - displaySettings(); - } - removeClass(getSettingsButton(), "rotate"); - }, 0); -})(); diff --git a/static.files/settings-a66f7524084a489a.css b/static.files/settings-a66f7524084a489a.css deleted file mode 100644 index 83939f63b..000000000 --- a/static.files/settings-a66f7524084a489a.css +++ /dev/null @@ -1,110 +0,0 @@ -.setting-line { - margin: 0.6em 0 0.6em 0.3em; - position: relative; -} - -.setting-line .choices { - display: flex; - flex-wrap: wrap; -} - -.setting-line .radio-line input { - margin-right: 0.3em; - height: 1.2rem; - width: 1.2rem; - color: inherit; - border: 1px solid currentColor; - outline: none; - -webkit-appearance: none; - cursor: pointer; - border-radius: 50%; -} -.setting-line .radio-line input + span { - padding-bottom: 1px; -} - -.radio-line .setting-name { - width: 100%; -} - -.radio-line .choice { - margin-top: 0.1em; - margin-bottom: 0.1em; - min-width: 3.8em; - padding: 0.3em; - display: flex; - align-items: center; - cursor: pointer; -} -.radio-line .choice + .choice { - margin-left: 0.5em; -} - -.toggle { - position: relative; - width: 100%; - margin-right: 20px; - display: flex; - align-items: center; - cursor: pointer; -} - -.toggle input { - opacity: 0; - position: absolute; -} - -.slider { - position: relative; - width: 45px; - min-width: 45px; - display: block; - height: 28px; - margin-right: 20px; - cursor: pointer; - background-color: #ccc; - transition: .3s; -} - -.slider:before { - position: absolute; - content: ""; - height: 19px; - width: 19px; - left: 4px; - bottom: 4px; - transition: .3s; -} - -input:checked + .slider:before { - transform: translateX(19px); -} - -.setting-line > .sub-settings { - padding-left: 42px; - width: 100%; - display: block; -} - -#settings .setting-line { - margin: 1.2em 0.6em; -} - -.setting-line .radio-line input:checked { - box-shadow: inset 0 0 0 3px var(--main-background-color); - background-color: var(--settings-input-color); -} -.setting-line .radio-line input:focus { - box-shadow: 0 0 1px 1px var(--settings-input-color); -} -/* In here we combine both `:focus` and `:checked` properties. */ -.setting-line .radio-line input:checked:focus { - box-shadow: inset 0 0 0 3px var(--main-background-color), - 0 0 2px 2px var(--settings-input-color); -} -.setting-line .radio-line input:hover { - border-color: var(--settings-input-color) !important; -} -input:checked + .slider { - background-color: var(--settings-input-color); -} diff --git a/static.files/settings-af96d9e2fc13e081.css b/static.files/settings-af96d9e2fc13e081.css new file mode 100644 index 000000000..d94744e6f --- /dev/null +++ b/static.files/settings-af96d9e2fc13e081.css @@ -0,0 +1,3 @@ +.setting-line{margin:0.6em 0 0.6em 0.3em;position:relative;}.setting-line .choices{display:flex;flex-wrap:wrap;}.setting-line .radio-line input,.setting-line .toggle input{margin-right:0.3em;height:1.2rem;width:1.2rem;color:inherit;border:1px solid currentColor;outline:none;-webkit-appearance:none;cursor:pointer;}.setting-line .radio-line input{border-radius:50%;}.setting-line .toggle input:checked{content:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40">\ + <path d="M7,25L17,32L33,12" fill="none" stroke="black" stroke-width="5"/>\ + <path d="M7,23L17,30L33,10" fill="none" stroke="white" stroke-width="5"/></svg>');}.setting-line .radio-line input+span,.setting-line .toggle span{padding-bottom:1px;}.radio-line .setting-name{width:100%;}.radio-line .choice{margin-top:0.1em;margin-bottom:0.1em;min-width:3.8em;padding:0.3em;display:flex;align-items:center;cursor:pointer;}.radio-line .choice+.choice{margin-left:0.5em;}.toggle{position:relative;width:100%;margin-right:20px;display:flex;align-items:center;cursor:pointer;}.setting-line>.sub-settings{padding-left:42px;width:100%;display:block;}#settings .setting-line{margin:1.2em 0.6em;}.setting-line .radio-line input:checked{box-shadow:inset 0 0 0 3px var(--main-background-color);background-color:var(--settings-input-color);}.setting-line .toggle input:checked{background-color:var(--settings-input-color);}.setting-line .radio-line input:focus,.setting-line .toggle input:focus{box-shadow:0 0 1px 1px var(--settings-input-color);}.setting-line .radio-line input:checked:focus{box-shadow:inset 0 0 0 3px var(--main-background-color),0 0 2px 2px var(--settings-input-color);}.setting-line .radio-line input:hover,.setting-line .toggle input:hover{border-color:var(--settings-input-color) !important;} \ No newline at end of file diff --git a/static.files/settings-bebeae96e00e4617.js b/static.files/settings-bebeae96e00e4617.js new file mode 100644 index 000000000..4d73ec358 --- /dev/null +++ b/static.files/settings-bebeae96e00e4617.js @@ -0,0 +1,13 @@ +"use strict";(function(){const isSettingsPage=window.location.pathname.endsWith("/settings.html");function changeSetting(settingName,value){if(settingName==="theme"){const useSystem=value==="system preference"?"true":"false";updateLocalStorage("use-system-theme",useSystem)}updateLocalStorage(settingName,value);switch(settingName){case"theme":case"preferred-dark-theme":case"preferred-light-theme":updateSystemTheme();updateLightAndDark();break;case"line-numbers":if(value===true){window.rustdoc_add_line_numbers_to_examples()}else{window.rustdoc_remove_line_numbers_from_examples()}break}}function handleKey(ev){if(ev.ctrlKey||ev.altKey||ev.metaKey){return}switch(getVirtualKey(ev)){case"Enter":case"Return":case"Space":ev.target.checked=!ev.target.checked;ev.preventDefault();break}}function showLightAndDark(){removeClass(document.getElementById("preferred-light-theme").parentElement,"hidden");removeClass(document.getElementById("preferred-dark-theme").parentElement,"hidden")}function hideLightAndDark(){addClass(document.getElementById("preferred-light-theme").parentElement,"hidden");addClass(document.getElementById("preferred-dark-theme").parentElement,"hidden")}function updateLightAndDark(){const useSystem=getSettingValue("use-system-theme");if(useSystem==="true"||(useSystem===null&&getSettingValue("theme")===null)){showLightAndDark()}else{hideLightAndDark()}}function setEvents(settingsElement){updateLightAndDark();onEachLazy(settingsElement.querySelectorAll("input[type=\"checkbox\"]"),toggle=>{const settingId=toggle.id;const settingValue=getSettingValue(settingId);if(settingValue!==null){toggle.checked=settingValue==="true"}toggle.onchange=function(){changeSetting(this.id,this.checked)};toggle.onkeyup=handleKey;toggle.onkeyrelease=handleKey});onEachLazy(settingsElement.getElementsByClassName("select-wrapper"),elem=>{const select=elem.getElementsByTagName("select")[0];const settingId=select.id;const settingValue=getSettingValue(settingId);if(settingValue!==null){select.value=settingValue}select.onchange=function(){changeSetting(this.id,this.value)}});onEachLazy(settingsElement.querySelectorAll("input[type=\"radio\"]"),elem=>{const settingId=elem.name;let settingValue=getSettingValue(settingId);if(settingId==="theme"){const useSystem=getSettingValue("use-system-theme");if(useSystem==="true"||settingValue===null){if(useSystem!=="false"){settingValue="system preference"}else{settingValue="light"}}}if(settingValue!==null&&settingValue!=="null"){elem.checked=settingValue===elem.value}elem.addEventListener("change",ev=>{changeSetting(ev.target.name,ev.target.value)})})}function buildSettingsPageSections(settings){let output="";for(const setting of settings){output+="<div class=\"setting-line\">";const js_data_name=setting["js_name"];const setting_name=setting["name"];if(setting["options"]!==undefined){output+=`\ +<div class="radio-line" id="${js_data_name}"> + <span class="setting-name">${setting_name}</span> +<div class="choices">`;onEach(setting["options"],option=>{const checked=option===setting["default"]?" checked":"";const full=`${js_data_name}-${option.replace(/ /g,"-")}`;output+=`\ +<label for="${full}" class="choice"> + <input type="radio" name="${js_data_name}" + id="${full}" value="${option}"${checked}> + <span>${option}</span> +</label>`});output+="</div></div>"}else{const checked=setting["default"]===true?" checked":"";output+=`\ +<label class="toggle">\ + <input type="checkbox" id="${js_data_name}"${checked}>\ + <span class="label">${setting_name}</span>\ +</label>`}output+="</div>"}return output}function buildSettingsPage(){const theme_names=getVar("themes").split(",").filter(t=>t);theme_names.push("light","dark","ayu");const settings=[{"name":"Theme","js_name":"theme","default":"system preference","options":theme_names.concat("system preference"),},{"name":"Preferred light theme","js_name":"preferred-light-theme","default":"light","options":theme_names,},{"name":"Preferred dark theme","js_name":"preferred-dark-theme","default":"dark","options":theme_names,},{"name":"Auto-hide item contents for large items","js_name":"auto-hide-large-items","default":true,},{"name":"Auto-hide item methods' documentation","js_name":"auto-hide-method-docs","default":false,},{"name":"Auto-hide trait implementation documentation","js_name":"auto-hide-trait-implementations","default":false,},{"name":"Directly go to item in search if there is only one result","js_name":"go-to-only-result","default":false,},{"name":"Show line numbers on code examples","js_name":"line-numbers","default":false,},{"name":"Disable keyboard shortcuts","js_name":"disable-shortcuts","default":false,},];const elementKind=isSettingsPage?"section":"div";const innerHTML=`<div class="settings">${buildSettingsPageSections(settings)}</div>`;const el=document.createElement(elementKind);el.id="settings";if(!isSettingsPage){el.className="popover"}el.innerHTML=innerHTML;if(isSettingsPage){document.getElementById(MAIN_ID).appendChild(el)}else{el.setAttribute("tabindex","-1");getSettingsButton().appendChild(el)}return el}const settingsMenu=buildSettingsPage();function displaySettings(){settingsMenu.style.display=""}function settingsBlurHandler(event){blurHandler(event,getSettingsButton(),window.hidePopoverMenus)}if(isSettingsPage){getSettingsButton().onclick=function(event){event.preventDefault()}}else{const settingsButton=getSettingsButton();const settingsMenu=document.getElementById("settings");settingsButton.onclick=function(event){if(elemIsInParent(event.target,settingsMenu)){return}event.preventDefault();const shouldDisplaySettings=settingsMenu.style.display==="none";window.hideAllModals();if(shouldDisplaySettings){displaySettings()}};settingsButton.onblur=settingsBlurHandler;settingsButton.querySelector("a").onblur=settingsBlurHandler;onEachLazy(settingsMenu.querySelectorAll("input"),el=>{el.onblur=settingsBlurHandler});settingsMenu.onblur=settingsBlurHandler}setTimeout(()=>{setEvents(settingsMenu);if(!isSettingsPage){displaySettings()}removeClass(getSettingsButton(),"rotate")},0)})() \ No newline at end of file diff --git a/static.files/source-script-5cf2e01a42cc9858.js b/static.files/source-script-5cf2e01a42cc9858.js new file mode 100644 index 000000000..f033213eb --- /dev/null +++ b/static.files/source-script-5cf2e01a42cc9858.js @@ -0,0 +1 @@ +"use strict";(function(){const rootPath=document.getElementById("rustdoc-vars").attributes["data-root-path"].value;const NAME_OFFSET=0;const DIRS_OFFSET=1;const FILES_OFFSET=2;function closeSidebarIfMobile(){if(window.innerWidth<window.RUSTDOC_MOBILE_BREAKPOINT){updateLocalStorage("source-sidebar-show","false")}}function createDirEntry(elem,parent,fullPath,hasFoundFile){const dirEntry=document.createElement("details");const summary=document.createElement("summary");dirEntry.className="dir-entry";fullPath+=elem[NAME_OFFSET]+"/";summary.innerText=elem[NAME_OFFSET];dirEntry.appendChild(summary);const folders=document.createElement("div");folders.className="folders";if(elem[DIRS_OFFSET]){for(const dir of elem[DIRS_OFFSET]){if(createDirEntry(dir,folders,fullPath,false)){dirEntry.open=true;hasFoundFile=true}}}dirEntry.appendChild(folders);const files=document.createElement("div");files.className="files";if(elem[FILES_OFFSET]){for(const file_text of elem[FILES_OFFSET]){const file=document.createElement("a");file.innerText=file_text;file.href=rootPath+"src/"+fullPath+file_text+".html";file.addEventListener("click",closeSidebarIfMobile);const w=window.location.href.split("#")[0];if(!hasFoundFile&&w===file.href){file.className="selected";dirEntry.open=true;hasFoundFile=true}files.appendChild(file)}}dirEntry.appendChild(files);parent.appendChild(dirEntry);return hasFoundFile}function toggleSidebar(){const child=this.parentNode.children[0];if(child.innerText===">"){window.rustdocMobileScrollLock();addClass(document.documentElement,"source-sidebar-expanded");child.innerText="<";updateLocalStorage("source-sidebar-show","true")}else{window.rustdocMobileScrollUnlock();removeClass(document.documentElement,"source-sidebar-expanded");child.innerText=">";updateLocalStorage("source-sidebar-show","false")}}function createSidebarToggle(){const sidebarToggle=document.createElement("div");sidebarToggle.id="sidebar-toggle";const inner=document.createElement("button");if(getCurrentValue("source-sidebar-show")==="true"){inner.innerText="<"}else{inner.innerText=">"}inner.onclick=toggleSidebar;sidebarToggle.appendChild(inner);return sidebarToggle}function createSourceSidebar(){const container=document.querySelector("nav.sidebar");const sidebarToggle=createSidebarToggle();container.insertBefore(sidebarToggle,container.firstChild);const sidebar=document.createElement("div");sidebar.id="source-sidebar";let hasFoundFile=false;const title=document.createElement("div");title.className="title";title.innerText="Files";sidebar.appendChild(title);Object.keys(sourcesIndex).forEach(key=>{sourcesIndex[key][NAME_OFFSET]=key;hasFoundFile=createDirEntry(sourcesIndex[key],sidebar,"",hasFoundFile)});container.appendChild(sidebar);const selected_elem=sidebar.getElementsByClassName("selected")[0];if(typeof selected_elem!=="undefined"){selected_elem.focus()}}const lineNumbersRegex=/^#?(\d+)(?:-(\d+))?$/;function highlightSourceLines(match){if(typeof match==="undefined"){match=window.location.hash.match(lineNumbersRegex)}if(!match){return}let from=parseInt(match[1],10);let to=from;if(typeof match[2]!=="undefined"){to=parseInt(match[2],10)}if(to<from){const tmp=to;to=from;from=tmp}let elem=document.getElementById(from);if(!elem){return}const x=document.getElementById(from);if(x){x.scrollIntoView()}onEachLazy(document.getElementsByClassName("src-line-numbers"),e=>{onEachLazy(e.getElementsByTagName("a"),i_e=>{removeClass(i_e,"line-highlighted")})});for(let i=from;i<=to;++i){elem=document.getElementById(i);if(!elem){break}addClass(elem,"line-highlighted")}}const handleSourceHighlight=(function(){let prev_line_id=0;const set_fragment=name=>{const x=window.scrollX,y=window.scrollY;if(browserSupportsHistoryApi()){history.replaceState(null,null,"#"+name);highlightSourceLines()}else{location.replace("#"+name)}window.scrollTo(x,y)};return ev=>{let cur_line_id=parseInt(ev.target.id,10);if(isNaN(cur_line_id)||ev.ctrlKey||ev.altKey||ev.metaKey){return}ev.preventDefault();if(ev.shiftKey&&prev_line_id){if(prev_line_id>cur_line_id){const 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",()=>{const match=window.location.hash.match(lineNumbersRegex);if(match){return highlightSourceLines(match)}});onEachLazy(document.getElementsByClassName("src-line-numbers"),el=>{el.addEventListener("click",handleSourceHighlight)});highlightSourceLines();window.createSourceSidebar=createSourceSidebar})() \ No newline at end of file diff --git a/static.files/source-script-74087aa2e88f4475.js b/static.files/source-script-74087aa2e88f4475.js deleted file mode 100644 index 0b9368dd8..000000000 --- a/static.files/source-script-74087aa2e88f4475.js +++ /dev/null @@ -1,228 +0,0 @@ -// From rust: -/* global sourcesIndex */ - -// Local js definitions: -/* global addClass, getCurrentValue, onEachLazy, removeClass, browserSupportsHistoryApi */ -/* global updateLocalStorage */ - -"use strict"; - -(function() { - -const rootPath = document.getElementById("rustdoc-vars").attributes["data-root-path"].value; - -const NAME_OFFSET = 0; -const DIRS_OFFSET = 1; -const FILES_OFFSET = 2; - -function closeSidebarIfMobile() { - if (window.innerWidth < window.RUSTDOC_MOBILE_BREAKPOINT) { - updateLocalStorage("source-sidebar-show", "false"); - } -} - -function createDirEntry(elem, parent, fullPath, hasFoundFile) { - const dirEntry = document.createElement("details"); - const summary = document.createElement("summary"); - - dirEntry.className = "dir-entry"; - - fullPath += elem[NAME_OFFSET] + "/"; - - summary.innerText = elem[NAME_OFFSET]; - dirEntry.appendChild(summary); - - const folders = document.createElement("div"); - folders.className = "folders"; - if (elem[DIRS_OFFSET]) { - for (const dir of elem[DIRS_OFFSET]) { - if (createDirEntry(dir, folders, fullPath, false)) { - dirEntry.open = true; - hasFoundFile = true; - } - } - } - dirEntry.appendChild(folders); - - const files = document.createElement("div"); - files.className = "files"; - if (elem[FILES_OFFSET]) { - for (const file_text of elem[FILES_OFFSET]) { - const file = document.createElement("a"); - file.innerText = file_text; - file.href = rootPath + "src/" + fullPath + file_text + ".html"; - file.addEventListener("click", closeSidebarIfMobile); - const w = window.location.href.split("#")[0]; - if (!hasFoundFile && w === file.href) { - file.className = "selected"; - dirEntry.open = true; - hasFoundFile = true; - } - files.appendChild(file); - } - } - dirEntry.appendChild(files); - parent.appendChild(dirEntry); - return hasFoundFile; -} - -function toggleSidebar() { - const child = this.parentNode.children[0]; - if (child.innerText === ">") { - window.rustdocMobileScrollLock(); - addClass(document.documentElement, "source-sidebar-expanded"); - child.innerText = "<"; - updateLocalStorage("source-sidebar-show", "true"); - } else { - window.rustdocMobileScrollUnlock(); - removeClass(document.documentElement, "source-sidebar-expanded"); - child.innerText = ">"; - updateLocalStorage("source-sidebar-show", "false"); - } -} - -function createSidebarToggle() { - const sidebarToggle = document.createElement("div"); - sidebarToggle.id = "sidebar-toggle"; - - const inner = document.createElement("button"); - - if (getCurrentValue("source-sidebar-show") === "true") { - inner.innerText = "<"; - } else { - inner.innerText = ">"; - } - inner.onclick = toggleSidebar; - - sidebarToggle.appendChild(inner); - return sidebarToggle; -} - -// This function is called from "source-files.js", generated in `html/render/write_shared.rs`. -// eslint-disable-next-line no-unused-vars -function createSourceSidebar() { - const container = document.querySelector("nav.sidebar"); - - const sidebarToggle = createSidebarToggle(); - container.insertBefore(sidebarToggle, container.firstChild); - - const sidebar = document.createElement("div"); - sidebar.id = "source-sidebar"; - - let hasFoundFile = false; - - const title = document.createElement("div"); - title.className = "title"; - title.innerText = "Files"; - sidebar.appendChild(title); - Object.keys(sourcesIndex).forEach(key => { - sourcesIndex[key][NAME_OFFSET] = key; - hasFoundFile = createDirEntry(sourcesIndex[key], sidebar, "", - hasFoundFile); - }); - - container.appendChild(sidebar); - // Focus on the current file in the source files sidebar. - const selected_elem = sidebar.getElementsByClassName("selected")[0]; - if (typeof selected_elem !== "undefined") { - selected_elem.focus(); - } -} - -const lineNumbersRegex = /^#?(\d+)(?:-(\d+))?$/; - -function highlightSourceLines(match) { - if (typeof match === "undefined") { - match = window.location.hash.match(lineNumbersRegex); - } - if (!match) { - return; - } - let from = parseInt(match[1], 10); - let to = from; - if (typeof match[2] !== "undefined") { - to = parseInt(match[2], 10); - } - if (to < from) { - const tmp = to; - to = from; - from = tmp; - } - let elem = document.getElementById(from); - if (!elem) { - return; - } - const x = document.getElementById(from); - if (x) { - x.scrollIntoView(); - } - onEachLazy(document.getElementsByClassName("src-line-numbers"), e => { - onEachLazy(e.getElementsByTagName("span"), i_e => { - removeClass(i_e, "line-highlighted"); - }); - }); - for (let i = from; i <= to; ++i) { - elem = document.getElementById(i); - if (!elem) { - break; - } - addClass(elem, "line-highlighted"); - } -} - -const handleSourceHighlight = (function() { - let prev_line_id = 0; - - const set_fragment = name => { - const x = window.scrollX, - y = window.scrollY; - if (browserSupportsHistoryApi()) { - history.replaceState(null, null, "#" + name); - highlightSourceLines(); - } else { - location.replace("#" + name); - } - // Prevent jumps when selecting one or many lines - window.scrollTo(x, y); - }; - - return ev => { - let cur_line_id = parseInt(ev.target.id, 10); - // It can happen when clicking not on a line number span. - if (isNaN(cur_line_id)) { - return; - } - ev.preventDefault(); - - if (ev.shiftKey && prev_line_id) { - // Swap selection if needed - if (prev_line_id > cur_line_id) { - const 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", () => { - const match = window.location.hash.match(lineNumbersRegex); - if (match) { - return highlightSourceLines(match); - } -}); - -onEachLazy(document.getElementsByClassName("src-line-numbers"), el => { - el.addEventListener("click", handleSourceHighlight); -}); - -highlightSourceLines(); - -window.createSourceSidebar = createSourceSidebar; -})(); diff --git a/static.files/storage-d43fa987303ecbbb.js b/static.files/storage-d43fa987303ecbbb.js index db2db83ca..017aff706 100644 --- a/static.files/storage-d43fa987303ecbbb.js +++ b/static.files/storage-d43fa987303ecbbb.js @@ -1,264 +1 @@ -// storage.js is loaded in the `<head>` of all rustdoc pages and doesn't -// use `async` or `defer`. That means it blocks further parsing and rendering -// of the page: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script. -// This makes it the correct place to act on settings that affect the display of -// the page, so we don't see major layout changes during the load of the page. -"use strict"; - -const darkThemes = ["dark", "ayu"]; -window.currentTheme = document.getElementById("themeStyle"); -window.mainTheme = document.getElementById("mainThemeStyle"); - -// WARNING: RUSTDOC_MOBILE_BREAKPOINT MEDIA QUERY -// If you update this line, then you also need to update the media query with the same -// warning in rustdoc.css -window.RUSTDOC_MOBILE_BREAKPOINT = 700; - -const settingsDataset = (function() { - const settingsElement = document.getElementById("default-settings"); - if (settingsElement === null) { - return null; - } - const dataset = settingsElement.dataset; - if (dataset === undefined) { - return null; - } - return dataset; -})(); - -function getSettingValue(settingName) { - const current = getCurrentValue(settingName); - if (current !== null) { - return current; - } - if (settingsDataset !== null) { - // See the comment for `default_settings.into_iter()` etc. in - // `Options::from_matches` in `librustdoc/config.rs`. - const def = settingsDataset[settingName.replace(/-/g,"_")]; - if (def !== undefined) { - return def; - } - } - return null; -} - -const localStoredTheme = getSettingValue("theme"); - -const savedHref = []; - -// eslint-disable-next-line no-unused-vars -function hasClass(elem, className) { - return elem && elem.classList && elem.classList.contains(className); -} - -// eslint-disable-next-line no-unused-vars -function addClass(elem, className) { - if (!elem || !elem.classList) { - return; - } - elem.classList.add(className); -} - -// eslint-disable-next-line no-unused-vars -function removeClass(elem, className) { - if (!elem || !elem.classList) { - return; - } - elem.classList.remove(className); -} - -/** - * Run a callback for every element of an Array. - * @param {Array<?>} arr - The array to iterate over - * @param {function(?)} func - The callback - * @param {boolean} [reversed] - Whether to iterate in reverse - */ -function onEach(arr, func, reversed) { - if (arr && arr.length > 0 && func) { - if (reversed) { - const length = arr.length; - for (let i = length - 1; i >= 0; --i) { - if (func(arr[i])) { - return true; - } - } - } else { - for (const elem of arr) { - if (func(elem)) { - return true; - } - } - } - } - return false; -} - -/** - * Turn an HTMLCollection or a NodeList into an Array, then run a callback - * for every element. This is useful because iterating over an HTMLCollection - * or a "live" NodeList while modifying it can be very slow. - * https://developer.mozilla.org/en-US/docs/Web/API/HTMLCollection - * https://developer.mozilla.org/en-US/docs/Web/API/NodeList - * @param {NodeList<?>|HTMLCollection<?>} lazyArray - An array to iterate over - * @param {function(?)} func - The callback - * @param {boolean} [reversed] - Whether to iterate in reverse - */ -function onEachLazy(lazyArray, func, reversed) { - return onEach( - Array.prototype.slice.call(lazyArray), - func, - reversed); -} - -function updateLocalStorage(name, value) { - try { - window.localStorage.setItem("rustdoc-" + name, value); - } catch (e) { - // localStorage is not accessible, do nothing - } -} - -function getCurrentValue(name) { - try { - return window.localStorage.getItem("rustdoc-" + name); - } catch (e) { - return null; - } -} - -function switchTheme(styleElem, mainStyleElem, newThemeName, saveTheme) { - // If this new value comes from a system setting or from the previously - // saved theme, no need to save it. - if (saveTheme) { - updateLocalStorage("theme", newThemeName); - } - - if (savedHref.length === 0) { - onEachLazy(document.getElementsByTagName("link"), el => { - savedHref.push(el.href); - }); - } - const newHref = savedHref.find(url => { - const m = url.match(/static\.files\/(.*)-[a-f0-9]{16}\.css$/); - if (m && m[1] === newThemeName) { - return true; - } - const m2 = url.match(/\/([^/]*)\.css$/); - if (m2 && m2[1].startsWith(newThemeName)) { - return true; - } - }); - if (newHref && newHref !== styleElem.href) { - styleElem.href = newHref; - } -} - -// This function is called from "main.js". -// eslint-disable-next-line no-unused-vars -function useSystemTheme(value) { - if (value === undefined) { - value = true; - } - - updateLocalStorage("use-system-theme", value); - - // update the toggle if we're on the settings page - const toggle = document.getElementById("use-system-theme"); - if (toggle && toggle instanceof HTMLInputElement) { - toggle.checked = value; - } -} - -const updateSystemTheme = (function() { - if (!window.matchMedia) { - // fallback to the CSS computed value - return () => { - const cssTheme = getComputedStyle(document.documentElement) - .getPropertyValue("content"); - - switchTheme( - window.currentTheme, - window.mainTheme, - JSON.parse(cssTheme) || "light", - true - ); - }; - } - - // only listen to (prefers-color-scheme: dark) because light is the default - const mql = window.matchMedia("(prefers-color-scheme: dark)"); - - function handlePreferenceChange(mql) { - const use = theme => { - switchTheme(window.currentTheme, window.mainTheme, theme, true); - }; - // maybe the user has disabled the setting in the meantime! - if (getSettingValue("use-system-theme") !== "false") { - const lightTheme = getSettingValue("preferred-light-theme") || "light"; - const darkTheme = getSettingValue("preferred-dark-theme") || "dark"; - - if (mql.matches) { - use(darkTheme); - } else { - // prefers a light theme, or has no preference - use(lightTheme); - } - // note: we save the theme so that it doesn't suddenly change when - // the user disables "use-system-theme" and reloads the page or - // navigates to another page - } else { - use(getSettingValue("theme")); - } - } - - mql.addListener(handlePreferenceChange); - - return () => { - handlePreferenceChange(mql); - }; -})(); - -function switchToSavedTheme() { - switchTheme( - window.currentTheme, - window.mainTheme, - getSettingValue("theme") || "light", - false - ); -} - -if (getSettingValue("use-system-theme") !== "false" && window.matchMedia) { - // update the preferred dark theme if the user is already using a dark theme - // See https://github.com/rust-lang/rust/pull/77809#issuecomment-707875732 - if (getSettingValue("use-system-theme") === null - && getSettingValue("preferred-dark-theme") === null - && darkThemes.indexOf(localStoredTheme) >= 0) { - updateLocalStorage("preferred-dark-theme", localStoredTheme); - } - - // call the function to initialize the theme at least once! - updateSystemTheme(); -} else { - switchToSavedTheme(); -} - -if (getSettingValue("source-sidebar-show") === "true") { - // At this point in page load, `document.body` is not available yet. - // Set a class on the `<html>` element instead. - addClass(document.documentElement, "source-sidebar-expanded"); -} - -// If we navigate away (for example to a settings page), and then use the back or -// forward button to get back to a page, the theme may have changed in the meantime. -// But scripts may not be re-loaded in such a case due to the bfcache -// (https://web.dev/bfcache/). The "pageshow" event triggers on such navigations. -// Use that opportunity to update the theme. -// We use a setTimeout with a 0 timeout here to put the change on the event queue. -// For some reason, if we try to change the theme while the `pageshow` event is -// running, it sometimes fails to take effect. The problem manifests on Chrome, -// specifically when talking to a remote website with no caching. -window.addEventListener("pageshow", ev => { - if (ev.persisted) { - setTimeout(switchToSavedTheme, 0); - } -}); +"use strict";const darkThemes=["dark","ayu"];window.currentTheme=document.getElementById("themeStyle");window.mainTheme=document.getElementById("mainThemeStyle");window.RUSTDOC_MOBILE_BREAKPOINT=700;const settingsDataset=(function(){const settingsElement=document.getElementById("default-settings");if(settingsElement===null){return null}const dataset=settingsElement.dataset;if(dataset===undefined){return null}return dataset})();function getSettingValue(settingName){const current=getCurrentValue(settingName);if(current!==null){return current}if(settingsDataset!==null){const def=settingsDataset[settingName.replace(/-/g,"_")];if(def!==undefined){return def}}return null}const localStoredTheme=getSettingValue("theme");const 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){if(reversed){const length=arr.length;for(let i=length-1;i>=0;--i){if(func(arr[i])){return true}}}else{for(const elem of arr){if(func(elem)){return true}}}}return false}function onEachLazy(lazyArray,func,reversed){return onEach(Array.prototype.slice.call(lazyArray),func,reversed)}function updateLocalStorage(name,value){try{window.localStorage.setItem("rustdoc-"+name,value)}catch(e){}}function getCurrentValue(name){try{return window.localStorage.getItem("rustdoc-"+name)}catch(e){return null}}function switchTheme(styleElem,mainStyleElem,newThemeName,saveTheme){if(saveTheme){updateLocalStorage("theme",newThemeName)}if(savedHref.length===0){onEachLazy(document.getElementsByTagName("link"),el=>{savedHref.push(el.href)})}const newHref=savedHref.find(url=>{const m=url.match(/static\.files\/(.*)-[a-f0-9]{16}\.css$/);if(m&&m[1]===newThemeName){return true}const m2=url.match(/\/([^/]*)\.css$/);if(m2&&m2[1].startsWith(newThemeName)){return true}});if(newHref&&newHref!==styleElem.href){styleElem.href=newHref}}function useSystemTheme(value){if(value===undefined){value=true}updateLocalStorage("use-system-theme",value);const toggle=document.getElementById("use-system-theme");if(toggle&&toggle instanceof HTMLInputElement){toggle.checked=value}}const updateSystemTheme=(function(){if(!window.matchMedia){return()=>{const cssTheme=getComputedStyle(document.documentElement).getPropertyValue("content");switchTheme(window.currentTheme,window.mainTheme,JSON.parse(cssTheme)||"light",true)}}const mql=window.matchMedia("(prefers-color-scheme: dark)");function handlePreferenceChange(mql){const use=theme=>{switchTheme(window.currentTheme,window.mainTheme,theme,true)};if(getSettingValue("use-system-theme")!=="false"){const lightTheme=getSettingValue("preferred-light-theme")||"light";const darkTheme=getSettingValue("preferred-dark-theme")||"dark";if(mql.matches){use(darkTheme)}else{use(lightTheme)}}else{use(getSettingValue("theme"))}}mql.addListener(handlePreferenceChange);return()=>{handlePreferenceChange(mql)}})();function switchToSavedTheme(){switchTheme(window.currentTheme,window.mainTheme,getSettingValue("theme")||"light",false)}if(getSettingValue("use-system-theme")!=="false"&&window.matchMedia){if(getSettingValue("use-system-theme")===null&&getSettingValue("preferred-dark-theme")===null&&darkThemes.indexOf(localStoredTheme)>=0){updateLocalStorage("preferred-dark-theme",localStoredTheme)}updateSystemTheme()}else{switchToSavedTheme()}if(getSettingValue("source-sidebar-show")==="true"){addClass(document.documentElement,"source-sidebar-expanded")}window.addEventListener("pageshow",ev=>{if(ev.persisted){setTimeout(switchToSavedTheme,0)}}) \ No newline at end of file