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 more
sourceimpl 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 = Self
type Instance = Self
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 T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
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 T where
T: StateData,
impl<T> FromState for T where
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 more
sourcefn borrow_from(state: &State) -> &T
fn borrow_from(state: &State) -> &T
Borrows a value from the State
storage. Read more
sourcefn 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 more
sourcefn 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 more
sourcefn 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 more
sourceimpl<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::Expression where
Self: AsExpression<T>,
fn into_sql<T>(self) -> Self::Expression where
Self: AsExpression<T>,
Convert self
to an expression for Diesel’s query builder. Read more
sourcefn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression where
&'a Self: AsExpression<T>,
fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression where
&'a Self: AsExpression<T>,
Convert &self
to an expression for Diesel’s query builder. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more