#[non_exhaustive]pub struct CorsConfig {
pub origins: Vec<String>,
pub methods: Vec<String>,
pub headers: Vec<String>,
pub max_age_secs: u64,
pub allow_credentials: bool,
}Expand description
Configuration for CORS middleware.
When origins is empty (the default), the layer permits any origin
(Access-Control-Allow-Origin: *) and forces allow_credentials to
false — the CORS spec forbids * with credentials.
When one or more origins are specified, only those exact values are reflected back.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.origins: Vec<String>Allowed origin URLs (e.g. ["https://example.com"]).
Empty means allow any origin.
methods: Vec<String>Allowed HTTP methods.
headers: Vec<String>Allowed request headers.
max_age_secs: u64Value for Access-Control-Max-Age in seconds.
allow_credentials: boolWhether to set Access-Control-Allow-Credentials: true.
Ignored when origins is empty (forced to false).
Trait Implementations§
Source§impl Clone for CorsConfig
impl Clone for CorsConfig
Source§fn clone(&self) -> CorsConfig
fn clone(&self) -> CorsConfig
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 CorsConfig
impl Debug for CorsConfig
Source§impl Default for CorsConfig
impl Default for CorsConfig
Source§impl<'de> Deserialize<'de> for CorsConfigwhere
CorsConfig: Default,
impl<'de> Deserialize<'de> for CorsConfigwhere
CorsConfig: Default,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for CorsConfig
impl RefUnwindSafe for CorsConfig
impl Send for CorsConfig
impl Sync for CorsConfig
impl Unpin for CorsConfig
impl UnsafeUnpin for CorsConfig
impl UnwindSafe for CorsConfig
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