pub struct ServerConfig {
pub host: String,
pub port: u16,
pub cors_origins: Vec<String>,
}Expand description
Server configuration
Manages HTTP server settings like host, port, and CORS origins.
§Example
use lmrc_http_common::config::ServerConfig;
// Load from environment with default prefix "SERVER_"
let config = ServerConfig::from_env()?;
// Or use custom prefix
let config = ServerConfig::from_env_with_prefix("APP_")?;Fields§
§host: StringHost to bind to (e.g., “0.0.0.0”, “127.0.0.1”)
port: u16Port to bind to
cors_origins: Vec<String>CORS allowed origins
Implementations§
Source§impl ServerConfig
impl ServerConfig
Sourcepub fn from_env() -> ConfigResult<Self>
pub fn from_env() -> ConfigResult<Self>
Load configuration from environment variables with default prefix “SERVER_”
Expected environment variables:
SERVER_HOST(default: “0.0.0.0”)SERVER_PORT(default: 8080)CORS_ORIGINS(default: “http://localhost:3000”, comma-separated)
Sourcepub fn from_env_with_prefix(prefix: &str) -> ConfigResult<Self>
pub fn from_env_with_prefix(prefix: &str) -> ConfigResult<Self>
Load configuration from environment variables with custom prefix
§Arguments
prefix- Variable prefix (e.g., “GATEWAY_”, “API_”)
Sourcepub fn bind_addr(&self) -> ConfigResult<SocketAddr>
pub fn bind_addr(&self) -> ConfigResult<SocketAddr>
Get the socket address to bind to
Trait Implementations§
Source§impl Clone for ServerConfig
impl Clone for ServerConfig
Source§fn clone(&self) -> ServerConfig
fn clone(&self) -> ServerConfig
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 ConfigLoader for ServerConfig
impl ConfigLoader for ServerConfig
Source§fn from_env() -> ConfigResult<Self>
fn from_env() -> ConfigResult<Self>
Load configuration from environment variables
Source§fn validate(&self) -> ConfigResult<()>
fn validate(&self) -> ConfigResult<()>
Validate the configuration
Source§impl Debug for ServerConfig
impl Debug for ServerConfig
Source§impl<'de> Deserialize<'de> for ServerConfig
impl<'de> Deserialize<'de> for ServerConfig
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 ServerConfig
impl RefUnwindSafe for ServerConfig
impl Send for ServerConfig
impl Sync for ServerConfig
impl Unpin for ServerConfig
impl UnwindSafe for ServerConfig
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> 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> ServiceExt for T
impl<T> ServiceExt for T
Source§fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
High level tracing that classifies responses using HTTP status codes. Read more
Source§fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
High level tracing that classifies responses using gRPC headers. Read more
Source§fn set_request_id<M>(
self,
header_name: HeaderName,
make_request_id: M,
) -> SetRequestId<Self, M>where
Self: Sized,
M: MakeRequestId,
fn set_request_id<M>(
self,
header_name: HeaderName,
make_request_id: M,
) -> SetRequestId<Self, M>where
Self: Sized,
M: MakeRequestId,
Add request id header and extension. Read more
Source§fn set_x_request_id<M>(self, make_request_id: M) -> SetRequestId<Self, M>where
Self: Sized,
M: MakeRequestId,
fn set_x_request_id<M>(self, make_request_id: M) -> SetRequestId<Self, M>where
Self: Sized,
M: MakeRequestId,
Add request id header and extension, using
x-request-id as the header name. Read moreSource§fn propagate_request_id(
self,
header_name: HeaderName,
) -> PropagateRequestId<Self>where
Self: Sized,
fn propagate_request_id(
self,
header_name: HeaderName,
) -> PropagateRequestId<Self>where
Self: Sized,
Propgate request ids from requests to responses. Read more
Source§fn propagate_x_request_id(self) -> PropagateRequestId<Self>where
Self: Sized,
fn propagate_x_request_id(self) -> PropagateRequestId<Self>where
Self: Sized,
Propgate request ids from requests to responses, using
x-request-id as the header name. Read more