pub struct ServerConfig {
pub server: ServerSettings,
pub database: DatabaseSettings,
pub cache: CacheConfig,
pub logging: LoggingConfig,
}Expand description
Complete server configuration
Fields§
§server: ServerSettingsServer settings
database: DatabaseSettingsDatabase settings
cache: CacheConfigCache configuration
logging: LoggingConfigLogging configuration
Implementations§
Source§impl ServerConfig
impl ServerConfig
Sourcepub fn load(args: ServerArgs) -> Result<Self, ConfigError>
pub fn load(args: ServerArgs) -> Result<Self, ConfigError>
Load configuration from multiple sources in order of precedence:
- Command line arguments (highest priority)
- Environment variables
- Configuration file
- Default values (lowest priority)
Sourcepub fn load_and_validate_strict(args: ServerArgs) -> Result<Self, ConfigError>
pub fn load_and_validate_strict(args: ServerArgs) -> Result<Self, ConfigError>
Load and validate configuration file strictly without fallbacks. This method should be used when validating configuration files. It will return an error if the file has invalid syntax or values.
Sourcepub fn validate(&self) -> Result<(), ConfigError>
pub fn validate(&self) -> Result<(), ConfigError>
Validate the configuration
Sourcepub fn socket_addr(&self) -> Result<SocketAddr, ConfigError>
pub fn socket_addr(&self) -> Result<SocketAddr, ConfigError>
Get the server socket address
Sourcepub fn print_config(&self)
pub fn print_config(&self)
Print the configuration for debugging
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 Debug for ServerConfig
impl Debug for ServerConfig
Source§impl Default for ServerConfig
impl Default for ServerConfig
Source§fn default() -> ServerConfig
fn default() -> ServerConfig
Returns the “default value” for a type. Read more
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> 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