Struct ServerConf

Source
pub struct ServerConf {
Show 24 fields pub addr: String, pub access_log: Option<String>, pub locations: Option<Vec<String>>, pub threads: Option<usize>, pub tls_cipher_list: Option<String>, pub tls_ciphersuites: Option<String>, pub tls_min_version: Option<String>, pub tls_max_version: Option<String>, pub global_certificates: Option<bool>, pub enabled_h2: Option<bool>, pub tcp_idle: Option<Duration>, pub tcp_interval: Option<Duration>, pub tcp_user_timeout: Option<Duration>, pub downstream_read_timeout: Option<Duration>, pub downstream_write_timeout: Option<Duration>, pub tcp_probe_count: Option<usize>, pub tcp_fastopen: Option<usize>, pub reuse_port: Option<bool>, pub prometheus_metrics: Option<String>, pub otlp_exporter: Option<String>, pub includes: Option<Vec<String>>, pub modules: Option<Vec<String>>, pub enable_server_timing: Option<bool>, pub remark: Option<String>,
}
Expand description

Configuration for a server instance that handles incoming HTTP/HTTPS requests

Fields§

§addr: String

Address to listen on in format “host:port” or multiple addresses separated by commas

§access_log: Option<String>

Access log format string for request logging

§locations: Option<Vec<String>>

List of location names that this server handles

§threads: Option<usize>

Number of worker threads for this server instance

§tls_cipher_list: Option<String>

OpenSSL cipher list string for TLS connections

§tls_ciphersuites: Option<String>

TLS 1.3 ciphersuites string

§tls_min_version: Option<String>

Minimum TLS version to accept (e.g. “TLSv1.2”)

§tls_max_version: Option<String>

Maximum TLS version to use (e.g. “TLSv1.3”)

§global_certificates: Option<bool>

Whether to use global certificates instead of per-server certs

§enabled_h2: Option<bool>

Whether to enable HTTP/2 protocol support

§tcp_idle: Option<Duration>

TCP keepalive idle timeout

§tcp_interval: Option<Duration>

TCP keepalive probe interval

§tcp_user_timeout: Option<Duration>

TCP keepalive user timeout

§downstream_read_timeout: Option<Duration>§downstream_write_timeout: Option<Duration>§tcp_probe_count: Option<usize>

Number of TCP keepalive probes before connection is dropped

§tcp_fastopen: Option<usize>

TCP Fast Open queue length (0 to disable)

§reuse_port: Option<bool>

Enable SO_REUSEPORT to allow multiple sockets to bind to the same address and port. This is useful for load balancing across multiple worker processes. See the man page for more information.

§prometheus_metrics: Option<String>

Path to expose Prometheus metrics on

§otlp_exporter: Option<String>

OpenTelemetry exporter configuration

§includes: Option<Vec<String>>

List of configuration files to include

§modules: Option<Vec<String>>

List of modules to enable for this server

§enable_server_timing: Option<bool>

Whether to enable server-timing header

§remark: Option<String>

Optional description/notes about this server

Trait Implementations§

Source§

impl Clone for ServerConf

Source§

fn clone(&self) -> ServerConf

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ServerConf

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for ServerConf

Source§

fn default() -> ServerConf

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for ServerConf

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for ServerConf

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromRef<T> for T
where T: Clone,

Source§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> ErasedDestructor for T
where T: 'static,