Struct hyper::server::Http [] [src]

pub struct Http<B = Chunk> { /* fields omitted */ }

A configuration of the HTTP protocol.

This structure is used to create instances of Server or to spawn off tasks which handle a connection to an HTTP server. Each instance of Http can be configured with various protocol-level options such as keepalive.

Methods

impl<B: AsRef<[u8]> + 'static> Http<B>
[src]

Deprecated since 0.11.11

: All usage of the tokio-proto crate is going away.

Use this Http instance to create a new server task which handles the connection io provided.

Deprecated

This method is deprecated. If seeking a replacement, consider Http::serve_connection.

impl<B: AsRef<[u8]> + 'static> Http<B>
[src]

Creates a new instance of the HTTP protocol, ready to spawn a server or start accepting connections.

Important traits for &'a mut R

Enables or disables HTTP keep-alive.

Default is true.

Important traits for &'a mut R

Set the maximum buffer size for the connection.

Important traits for &'a mut R

Aggregates flushes to better support pipelined responses.

Experimental, may be have bugs.

Default is false.

Important traits for &'a mut R

Swallow connection accept errors. Instead of passing up IO errors when the server is under heavy load the errors will be ignored. Some connection accept errors (like "connection reset") can be ignored, some (like "too many files open") may consume 100% CPU and a timout of 10ms is used in that case.

Default is false.

Bind the provided addr and return a server ready to handle connections.

This method will bind the addr provided with a new TCP listener ready to accept connections. Each connection will be processed with the new_service object provided as well, creating a new service per connection.

The returned Server contains one method, run, which is used to actually run the server.

Bind the provided addr and return a server with a shared Core.

This method allows the ability to share a Core with multiple servers.

This is method will bind the addr provided with a new TCP listener ready to accept connections. Each connection will be processed with the new_service object provided as well, creating a new service per connection.

Bind the provided stream of incoming IO objects with a NewService.

This method allows the ability to share a Core with multiple servers.

Bind a connection together with a Service.

This returns a Future that must be polled in order for HTTP to be driven on the connection.

Example

let http = Http::<hyper::Chunk>::new();
let conn = http.serve_connection(some_io, some_service);

let fut = conn
    .map(|_| ())
    .map_err(|e| eprintln!("server connection error: {}", e));

some_handle.spawn(fut);

Trait Implementations

impl<T, B> ServerProto<T> for Http<B> where
    T: AsyncRead + AsyncWrite + 'static,
    B: AsRef<[u8]> + 'static, 
[src]

Request headers.

Request body chunks.

Response headers.

Response body chunks.

Errors, which are used both for error frames and for the service itself.

The frame transport, which usually take T as a parameter.

A future for initializing a transport from an I/O object. Read more

Build a transport from the given I/O object, using self for any configuration. Read more

impl<B> Clone for Http<B>
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl<B> Debug for Http<B>
[src]

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl<B> Send for Http<B>

impl<B> Sync for Http<B>