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

pub struct Http<E = Exec> { /* fields omitted */ }

A lower-level configuration of the HTTP protocol.

This structure is used to configure options for an HTTP server connection.

If you don't have need to manage connections yourself, consider using the higher-level Server API.

Methods

impl Http
[src]

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

impl<E> Http<E>
[src]

Sets whether HTTP1 is required.

Default is false

Set whether HTTP/1 connections should support half-closures.

Clients can chose to shutdown their write-side while waiting for the server to respond. Setting this to false will automatically close any connection immediately if read detects an EOF.

Default is true.

Set whether HTTP/1 connections should try to use vectored writes, or always flatten into a single buffer.

Note that setting this to false may mean more copies of body data, but may also improve performance when an IO transport doesn't support vectored writes well, such as most TLS implementations.

Default is true.

Sets whether HTTP2 is required.

Default is false

Enables or disables HTTP keep-alive.

Default is true.

Set the maximum buffer size for the connection.

Default is ~400kb.

Panics

The minimum value allowed is 8192. This method panics if the passed max is less than the minimum.

Aggregates flushes to better support pipelined responses.

Experimental, may have bugs.

Default is false.

Set the executor used to spawn background tasks.

Default uses implicit default (like tokio::spawn).

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::new();
let conn = http.serve_connection(some_io, some_service);

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

hyper::rt::spawn(fut);

Bind the provided addr with the default Handle and return Serve.

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

Bind the provided addr with the Handle and return a Serve

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

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

Trait Implementations

impl<E: Clone> Clone for Http<E>
[src]

Performs copy-assignment from source. Read more

impl<E: Debug> Debug for Http<E>
[src]

Auto Trait Implementations

impl<E> Send for Http<E> where
    E: Send

impl<E> Sync for Http<E> where
    E: Sync

Blanket Implementations

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> From for T
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

impl<T, U> TryFrom for T where
    T: From<U>, 
[src]

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Erased for T