pub struct CorsConfig {
pub allow_origin: String,
pub allow_methods: String,
pub allow_headers: String,
pub max_age_secs: u32,
}Expand description
CORS configuration for A2A dispatchers.
§Examples
use a2a_protocol_server::dispatch::cors::CorsConfig;
// Allow all origins (development/testing).
let cors = CorsConfig::permissive();
// Restrict to a specific origin.
let cors = CorsConfig::new("https://my-app.example.com");Fields§
§allow_origin: StringThe Access-Control-Allow-Origin value.
allow_methods: StringThe Access-Control-Allow-Methods value.
allow_headers: StringThe Access-Control-Allow-Headers value.
max_age_secs: u32The Access-Control-Max-Age value in seconds.
Implementations§
Source§impl CorsConfig
impl CorsConfig
Sourcepub fn new(allow_origin: impl Into<String>) -> Self
pub fn new(allow_origin: impl Into<String>) -> Self
Creates a new CorsConfig with the given allowed origin.
Sourcepub fn permissive() -> Self
pub fn permissive() -> Self
Creates a permissive CorsConfig that allows all origins.
Suitable for development or public APIs. For production use,
prefer CorsConfig::new with a specific origin.
Sourcepub fn apply_headers<B>(&self, resp: &mut Response<B>)
pub fn apply_headers<B>(&self, resp: &mut Response<B>)
Applies CORS headers to an existing HTTP response.
Sourcepub fn preflight_response(&self) -> Response<BoxBody<Bytes, Infallible>>
pub fn preflight_response(&self) -> Response<BoxBody<Bytes, Infallible>>
Builds a preflight (OPTIONS) response with CORS headers.
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 moreAuto 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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request