Struct gotham_restful::cors::CorsConfig
source · [−]pub struct CorsConfig {
pub origin: Origin,
pub headers: Headers,
pub max_age: u64,
pub credentials: bool,
}
Expand description
This is the configuration that the CORS handler will follow. Its default configuration is basically not to touch any responses, resulting in the browser’s default behaviour.
To change settings, you need to put this type into gotham’s State:
fn main() {
let cors = CorsConfig {
origin: Origin::Star,
..Default::default()
};
let (chain, pipelines) = single_pipeline(new_pipeline().add(cors).build());
gotham::start(
"127.0.0.1:8080",
build_router(chain, pipelines, |route| {
// your routing logic
})
);
}
This easy approach allows you to have one global cors configuration. If you prefer to have separate configurations for different scopes, you need to register the middleware inside your routing logic:
let pipelines = new_pipeline_set();
// The first cors configuration
let cors_a = CorsConfig {
origin: Origin::Star,
..Default::default()
};
let (pipelines, chain_a) = pipelines.add(new_pipeline().add(cors_a).build());
// The second cors configuration
let cors_b = CorsConfig {
origin: Origin::Copy,
..Default::default()
};
let (pipelines, chain_b) = pipelines.add(new_pipeline().add(cors_b).build());
let pipeline_set = finalize_pipeline_set(pipelines);
gotham::start(
"127.0.0.1:8080",
build_router((), pipeline_set, |route| {
// routing without any cors config
route.with_pipeline_chain((chain_a, ()), |route| {
// routing with cors config a
});
route.with_pipeline_chain((chain_b, ()), |route| {
// routing with cors config b
});
})
);
Fields
origin: Origin
The allowed origins.
headers: Headers
The allowed headers.
max_age: u64
The amount of seconds that the preflight request can be cached.
credentials: bool
Whether or not the request may be made with supplying credentials.
Trait Implementations
sourceimpl Clone for CorsConfig
impl Clone for CorsConfig
sourcefn clone(&self) -> CorsConfig
fn clone(&self) -> CorsConfig
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresourceimpl Debug for CorsConfig
impl Debug for CorsConfig
sourceimpl Default for CorsConfig
impl Default for CorsConfig
sourcefn default() -> CorsConfig
fn default() -> CorsConfig
Returns the “default value” for a type. Read more
sourceimpl Middleware for CorsConfig
impl Middleware for CorsConfig
sourceimpl NewMiddleware for CorsConfig
impl NewMiddleware for CorsConfig
type Instance = CorsConfig
type Instance = CorsConfig
The type of
Middleware
created by the NewMiddleware
.sourcefn new_middleware(&self) -> Result<Self>
fn new_middleware(&self) -> Result<Self>
Create and return a new
Middleware
value.impl StateData for CorsConfig
Auto Trait Implementations
impl RefUnwindSafe for CorsConfig
impl Send for CorsConfig
impl Sync for CorsConfig
impl Unpin for CorsConfig
impl UnwindSafe for CorsConfig
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> FromState for Twhere
T: StateData,
impl<T> FromState for Twhere
T: StateData,
sourcefn try_borrow_from(state: &State) -> Option<&T>
fn try_borrow_from(state: &State) -> Option<&T>
Tries to borrow a value from the
State
storage. Read moresourcefn borrow_from(state: &State) -> &T
fn borrow_from(state: &State) -> &T
Borrows a value from the
State
storage. Read moresourcefn try_borrow_mut_from(state: &mut State) -> Option<&mut T>
fn try_borrow_mut_from(state: &mut State) -> Option<&mut T>
Tries to mutably borrow a value from the
State
storage. Read moresourcefn borrow_mut_from(state: &mut State) -> &mut T
fn borrow_mut_from(state: &mut State) -> &mut T
Mutably borrows a value from the
State
storage. Read moresourcefn try_take_from(state: &mut State) -> Option<T>
fn try_take_from(state: &mut State) -> Option<T>
Tries to move a value out of the
State
storage and return ownership. Read moresourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> IntoSql for T
impl<T> IntoSql for T
sourcefn into_sql<T>(self) -> Self::Expressionwhere
Self: AsExpression<T> + Sized,
T: SqlType + TypedExpressionType,
fn into_sql<T>(self) -> Self::Expressionwhere
Self: AsExpression<T> + Sized,
T: SqlType + TypedExpressionType,
Convert
self
to an expression for Diesel’s query builder. Read moresourcefn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expressionwhere
&'a Self: AsExpression<T>,
T: SqlType + TypedExpressionType,
fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expressionwhere
&'a Self: AsExpression<T>,
T: SqlType + TypedExpressionType,
Convert
&self
to an expression for Diesel’s query builder. Read more