Struct hyper::server::Server [] [src]

pub struct Server<L = HttpListener> {
    // some fields omitted
}

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.

Methods

impl<L: NetworkListener> Server<L>

fn new(listener: L) -> Server<L>

Creates a new server with the provided handler.

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.

fn set_read_timeout(&mut self, dur: Option<Duration>)

Sets the read timeout for all Request reads.

fn set_write_timeout(&mut self, dur: Option<Duration>)

Sets the write timeout for all Response writes.

impl Server<HttpListener>

fn http<To: ToSocketAddrs>(addr: To) -> Result<Server<HttpListener>>

Creates a new server that will handle HttpStreams.

impl<S: Ssl + Clone + Send> Server<HttpsListener<S>>

fn https<A: ToSocketAddrs>(addr: A, ssl: S) -> Result<Server<HttpsListener<S>>>

Creates a new server that will handle HttpStreams over SSL.

You can use any SSL implementation, as long as implements hyper::net::Ssl.

impl<L: NetworkListener + Send + 'static> Server<L>

fn handle<H: Handler + 'static>(self, handler: H) -> Result<Listening>

Binds to a socket and starts handling connections.

fn handle_threads<H: Handler + 'static>(self, handler: H, threads: usize) -> Result<Listening>

Binds to a socket and starts handling connections with the provided number of threads.

Trait Implementations

Derived Implementations

impl<L: Debug> Debug for Server<L>

fn fmt(&self, arg_0: &mut Formatter) -> Result