pub struct AllowOrigin(/* private fields */);Available on crate feature
cors only.Expand description
Holds configuration for how to set the Access-Control-Allow-Origin header.
See CorsLayer::allow_origin for more details.
Implementations§
Source§impl AllowOrigin
impl AllowOrigin
Sourcepub fn any() -> Self
pub fn any() -> Self
Allow any origin by sending a wildcard (*)
See CorsLayer::allow_origin for more details.
Sourcepub fn exact(origin: HeaderValue) -> Self
pub fn exact(origin: HeaderValue) -> Self
Set a single allowed origin
See CorsLayer::allow_origin for more details.
Sourcepub fn list<I>(origins: I) -> Selfwhere
I: IntoIterator<Item = HeaderValue>,
pub fn list<I>(origins: I) -> Selfwhere
I: IntoIterator<Item = HeaderValue>,
Set multiple allowed origins
See CorsLayer::allow_origin for more details.
§Panics
If the iterator contains a wildcard (*).
Sourcepub fn predicate<F>(f: F) -> Self
pub fn predicate<F>(f: F) -> Self
Set the allowed origins from a predicate
See CorsLayer::allow_origin for more details.
Sourcepub fn async_predicate<F, Fut>(f: F) -> Selfwhere
F: FnOnce(HeaderValue, &RequestParts) -> Fut + Send + Sync + 'static + Clone,
Fut: Future<Output = bool> + Send + 'static,
pub fn async_predicate<F, Fut>(f: F) -> Selfwhere
F: FnOnce(HeaderValue, &RequestParts) -> Fut + Send + Sync + 'static + Clone,
Fut: Future<Output = bool> + Send + 'static,
Set the allowed origins from an async predicate
See CorsLayer::allow_origin for more details.
Sourcepub fn mirror_request() -> Self
pub fn mirror_request() -> Self
Allow any origin, by mirroring the request origin
This is equivalent to
AllowOrigin::predicate(|_, _| true).
See CorsLayer::allow_origin for more details.
Trait Implementations§
Source§impl Clone for AllowOrigin
impl Clone for AllowOrigin
Source§fn clone(&self) -> AllowOrigin
fn clone(&self) -> AllowOrigin
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for AllowOrigin
impl Debug for AllowOrigin
Source§impl Default for AllowOrigin
impl Default for AllowOrigin
Source§fn default() -> AllowOrigin
fn default() -> AllowOrigin
Returns the “default value” for a type. Read more
Source§impl<const N: usize> From<[HeaderValue; N]> for AllowOrigin
impl<const N: usize> From<[HeaderValue; N]> for AllowOrigin
Source§fn from(arr: [HeaderValue; N]) -> Self
fn from(arr: [HeaderValue; N]) -> Self
Converts to this type from the input type.
Source§impl From<Any> for AllowOrigin
impl From<Any> for AllowOrigin
Source§impl From<HeaderValue> for AllowOrigin
impl From<HeaderValue> for AllowOrigin
Source§fn from(val: HeaderValue) -> Self
fn from(val: HeaderValue) -> Self
Converts to this type from the input type.
Source§impl From<Vec<HeaderValue>> for AllowOrigin
impl From<Vec<HeaderValue>> for AllowOrigin
Source§fn from(vec: Vec<HeaderValue>) -> Self
fn from(vec: Vec<HeaderValue>) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl !Freeze for AllowOrigin
impl !RefUnwindSafe for AllowOrigin
impl Send for AllowOrigin
impl Sync for AllowOrigin
impl Unpin for AllowOrigin
impl !UnwindSafe for AllowOrigin
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ServiceExt for T
impl<T> ServiceExt for T
Source§fn propagate_header(self, header: HeaderName) -> PropagateHeader<Self>where
Self: Sized,
fn propagate_header(self, header: HeaderName) -> PropagateHeader<Self>where
Self: Sized,
Available on crate features
util and propagate-header only.Propagate a header from the request to the response. Read more
Source§fn add_extension<T>(self, value: T) -> AddExtension<Self, T>where
Self: Sized,
fn add_extension<T>(self, value: T) -> AddExtension<Self, T>where
Self: Sized,
Available on crate features
util and add-extension only.Add some shareable value to request extensions. Read more
Source§fn map_request_body<F>(self, f: F) -> MapRequestBody<Self, F>where
Self: Sized,
fn map_request_body<F>(self, f: F) -> MapRequestBody<Self, F>where
Self: Sized,
Available on crate features
util and map-request-body only.Apply a transformation to the request body. Read more
Source§fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
Available on crate features
util and map-response-body only.Apply a transformation to the response body. Read more
Source§fn compression(self) -> Compression<Self>where
Self: Sized,
fn compression(self) -> Compression<Self>where
Self: Sized,
Available on crate feature
util and (crate features compression-br or compression-deflate or compression-gzip or compression-zstd) only.Compresses response bodies. Read more
Source§fn decompression(self) -> Decompression<Self>where
Self: Sized,
fn decompression(self) -> Decompression<Self>where
Self: Sized,
Available on crate feature
util and (crate features decompression-br or decompression-deflate or decompression-gzip or decompression-zstd) only.Decompress response bodies. Read more
Source§fn trace_for_http(self) -> Trace<Self, HttpMakeClassifier>where
Self: Sized,
fn trace_for_http(self) -> Trace<Self, HttpMakeClassifier>where
Self: Sized,
Available on crate features
util and trace only.High level tracing that classifies responses using HTTP status codes. Read more
Source§fn trace_for_grpc(self) -> Trace<Self, GrpcMakeClassifier>where
Self: Sized,
fn trace_for_grpc(self) -> Trace<Self, GrpcMakeClassifier>where
Self: Sized,
Available on crate features
util and trace only.High level tracing that classifies responses using gRPC headers. Read more
Source§fn follow_redirects(self) -> FollowRedirect<Self, Standard>where
Self: Sized,
fn follow_redirects(self) -> FollowRedirect<Self, Standard>where
Self: Sized,
Available on crate features
util and follow-redirect only.Source§fn sensitive_headers(
self,
headers: impl IntoIterator<Item = HeaderName>,
) -> SetSensitiveHeaders<Self>where
Self: Sized,
fn sensitive_headers(
self,
headers: impl IntoIterator<Item = HeaderName>,
) -> SetSensitiveHeaders<Self>where
Self: Sized,
Available on crate features
util and sensitive-headers only.Source§fn sensitive_request_headers(
self,
headers: impl IntoIterator<Item = HeaderName>,
) -> SetSensitiveRequestHeaders<Self>where
Self: Sized,
fn sensitive_request_headers(
self,
headers: impl IntoIterator<Item = HeaderName>,
) -> SetSensitiveRequestHeaders<Self>where
Self: Sized,
Available on crate features
util and sensitive-headers only.Source§fn sensitive_response_headers(
self,
headers: impl IntoIterator<Item = HeaderName>,
) -> SetSensitiveResponseHeaders<Self>where
Self: Sized,
fn sensitive_response_headers(
self,
headers: impl IntoIterator<Item = HeaderName>,
) -> SetSensitiveResponseHeaders<Self>where
Self: Sized,
Available on crate features
util and sensitive-headers only.Source§fn override_request_header<M>(
self,
header_name: HeaderName,
make: M,
) -> SetRequestHeader<Self, M>where
Self: Sized,
fn override_request_header<M>(
self,
header_name: HeaderName,
make: M,
) -> SetRequestHeader<Self, M>where
Self: Sized,
Available on crate features
util and set-header only.Insert a header into the request. Read more
Source§fn append_request_header<M>(
self,
header_name: HeaderName,
make: M,
) -> SetRequestHeader<Self, M>where
Self: Sized,
fn append_request_header<M>(
self,
header_name: HeaderName,
make: M,
) -> SetRequestHeader<Self, M>where
Self: Sized,
Available on crate features
util and set-header only.Append a header into the request. Read more
Source§fn insert_request_header_if_not_present<M>(
self,
header_name: HeaderName,
make: M,
) -> SetRequestHeader<Self, M>where
Self: Sized,
fn insert_request_header_if_not_present<M>(
self,
header_name: HeaderName,
make: M,
) -> SetRequestHeader<Self, M>where
Self: Sized,
Available on crate features
util and set-header only.Insert a header into the request, if the header is not already present. Read more
Source§fn override_response_header<M>(
self,
header_name: HeaderName,
make: M,
) -> SetResponseHeader<Self, M>where
Self: Sized,
fn override_response_header<M>(
self,
header_name: HeaderName,
make: M,
) -> SetResponseHeader<Self, M>where
Self: Sized,
Available on crate features
util and set-header only.Insert a header into the response. Read more
Source§fn append_response_header<M>(
self,
header_name: HeaderName,
make: M,
) -> SetResponseHeader<Self, M>where
Self: Sized,
fn append_response_header<M>(
self,
header_name: HeaderName,
make: M,
) -> SetResponseHeader<Self, M>where
Self: Sized,
Available on crate features
util and set-header only.Append a header into the response. Read more
Source§fn insert_response_header_if_not_present<M>(
self,
header_name: HeaderName,
make: M,
) -> SetResponseHeader<Self, M>where
Self: Sized,
fn insert_response_header_if_not_present<M>(
self,
header_name: HeaderName,
make: M,
) -> SetResponseHeader<Self, M>where
Self: Sized,
Available on crate features
util and set-header only.Insert a header into the response, if the header is not already present. Read more
Source§fn set_request_id<M>(
self,
header_name: HeaderName,
make_request_id: M,
) -> SetRequestId<Self, M>where
Self: Sized,
M: MakeRequestId,
fn set_request_id<M>(
self,
header_name: HeaderName,
make_request_id: M,
) -> SetRequestId<Self, M>where
Self: Sized,
M: MakeRequestId,
Available on crate features
util and request-id only.Add request id header and extension. Read more
Source§fn set_x_request_id<M>(self, make_request_id: M) -> SetRequestId<Self, M>where
Self: Sized,
M: MakeRequestId,
fn set_x_request_id<M>(self, make_request_id: M) -> SetRequestId<Self, M>where
Self: Sized,
M: MakeRequestId,
Available on crate features
util and request-id only.Add request id header and extension, using
x-request-id as the header name. Read moreSource§fn propagate_request_id(
self,
header_name: HeaderName,
) -> PropagateRequestId<Self>where
Self: Sized,
fn propagate_request_id(
self,
header_name: HeaderName,
) -> PropagateRequestId<Self>where
Self: Sized,
Available on crate features
util and request-id only.Propgate request ids from requests to responses. Read more
Source§fn propagate_x_request_id(self) -> PropagateRequestId<Self>where
Self: Sized,
fn propagate_x_request_id(self) -> PropagateRequestId<Self>where
Self: Sized,
Available on crate features
util and request-id only.Propgate request ids from requests to responses, using
x-request-id as the header name. Read moreSource§fn catch_panic(self) -> CatchPanic<Self, DefaultResponseForPanic>where
Self: Sized,
fn catch_panic(self) -> CatchPanic<Self, DefaultResponseForPanic>where
Self: Sized,
Available on crate features
util and catch-panic only.Catch panics and convert them into
500 Internal Server responses. Read moreSource§fn request_body_limit(self, limit: usize) -> RequestBodyLimit<Self>where
Self: Sized,
fn request_body_limit(self, limit: usize) -> RequestBodyLimit<Self>where
Self: Sized,
Available on crate features
util and limit only.Intercept requests with over-sized payloads and convert them into
413 Payload Too Large responses. Read moreSource§fn trim_trailing_slash(self) -> NormalizePath<Self>where
Self: Sized,
fn trim_trailing_slash(self) -> NormalizePath<Self>where
Self: Sized,
Available on crate features
util and normalize-path only.Remove trailing slashes from paths. Read more
Source§fn append_trailing_slash(self) -> NormalizePath<Self>where
Self: Sized,
fn append_trailing_slash(self) -> NormalizePath<Self>where
Self: Sized,
Available on crate features
util and normalize-path only.Append trailing slash to paths. Read more