<!DOCTYPE html><htmllang="en"><head><metacharset="utf-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><metaname="generator"content="rustdoc"><metaname="description"content="Builder for CORS middleware."><metaname="keywords"content="rust, rustlang, rust-lang, Cors"><title>actix_cors::Cors - Rust</title><linkrel="stylesheet"type="text/css"href="../normalize.css"><linkrel="stylesheet"type="text/css"href="../rustdoc.css"id="mainThemeStyle"><linkrel="stylesheet"type="text/css"href="../light.css"id="themeStyle"><linkrel="stylesheet"type="text/css"href="../dark.css"disabled><linkrel="stylesheet"type="text/css"href="../ayu.css"disabled><scriptid="default-settings"></script><scriptsrc="../storage.js"></script><scriptsrc="../crates.js"></script><noscript><linkrel="stylesheet"href="../noscript.css"></noscript><linkrel="shortcut icon"href="https://actix.rs/favicon.ico"><styletype="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><bodyclass="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><navclass="sidebar"><divclass="sidebar-menu"role="button">☰</div><ahref='../actix_cors/index.html'><divclass='logo-container'><imgsrc='https://actix.rs/img/logo.png'alt='logo'></div></a><pclass="location">Struct Cors</p><divclass="sidebar-elems"><divclass="block items"><aclass="sidebar-title"href="#implementations">Methods</a><divclass="sidebar-links"><ahref="#method.allow_any_header">allow_any_header</a><ahref="#method.allow_any_method">allow_any_method</a><ahref="#method.allow_any_origin">allow_any_origin</a><ahref="#method.allowed_header">allowed_header</a><ahref="#method.allowed_headers">allowed_headers</a><ahref="#method.allowed_methods">allowed_methods</a><ahref="#method.allowed_origin">allowed_origin</a><ahref="#method.allowed_origin_fn">allowed_origin_fn</a><ahref="#method.disable_preflight">disable_preflight</a><ahref="#method.disable_vary_header">disable_vary_header</a><ahref="#method.expose_any_header">expose_any_header</a><ahref="#method.expose_headers">expose_headers</a><ahref="#method.max_age">max_age</a><ahref="#method.permissive">permissive</a><ahref="#method.send_wildcard">send_wildcard</a><ahref="#method.supports_credentials">supports_credentials</a></div><aclass="sidebar-title"href="#trait-implementations">Trait Implementations</a><divclass="sidebar-links"><ahref="#impl-Debug">Debug</a><ahref="#impl-Default">Default</a><ahref="#impl-Transform%3CS%2C%20ServiceRequest%3E">Transform<S, ServiceRequest></a></div><aclass="sidebar-title"href="#synthetic-implementations">Auto Trait Implementations</a><divclass="sidebar-links"><ahref="#impl-RefUnwindSafe">!RefUnwindSafe</a><ahref="#impl-Send">!Send</a><ahref="#impl-Sync">!Sync</a><ahref="#impl-Unpin">Unpin</a><ahref="#impl-UnwindSafe">!UnwindSafe</a></div><aclass="sidebar-title"href="#blanket-implementations">Blanket Implementations</a><divclass="sidebar-links"><ahref="#impl-Any">Any</a><ahref="#impl-Borrow%3CT%3E">Borrow<T></a><ahref="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><ahref="#impl-From%3CT%3E">From<T></a><ahref="#impl-Instrument">Instrument</a><ahref="#impl-Into%3CU%3E">Into<U></a><ahref="#impl-Same%3CT%3E">Same<T></a><ahref="#impl-TryFrom%3CU%3E">TryFrom<U></a><ahref="#impl-TryInto%3CU%3E">TryInto<U></a><ahref="#impl-VZip%3CV%3E">VZip<V></a></div></div><pclass="location"><ahref="index.html">actix_cors</a></p><divid="sidebar-vars"data-name="Cors"data-ty="struct"data-relpath=""></div><scriptdefersrc="sidebar-items.js"></script></div></nav><divclass="theme-picker"><buttonid="theme-picker"aria-label="Pick another theme!"aria-haspopup="menu"><imgsrc="../brush.svg"width="18"height="18"alt="Pick another theme!"></button><divid="theme-choices"role="menu"></div></div><navclass="sub"><formclass="search-form"><divclass="search-container"><div><selectid="crate-sea
<aid="settings-menu"href="../settings.html"><imgsrc="../wheel.svg"width="18"height="18"alt="Change settings"></a></div></form></nav><sectionid="main"class="content"><h1class="fqn"><spanclass="in-band">Struct <ahref="index.html">actix_cors</a>::<wbr><aclass="struct"href="">Cors</a></span><spanclass="out-of-band"><spanid="render-detail"><aid="toggle-all-docs"href="javascript:void(0)"title="collapse all docs">[<spanclass="inner">−</span>]</a></span><aclass="srclink"href="../src/actix_cors/builder.rs.html#72-75"title="goto source code">[src]</a></span></h1><divclass="docblock type-decl hidden-by-usual-hider"><preclass="rust struct">pub struct Cors { /* fields omitted */ }</pre></div><divclass="docblock"><p>Builder for CORS middleware.</p>
<p>To construct a CORS middleware, call <ahref="../actix_cors/struct.Cors.html#method.default"title="Cors::default()"><code>Cors::default()</code></a> to create a blank, restrictive builder.
Then use any of the builder methods to customize CORS behavior.</p>
<p>The alternative <ahref="../actix_cors/struct.Cors.html#method.permissive"title="Cors::permissive()"><code>Cors::permissive()</code></a> constructor is available for local development, allowing
all origins and headers, etc. <strong>The permissive constructor should not be used in production.</strong></p>
<spanclass="comment">// `cors` can now be used in `App::wrap`.</span></pre></div>
</div><h2id="implementations"class="small-section-header">Implementations<ahref="#implementations"class="anchor"></a></h2><h3id="impl"class="impl"><codeclass="in-band">impl <aclass="struct"href="../actix_cors/struct.Cors.html"title="struct actix_cors::Cors">Cors</a></code><ahref="#impl"class="anchor"></a><aclass="srclink"href="../src/actix_cors/builder.rs.html#77-451"title="goto source code">[src]</a></h3><divclass="impl-items"><h4id="method.permissive"class="method"><code>pub fn <ahref="#method.permissive"class="fnname">permissive</a>() -> Self</code><aclass="srclink"href="../src/actix_cors/builder.rs.html#82-106"title="goto source code">[src]</a></h4><divclass="docblock"><p>A very permissive set of default for quick development. Not recommended for production use.</p>
</div><h4id="method.allow_any_origin"class="method"><code>pub fn <ahref="#method.allow_any_origin"class="fnname">allow_any_origin</a>(self) -><aclass="struct"href="../actix_cors/struct.Cors.html"title="struct actix_cors::Cors">Cors</a></code><aclass="srclink"href="../src/actix_cors/builder.rs.html#111-117"title="goto source code">[src]</a></h4><divclass="docblock"><p>Resets allowed origin list to a state where any origin is accepted.</p>
<p>See <ahref="../actix_cors/struct.Cors.html#method.allowed_origin"title="Cors::allowed_origin"><code>Cors::allowed_origin</code></a> for more info on allowed origins.</p>
</div><h4id="method.allowed_origin"class="method"><code>pub fn <ahref="#method.allowed_origin"class="fnname">allowed_origin</a>(self, origin: &<aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -><aclass="struct"href="../actix_cors/struct.Cors.html"title="struct actix_cors::Cors">Cors</a></code><aclass="srclink"href="../src/actix_cors/builder.rs.html#143-171"title="goto source code">[src]</a></h4><divclass="docblock"><p>Add an origin that is allowed to make requests.</p>
<p>By default, requests from all origins are accepted by CORS logic. This method allows to
specify a finite set of origins to verify the value of the <code>Origin</code> request header.</p>
<p>These are <code>origin-or-null</code> types in the <ahref="https://fetch.spec.whatwg.org/#origin-header">Fetch Standard</a>.</p>
<p>When this list is set, the client’s <code>Origin</code> request header will be checked in a
case-sensitive manner.</p>
<p>When all origins are allowed and <code>send_wildcard</code> is set, <code>*</code> will be sent in the
<code>Access-Control-Allow-Origin</code> response header. If <code>send_wildcard</code> is not set, the client’s
<code>Origin</code> request header will be echoed back in the <code>Access-Control-Allow-Origin</code>
response header.</p>
<p>If the origin of the request doesn’t match any allowed origins and at least one
<code>allowed_origin_fn</code> function is set, these functions will be used to determinate
<li>If supplied origin is a wildcard (<code>*</code>). <ahref="../actix_cors/struct.Cors.html#method.send_wildcard"title="Cors::send_wildcard"><code>Cors::send_wildcard</code></a> should be used instead.</li>
</ul>
</div><h4id="method.allowed_origin_fn"class="method"><code>pub fn <ahref="#method.allowed_origin_fn"class="fnname">allowed_origin_fn</a><F>(self, f: F) -><aclass="struct"href="../actix_cors/struct.Cors.html"title="struct actix_cors::Cors">Cors</a><spanclass="where fmt-newline">where<br> F: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/ops/function/trait.Fn.html"title="trait core::ops::function::Fn">Fn</a>(&<aclass="struct"href="https://docs.rs/http/0.2.3/http/header/value/struct.HeaderValue.html"title="struct http::header::value::HeaderValue">HeaderValue</a>, &RequestHead) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> + 'static, </span></code><aclass="srclink"href="../src/actix_cors/builder.rs.html#181-192"title="goto source code">[src]</a></h4><divclass="docblock"><p>Determinate allowed origins by processing requests which didn’t match any origins specified
in the <code>allowed_origin</code>.</p>
<p>The function will receive two parameters, the Origin header value, and the <code>RequestHead</code> of
each request, which can be used to determine whether to allow the request or not.</p>
<p>If the function returns <code>true</code>, the client’s <code>Origin</code> request header will be echoed back
into the <code>Access-Control-Allow-Origin</code> response header.</p>
</div><h4id="method.allow_any_method"class="method"><code>pub fn <ahref="#method.allow_any_method"class="fnname">allow_any_method</a>(self) -><aclass="struct"href="../actix_cors/struct.Cors.html"title="struct actix_cors::Cors">Cors</a></code><aclass="srclink"href="../src/actix_cors/builder.rs.html#197-203"title="goto source code">[src]</a></h4><divclass="docblock"><p>Resets allowed methods list to all methods.</p>
<p>See <ahref="../actix_cors/struct.Cors.html#method.allowed_methods"title="Cors::allowed_methods"><code>Cors::allowed_methods</code></a> for more info on allowed methods.</p>
</div><h4id="method.allowed_methods"class="method"><code>pub fn <ahref="#method.allowed_methods"class="fnname">allowed_methods</a><U, M>(self, methods: U) -><aclass="struct"href="../actix_cors/struct.Cors.html"title="struct actix_cors::Cors">Cors</a><spanclass="where fmt-newline">where<br> U: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html"title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = M>,<br> M: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html"title="trait core::convert::TryInto">TryInto</a><<aclass="struct"href="https://docs.rs/http/0.2.3/http/method/struct.Method.html"title="struct http::method::Method">Method</a>>,<br> <M as <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html"title="trait core::convert::TryInto">TryInto</a><<aclass="struct"href="https://docs.rs/http/0.2.3/http/method/struct.Method.html"title="struct http::method::Method">Method</a>>>::<aclass="type"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error"title="type core::convert::TryInto::Error">Error</a>: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html"title="trait core::convert::Into">Into</a><<aclass="struct"href="https://docs.rs/http/0.2.3/http/error/struct.Error.html"title="struct http::error::Error">HttpError</a>>, </span></code><aclass="srclink"href="../src/actix_cors/builder.rs.html#213-235"title="goto source code">[src]</a></h4><divclass="docblock"><p>Set a list of methods which allowed origins can perform.</p>
<p>These will be sent in the <code>Access-Control-Allow-Methods</code> response header as specified in
the <ahref="https://fetch.spec.whatwg.org/#http-cors-protocol">Fetch Standard CORS protocol</a>.</p>
<p>Defaults to <code>[GET, HEAD, POST, OPTIONS, PUT, PATCH, DELETE]</code></p>
</div><h4id="method.allow_any_header"class="method"><code>pub fn <ahref="#method.allow_any_header"class="fnname">allow_any_header</a>(self) -><aclass="struct"href="../actix_cors/struct.Cors.html"title="struct actix_cors::Cors">Cors</a></code><aclass="srclink"href="../src/actix_cors/builder.rs.html#240-246"title="goto source code">[src]</a></h4><divclass="docblock"><p>Resets allowed request header list to a state where any header is accepted.</p>
<p>See <ahref="../actix_cors/struct.Cors.html#method.allowed_headers"title="Cors::allowed_headers"><code>Cors::allowed_headers</code></a> for more info on allowed request headers.</p>
<p>See <ahref="../actix_cors/struct.Cors.html#method.allowed_headers"title="Cors::allowed_headers"><code>Cors::allowed_headers</code></a> for more info on allowed request headers.</p>
</div><h4id="method.allowed_headers"class="method"><code>pub fn <ahref="#method.allowed_headers"class="fnname">allowed_headers</a><U, H>(self, headers: U) -><aclass="struct"href="../actix_cors/struct.Cors.html"title="struct actix_cors::Cors">Cors</a><spanclass="where fmt-newline">where<br> U: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html"title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = H>,<br> H: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html"title="trait core::convert::TryInto">TryInto</a><<aclass="struct"href="https://docs.rs/http/0.2.3/http/header/name/struct.HeaderName.html"title="struct http::header::name::HeaderName">HeaderName</a>>,<br> <H as <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html"title="trait core::convert::TryInto">TryInto</a><<aclass="struct"href="https://docs.rs/http/0.2.3/http/header/name/struct.HeaderName.html"title="struct http::header::name::HeaderName">HeaderName</a>>>::<aclass="type"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error"title="type core::convert::TryInto::Error">Error</a>: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html"title="trait core::convert::Into">Into</a><<aclass="struct"href="https://docs.rs/http/0.2.3/http/error/struct.Error.html"title="struct http::error::Error">HttpError</a>>, </span></code><aclass="srclink"href="../src/actix_cors/builder.rs.html#286-314"title="goto source code">[src]</a></h4><divclass="docblock"><p>Set a list of request header field names which can be used when this resource is accessed by
allowed origins.</p>
<p>If <code>All</code> is set, whatever is requested by the client in <code>Access-Control-Request-Headers</code>
will be echoed back in the <code>Access-Control-Allow-Headers</code> header as specified in
the <ahref="https://fetch.spec.whatwg.org/#http-cors-protocol">Fetch Standard CORS protocol</a>.</p>
<p>Defaults to <code>All</code>.</p>
</div><h4id="method.expose_any_header"class="method"><code>pub fn <ahref="#method.expose_any_header"class="fnname">expose_any_header</a>(self) -><aclass="struct"href="../actix_cors/struct.Cors.html"title="struct actix_cors::Cors">Cors</a></code><aclass="srclink"href="../src/actix_cors/builder.rs.html#319-325"title="goto source code">[src]</a></h4><divclass="docblock"><p>Resets exposed response header list to a state where any header is accepted.</p>
<p>See <ahref="../actix_cors/struct.Cors.html#method.expose_headers"title="Cors::expose_headers"><code>Cors::expose_headers</code></a> for more info on exposed response headers.</p>
</div><h4id="method.expose_headers"class="method"><code>pub fn <ahref="#method.expose_headers"class="fnname">expose_headers</a><U, H>(self, headers: U) -><aclass="struct"href="../actix_cors/struct.Cors.html"title="struct actix_cors::Cors">Cors</a><spanclass="where fmt-newline">where<br> U: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html"title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = H>,<br> H: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html"title="trait core::convert::TryInto">TryInto</a><<aclass="struct"href="https://docs.rs/http/0.2.3/http/header/name/struct.HeaderName.html"title="struct http::header::name::HeaderName">HeaderName</a>>,<br> <H as <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html"title="trait core::convert::TryInto">TryInto</a><<aclass="struct"href="https://docs.rs/http/0.2.3/http/header/name/struct.HeaderName.html"title="struct http::header::name::HeaderName">HeaderName</a>>>::<aclass="type"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error"title="type core::convert::TryInto::Error">Error</a>: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html"title="trait core::convert::Into">Into</a><<aclass="struct"href="https://docs.rs/http/0.2.3/http/error/struct.Error.html"title="struct http::error::Error">HttpError</a>>, </span></code><aclass="srclink"href="../src/actix_cors/builder.rs.html#334-361"title="goto source code">[src]</a></h4><divclass="docblock"><p>Set a list of headers which are safe to expose to the API of a CORS API specification.
This corresponds to the <code>Access-Control-Expose-Headers</code> response header as specified in
the <ahref="https://fetch.spec.whatwg.org/#http-cors-protocol">Fetch Standard CORS protocol</a>.</p>
<p>This defaults to an empty set.</p>
</div><h4id="method.max_age"class="method"><code>pub fn <ahref="#method.max_age"class="fnname">max_age</a>(self, max_age: impl <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html"title="trait core::convert::Into">Into</a><<aclass="enum"href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>>) -><aclass="struct"href="../actix_cors/struct.Cors.html"title="struct actix_cors::Cors">Cors</a></code><aclass="srclink"href="../src/actix_cors/builder.rs.html#370-376"title="goto source code">[src]</a></h4><divclass="docblock"><p>Set a maximum time (in seconds) for which this CORS request maybe cached.
This value is set as the <code>Access-Control-Max-Age</code> header as specified in
the <ahref="https://fetch.spec.whatwg.org/#http-cors-protocol">Fetch Standard CORS protocol</a>.</p>
<p>Pass a number (of seconds) or use None to disable sending max age header.</p>
</div><h4id="method.send_wildcard"class="method"><code>pub fn <ahref="#method.send_wildcard"class="fnname">send_wildcard</a>(self) -><aclass="struct"href="../actix_cors/struct.Cors.html"title="struct actix_cors::Cors">Cors</a></code><aclass="srclink"href="../src/actix_cors/builder.rs.html#389-395"title="goto source code">[src]</a></h4><divclass="docblock"><p>Set to use wildcard origins.</p>
<p>If send wildcard is set and the <code>allowed_origins</code> parameter is <code>All</code>, a wildcard
<code>Access-Control-Allow-Origin</code> response header is sent, rather than the request’s
<code>Origin</code> header.</p>
<p>This <strong>CANNOT</strong> be used in conjunction with <code>allowed_origins</code> set to <code>All</code> and
<code>allow_credentials</code> set to <code>true</code>. Depending on the mode of usage, this will either result
in an <code>CorsError::CredentialsWithWildcardOrigin</code> error during actix launch or runtime.</p>
<p>Defaults to <code>false</code>.</p>
</div><h4id="method.supports_credentials"class="method"><code>pub fn <ahref="#method.supports_credentials"class="fnname">supports_credentials</a>(self) -><aclass="struct"href="../actix_cors/struct.Cors.html"title="struct actix_cors::Cors">Cors</a></code><aclass="srclink"href="../src/actix_cors/builder.rs.html#412-418"title="goto source code">[src]</a></h4><divclass="docblock"><p>Allows users to make authenticated requests</p>
<p>If true, injects the <code>Access-Control-Allow-Credentials</code> header in responses. This allows
cookies and credentials to be submitted across domains as specified in
the <ahref="https://fetch.spec.whatwg.org/#http-cors-protocol">Fetch Standard CORS protocol</a>.</p>
<p>This option cannot be used in conjunction with an <code>allowed_origin</code> set to <code>All</code> and
<code>send_wildcards</code> set to <code>true</code>.</p>
<p>Defaults to <code>false</code>.</p>
<p>A server initialization error will occur if credentials are allowed, but the Origin is set
to send wildcards (<code>*</code>); this is not allowed by the CORS protocol.</p>
<p>When enabled the header <code>Vary: Origin</code> will be returned as per the Fetch Standard
implementation guidelines.</p>
<p>Setting this header when the <code>Access-Control-Allow-Origin</code> 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.</p>
<p>By default, <code>Vary</code> header support is enabled.</p>
</div><h4id="method.disable_preflight"class="method"><code>pub fn <ahref="#method.disable_preflight"class="fnname">disable_preflight</a>(self) -><aclass="struct"href="../actix_cors/struct.Cors.html"title="struct actix_cors::Cors">Cors</a></code><aclass="srclink"href="../src/actix_cors/builder.rs.html#444-450"title="goto source code">[src]</a></h4><divclass="docblock"><p>Disable support for preflight requests.</p>
<p>When enabled CORS middleware automatically handles <code>OPTIONS</code> requests.
This is useful for application level middleware.</p>
<p>By default <em>preflight</em> support is enabled.</p>
</div></div><h2id="trait-implementations"class="small-section-header">Trait Implementations<ahref="#trait-implementations"class="anchor"></a></h2><divid="trait-implementations-list"><h3id="impl-Debug"class="impl"><codeclass="in-band">impl <aclass="trait"href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html"title="trait core::fmt::Debug">Debug</a> for <aclass="struct"href="../actix_cors/struct.Cors.html"title="struct actix_cors::Cors">Cors</a></code><ahref="#impl-Debug"class="anchor"></a><aclass="srclink"href="../src/actix_cors/builder.rs.html#71"title="goto source code">[src]</a></h3><divclass="impl-items"><h4id="method.fmt"class="method hidden"><code>fn <ahref="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt"class="fnname">fmt</a>(&self, f: &mut <aclass="struct"href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html"title="struct core::fmt::Formatter">Formatter</a><'_>) -><aclass="type"href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html"title="type core::fmt::Result">Result</a></code><aclass="srclink"href="../src/actix_cors/builder.rs.html#71"title="goto source code">[src]</a></h4><divclass='docblock hidden'><p>Formats the value using the given formatter. <ahref="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
</div></div><h3id="impl-Default"class="impl"><codeclass="in-band">impl <aclass="trait"href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html"title="trait core::default::Default">Default</a> for <aclass="struct"href="../actix_cors/struct.Cors.html"title="struct actix_cors::Cors">Cors</a></code><ahref="#impl-Default"class="anchor"></a><aclass="srclink"href="../src/actix_cors/builder.rs.html#453-484"title="goto source code">[src]</a></h3><divclass="impl-items"><h4id="method.default"class="method"><code>fn <ahref="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default"class="fnname">default</a>() -><aclass="struct"href="../actix_cors/struct.Cors.html"title="struct actix_cors::Cors">Cors</a></code><aclass="srclink"href="../src/actix_cors/builder.rs.html#458-483"title="goto source code">[src]</a></h4><divclass="docblock"><p>A restrictive (security paranoid) set of defaults.</p>
<p><em>No</em> allowed origins, methods, request headers or exposed headers. Credentials
not supported. No max age (will use browser’s default).</p>
</div></div><h3id="impl-Transform%3CS%2C%20ServiceRequest%3E"class="impl"><codeclass="in-band">impl<S, B> Transform<S, ServiceRequest> for <aclass="struct"href="../actix_cors/struct.Cors.html"title="struct actix_cors::Cors">Cors</a><spanclass="where fmt-newline">where<br> S: Service<ServiceRequest, Response = ServiceResponse<B>, Error = Error>,<br> S::Future: 'static,<br> B: 'static, </span></code><ahref="#impl-Transform%3CS%2C%20ServiceRequest%3E"class="anchor"></a><aclass="srclink"href="../src/actix_cors/builder.rs.html#486-546"title="goto source code">[src]</a></h3><divclass="impl-items"><h4id="associatedtype.Response"class="type"><code>type <ahref="#associatedtype.Response"class="type">Response</a> = ServiceResponse<B></code></h4><divclass='docblock'><p>Responses produced by the service.</p>
</div><h4id="associatedtype.Error"class="type"><code>type <ahref="#associatedtype.Error"class="type">Error</a> = Error</code></h4><divclass='docblock'><p>Errors produced by the service.</p>
</div><h4id="associatedtype.InitError"class="type"><code>type <ahref="#associatedtype.InitError"class="type">InitError</a> = <aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a></code></h4><divclass='docblock'><p>Errors produced while building a transform service.</p>
</div><h4id="associatedtype.Transform"class="type"><code>type <ahref="#associatedtype.Transform"class="type">Transform</a> = CorsMiddleware<S></code></h4><divclass='docblock'><p>The <code>TransformService</code> value created by this factory</p>
</div><h4id="method.new_transform"class="method hidden"><code>fn <ahref="#method.new_transform"class="fnname">new_transform</a>(&self, service: S) -> Self::Future</code><aclass="srclink"href="../src/actix_cors/builder.rs.html#498-545"title="goto source code">[src]</a></h4><divclass='docblock hidden'><p>Creates and returns a new Transform component, asynchronously</p>
</div></div></div><h2id="synthetic-implementations"class="small-section-header">Auto Trait Implementations<ahref="#synthetic-implementations"class="anchor"></a></h2><divid="synthetic-implementations-list"><h3id="impl-RefUnwindSafe"class="impl"><codeclass="in-band">impl !<aclass="trait"href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html"title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <aclass="struct"href="../actix_cors/struct.Cors.html"title="struct actix_cors::Cors">Cors</a></code><ahref="#impl-RefUnwindSafe"class="anchor"></a></h3><divclass="impl-items"></div><h3id="impl-Send"class="impl"><codeclass="in-band">impl !<aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html"title="trait core::marker::Send">Send</a> for <aclass="struct"href="../actix_cors/struct.Cors.html"title="struct actix_cors::Cors">Cors</a></code><ahref="#impl-Send"class="anchor"></a></h3><divclass="impl-items"></div><h3id="impl-Sync"class="impl"><codeclass="in-band">impl !<aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html"title="trait core::marker::Sync">Sync</a> for <aclass="struct"href="../actix_cors/struct.Cors.html"title="struct actix_cors::Cors">Cors</a></code><ahref="#impl-Sync"class="anchor"></a></h3><divclass="impl-items"></div><h3id="impl-Unpin"class="impl"><codeclass="in-band">impl <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html"title="trait core::marker::Unpin">Unpin</a> for <aclass="struct"href="../actix_cors/struct.Cors.html"title="struct actix_cors::Cors">Cors</a></code><ahref="#impl-Unpin"class="anchor"></a></h3><divclass="impl-items"></div><h3id="impl-UnwindSafe"class="impl"><codeclass="in-band">impl !<aclass="trait"href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html"title="trait std::panic::UnwindSafe">UnwindSafe</a> for <aclass="struct"href="../actix_cors/struct.Cors.html"title="struct actix_cors::Cors">Cors</a></code><ahref="#impl-UnwindSafe"class="anchor"></a></h3><divclass="impl-items"></div></div><h2id="blanket-implementations"class="small-section-header">Blanket Implementations<ahref="#blanket-implementations"class="anchor"></a></h2><divid="blanket-implementations-list"><h3id="impl-Any"class="impl"><codeclass="in-band">impl<T><aclass="trait"href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html"title="trait core::any::Any">Any</a> for T <spanclass="where fmt-newline">where<br> T: 'static + ?<aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>, </span></code><ahref="#impl-Any"class="anchor"></a><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135"title="goto source code">[src]</a></h3><divclass="impl-items"><h4id="method.type_id"class="method hidden"><code>pub fn <ahref="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id"class="fnname">type_id</a>(&self) -><aclass="struct"href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html"title="struct core::any::TypeId">TypeId</a></code><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132"title="goto source code">[src]</a></h4><divclass='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <ahref="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
</div></div><h3id="impl-Borrow%3CT%3E"class="impl"><codeclass="in-band">impl<T><aclass="trait"href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html"title="trait core::borrow::Borrow">Borrow</a><T> for T <spanclass="where fmt-newline">where<br> T: ?<aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>, </span></code><ahref="#impl-Borrow%3CT%3E"class="anchor"></a><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213"title="goto source code">[src]</a></h3><divclass="impl-items"><h4id="method.borrow"class="method hidden"><code>pub fn <ahref="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow"class="fnname">borrow</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210"title="goto source code">[src]</a></h4><divclass='docblock hidden'><p>Immutably borrows from an owned value. <ahref="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
</div></div><h3id="impl-BorrowMut%3CT%3E"class="impl"><codeclass="in-band">impl<T><aclass="trait"href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html"title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <spanclass="where fmt-newline">where<br> T: ?<aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>, </span></code><ahref="#impl-BorrowMut%3CT%3E"class="anchor"></a><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220"title="goto source code">[src]</a></h3><divclass="impl-items"><h4id="method.borrow_mut"class="method hidden"><code>pub fn <ahref="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut"class="fnname">borrow_mut</a>(&mut self) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217"title="goto source code">[src]</a></h4><divclass='docblock hidden'><p>Mutably borrows from an owned value. <ahref="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
</div></div><h3id="impl-From%3CT%3E"class="impl"><codeclass="in-band">impl<T><aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html"title="trait core::convert::From">From</a><T> for T</code><ahref="#impl-From%3CT%3E"class="anchor"></a><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548"title="goto source code">[src]</a></h3><divclass="impl-items"><h4id="method.from"class="method hidden"><code>pub fn <ahref="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from"class="fnname">from</a>(t: T) -> T</code><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545"title="goto source code">[src]</a></h4><divclass='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3id="impl-Instrument"class="impl"><codeclass="in-band">impl<T><aclass="trait"href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html"title="trait tracing::instrument::Instrument">Instrument</a> for T</code><ahref="#impl-Instrument"class="anchor"></a><aclass="srclink"href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155"title="goto source code">[src]</a></h3><divclass="impl-items"><h4id="method.instrument"class="method hidden"><code>pub fn <ahref="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument"class="fnname">instrument</a>(self, span: <aclass="struct"href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html"title="struct tracing::span::Span">Span</a>) -><aclass="struct"href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html"title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><aclass="srclink"href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38"title="goto source code">[src]</a></h4><divclass='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
</div><h4id="method.in_current_span"class="method hidden"><code>pub fn <ahref="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span"class="fnname">in_current_span</a>(self) -><aclass="struct"href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html"title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><aclass="srclink"href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74"title="goto source code">[src]</a></h4><divclass='docblock hidden'><p>Instruments this type with the <ahref="../struct.Span.html#method.current">current</a><code>Span</code>, returning an
</div></div><h3id="impl-Into%3CU%3E"class="impl"><codeclass="in-band">impl<T, U><aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html"title="trait core::convert::Into">Into</a><U> for T <spanclass="where fmt-newline">where<br> U: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html"title="trait core::convert::From">From</a><T>, </span></code><ahref="#impl-Into%3CU%3E"class="anchor"></a><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540"title="goto source code">[src]</a></h3><divclass="impl-items"><h4id="method.into"class="method hidden"><code>pub fn <ahref="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into"class="fnname">into</a>(self) -> U</code><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537"title="goto source code">[src]</a></h4><divclass='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3id="impl-Same%3CT%3E"class="impl"><codeclass="in-band">impl<T> Same<T> for T</code><ahref="#impl-Same%3CT%3E"class="anchor"></a></h3><divclass="impl-items"><h4id="associatedtype.Output"class="type"><code>type <ahref="#associatedtype.Output"class="type">Output</a> = T</code></h4><divclass='docblock'><p>Should always be <code>Self</code></p>
</div></div><h3id="impl-TryFrom%3CU%3E"class="impl"><codeclass="in-band">impl<T, U><aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><U> for T <spanclass="where fmt-newline">where<br> U: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html"title="trait core::convert::Into">Into</a><T>, </span></code><ahref="#impl-TryFrom%3CU%3E"class="anchor"></a><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590"title="goto source code">[src]</a></h3><divclass="impl-items"><h4id="associatedtype.Error-1"class="type"><code>type <ahref="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error"class="type">Error</a> = <aclass="enum"href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html"title="enum core::convert::Infallible">Infallible</a></code></h4><divclass='docblock'><p>The type returned in the event of a conversion error.</p>
</div><h4id="method.try_from"class="method hidden"><code>pub fn <ahref="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from"class="fnname">try_from</a>(value: U) -><aclass="enum"href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html"title="enum core::result::Result">Result</a><T, <T as <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><U>>::<aclass="type"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a>></code><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587"title="goto source code">[src]</a></h4><divclass='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3id="impl-TryInto%3CU%3E"class="impl"><codeclass="in-band">impl<T, U><aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html"title="trait core::convert::TryInto">TryInto</a><U> for T <spanclass="where fmt-newline">where<br> U: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><ahref="#impl-TryInto%3CU%3E"class="anchor"></a><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576"title="goto source code">[src]</a></h3><divclass="impl-items"><h4id="associatedtype.Error-2"class="type"><code>type <ahref="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error"class="type">Error</a> = <U as <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>>::<aclass="type"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a></code></h4><divclass='docblock'><p>The type returned in the event of a conversion error.</p>
</div><h4id="method.try_into"class="method hidden"><code>pub fn <ahref="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into"class="fnname">try_into</a>(self) -><aclass="enum"href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html"title="enum core::result::Result">Result</a><U, <U as <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>>::<aclass="type"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a>></code><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573"title="goto source code">[src]</a></h4><divclass='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3id="impl-VZip%3CV%3E"class="impl"><codeclass="in-band">impl<V, T> VZip<V> for T <spanclass="where fmt-newline">where<br> V: MultiLane<T>, </span></code><ahref="#impl-VZip%3CV%3E"class="anchor"></a></h3><divclass="impl-items"><h4id="method.vzip"class="method hidden"><code>pub fn <ahref="#method.vzip"class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><sectionid="search"class="content hidden"></section><sectionclass="footer"></section><divid="rustdoc-vars"data-root-path="../"data-current-crate="actix_cors"data-search-js="../search-index.js"></div>