pub struct ApiServerConfig {
pub host: String,
pub port: u16,
pub cors: CorsConfig,
pub max_body_size: usize,
pub enable_tracing: bool,
}Expand description
REST API server configuration.
Use ApiServerConfig::builder() for ergonomic construction:
ⓘ
let config = ApiServerConfig::builder()
.host("0.0.0.0")
.port(3000)
.enable_cors(true)
.allow_origin("https://example.com")
.build();Default values bind to 127.0.0.1:8080 with tracing enabled, CORS disabled,
and a 1 MB maximum request body.
Fields§
§host: StringAddress to bind the server to (default: "127.0.0.1").
port: u16TCP port to listen on (default: 8080).
cors: CorsConfigCentralized CORS configuration. Enable and set allowed_origins to
permit cross-origin requests. Origins are validated strictly — wildcard
("*") is never accepted.
max_body_size: usizeMaximum allowed request body size in bytes (default: 1 MB).
enable_tracing: boolWhether to attach a tower_http::TraceLayer for structured request/response logging.
Implementations§
Source§impl ApiServerConfig
impl ApiServerConfig
Sourcepub fn enable_cors(&self) -> bool
pub fn enable_cors(&self) -> bool
Convenience: is CORS enabled?
Source§impl ApiServerConfig
REST API Server
impl ApiServerConfig
REST API Server
Sourcepub fn builder() -> ApiServerConfigBuilder
pub fn builder() -> ApiServerConfigBuilder
Create a new builder for ApiServerConfig
Trait Implementations§
Source§impl Clone for ApiServerConfig
impl Clone for ApiServerConfig
Source§fn clone(&self) -> ApiServerConfig
fn clone(&self) -> ApiServerConfig
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 ApiServerConfig
impl Debug for ApiServerConfig
Auto Trait Implementations§
impl Freeze for ApiServerConfig
impl RefUnwindSafe for ApiServerConfig
impl Send for ApiServerConfig
impl Sync for ApiServerConfig
impl Unpin for ApiServerConfig
impl UnsafeUnpin for ApiServerConfig
impl UnwindSafe for ApiServerConfig
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> 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 more