pub struct ServerConfigBuilder { /* private fields */ }Expand description
Builder for server configuration.
Implementations§
Source§impl ServerConfigBuilder
impl ServerConfigBuilder
Sourcepub fn protocol(self, config: ProtocolConfig) -> Self
pub fn protocol(self, config: ProtocolConfig) -> Self
Set protocol configuration.
Sourcepub fn rate_limit(self, config: RateLimitConfig) -> Self
pub fn rate_limit(self, config: RateLimitConfig) -> Self
Set rate limiting configuration.
Sourcepub fn connection_limits(self, limits: ConnectionLimits) -> Self
pub fn connection_limits(self, limits: ConnectionLimits) -> Self
Set connection limits.
Sourcepub fn required_capabilities(self, caps: RequiredCapabilities) -> Self
pub fn required_capabilities(self, caps: RequiredCapabilities) -> Self
Set required client capabilities.
Sourcepub fn max_message_size(self, size: usize) -> Self
pub fn max_message_size(self, size: usize) -> Self
Set maximum message size in bytes.
Messages exceeding this size will be rejected. Default: 10MB.
Sourcepub fn origin_validation(self, config: OriginValidationConfig) -> Self
pub fn origin_validation(self, config: OriginValidationConfig) -> Self
Set HTTP origin validation configuration.
Sourcepub fn allow_origin(self, origin: impl Into<String>) -> Self
pub fn allow_origin(self, origin: impl Into<String>) -> Self
Add a single allowed origin for HTTP transports.
Sourcepub fn allow_origins<I, S>(self, origins: I) -> Self
pub fn allow_origins<I, S>(self, origins: I) -> Self
Add multiple allowed origins for HTTP transports.
Sourcepub fn allow_localhost_origins(self, allow: bool) -> Self
pub fn allow_localhost_origins(self, allow: bool) -> Self
Control whether localhost origins are accepted.
Sourcepub fn allow_any_origin(self, allow: bool) -> Self
pub fn allow_any_origin(self, allow: bool) -> Self
Disable origin checks entirely.
Sourcepub fn build(self) -> ServerConfig
pub fn build(self) -> ServerConfig
Build the server configuration with sensible defaults.
This method always succeeds and uses defaults for any unset fields.
For strict validation, use try_build().
Sourcepub fn try_build(self) -> Result<ServerConfig, ConfigValidationError>
pub fn try_build(self) -> Result<ServerConfig, ConfigValidationError>
Build the server configuration with validation.
This method validates the configuration and returns an error if any constraints are violated. Use this for stricter configuration checking in enterprise deployments.
§Errors
Returns an error if:
max_message_sizeis less than 1024 bytes (minimum viable message size)- Rate limit
max_requestsis 0 - Rate limit
windowis zero - Connection limits have all values set to 0
§Example
use turbomcp_server::ServerConfig;
// Validated build - catches configuration errors
let config = ServerConfig::builder()
.max_message_size(1024 * 1024) // 1MB
.try_build()
.expect("Invalid configuration");Trait Implementations§
Source§impl Clone for ServerConfigBuilder
impl Clone for ServerConfigBuilder
Source§fn clone(&self) -> ServerConfigBuilder
fn clone(&self) -> ServerConfigBuilder
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more