pub struct Server<L = HttpListener> { /* private fields */ }
Expand description
A server can listen on a TCP socket.
Once listening, it will create a Request
/Response
pair for each
incoming connection, and hand them to the provided handler.
Implementations§
Source§impl<L: NetworkListener> Server<L>
impl<L: NetworkListener> Server<L>
Sourcepub fn keep_alive(&mut self, timeout: Option<Duration>)
pub fn keep_alive(&mut self, timeout: Option<Duration>)
Controls keep-alive for this server.
The timeout duration passed will be used to determine how long to keep the connection alive before dropping it.
Passing None
will disable keep-alive.
Default is enabled with a 5 second timeout.
Sourcepub fn set_read_timeout(&mut self, dur: Option<Duration>)
pub fn set_read_timeout(&mut self, dur: Option<Duration>)
Sets the read timeout for all Request reads.
Sourcepub fn set_write_timeout(&mut self, dur: Option<Duration>)
pub fn set_write_timeout(&mut self, dur: Option<Duration>)
Sets the write timeout for all Response writes.
Sourcepub fn local_addr(&mut self) -> Result<SocketAddr>
pub fn local_addr(&mut self) -> Result<SocketAddr>
Get the address that the server is listening on.
Source§impl Server<HttpListener>
impl Server<HttpListener>
Sourcepub fn http<To: ToSocketAddrs>(addr: To) -> Result<Server<HttpListener>>
pub fn http<To: ToSocketAddrs>(addr: To) -> Result<Server<HttpListener>>
Creates a new server that will handle HttpStream
s.
Source§impl<S: SslServer + Clone + Send> Server<HttpsListener<S>>
impl<S: SslServer + Clone + Send> Server<HttpsListener<S>>
Sourcepub fn https<A: ToSocketAddrs>(
addr: A,
ssl: S,
) -> Result<Server<HttpsListener<S>>>
pub fn https<A: ToSocketAddrs>( addr: A, ssl: S, ) -> Result<Server<HttpsListener<S>>>
Creates a new server that will handle HttpStream
s over SSL.
You can use any SSL implementation, as long as implements mco_http::net::Ssl
.
Source§impl<L: NetworkListener + Send + 'static> Server<L>
impl<L: NetworkListener + Send + 'static> Server<L>
Sourcepub fn handle<H: Handler + 'static>(self, handler: H) -> Result<Listening>
pub fn handle<H: Handler + 'static>(self, handler: H) -> Result<Listening>
Binds to a socket and starts handling connections.