[−][src]Struct hyper::server::Http
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]
impl<B: AsRef<[u8]> + 'static> Http<B>
pub fn new() -> Http<B>
[src]
pub fn new() -> Http<B>
Creates a new instance of the HTTP protocol, ready to spawn a server or start accepting connections.
ⓘImportant traits for &'a mut Wpub fn keep_alive(&mut self, val: bool) -> &mut Self
[src]
pub fn keep_alive(&mut self, val: bool) -> &mut Self
Enables or disables HTTP keep-alive.
Default is true.
ⓘImportant traits for &'a mut Wpub fn max_buf_size(&mut self, max: usize) -> &mut Self
[src]
pub fn max_buf_size(&mut self, max: usize) -> &mut Self
Set the maximum buffer size for the connection.
ⓘImportant traits for &'a mut Wpub fn pipeline(&mut self, enabled: bool) -> &mut Self
[src]
pub fn pipeline(&mut self, enabled: bool) -> &mut Self
Aggregates flushes to better support pipelined responses.
Experimental, may be have bugs.
Default is false.
ⓘImportant traits for &'a mut Wpub fn sleep_on_errors(&mut self, enabled: bool) -> &mut Self
[src]
pub fn sleep_on_errors(&mut self, enabled: bool) -> &mut Self
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.
pub fn bind<S, Bd>(
&self,
addr: &SocketAddr,
new_service: S
) -> Result<Server<S, Bd>> where
S: NewService<Request = Request, Response = Response<Bd>, Error = Error> + 'static,
Bd: Stream<Item = B, Error = Error>,
[src]
pub fn bind<S, Bd>(
&self,
addr: &SocketAddr,
new_service: S
) -> Result<Server<S, Bd>> where
S: NewService<Request = Request, Response = Response<Bd>, Error = Error> + 'static,
Bd: Stream<Item = B, Error = Error>,
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.
pub fn serve_addr_handle<S, Bd>(
&self,
addr: &SocketAddr,
handle: &Handle,
new_service: S
) -> Result<Serve<AddrIncoming, S>> where
S: NewService<Request = Request, Response = Response<Bd>, Error = Error>,
Bd: Stream<Item = B, Error = Error>,
[src]
pub fn serve_addr_handle<S, Bd>(
&self,
addr: &SocketAddr,
handle: &Handle,
new_service: S
) -> Result<Serve<AddrIncoming, S>> where
S: NewService<Request = Request, Response = Response<Bd>, Error = Error>,
Bd: Stream<Item = B, Error = Error>,
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.
pub fn serve_incoming<I, S, Bd>(
&self,
incoming: I,
new_service: S
) -> Serve<I, S> where
I: Stream<Error = Error>,
I::Item: AsyncRead + AsyncWrite,
S: NewService<Request = Request, Response = Response<Bd>, Error = Error>,
Bd: Stream<Item = B, Error = Error>,
[src]
pub fn serve_incoming<I, S, Bd>(
&self,
incoming: I,
new_service: S
) -> Serve<I, S> where
I: Stream<Error = Error>,
I::Item: AsyncRead + AsyncWrite,
S: NewService<Request = Request, Response = Response<Bd>, Error = Error>,
Bd: Stream<Item = B, Error = Error>,
Bind the provided stream of incoming IO objects with a NewService
.
This method allows the ability to share a Core
with multiple servers.
pub fn serve_connection<S, I, Bd>(&self, io: I, service: S) -> Connection<I, S> where
S: Service<Request = Request, Response = Response<Bd>, Error = Error>,
Bd: Stream<Error = Error>,
Bd::Item: AsRef<[u8]>,
I: AsyncRead + AsyncWrite,
[src]
pub fn serve_connection<S, I, Bd>(&self, io: I, service: S) -> Connection<I, S> where
S: Service<Request = Request, Response = Response<Bd>, Error = Error>,
Bd: Stream<Error = Error>,
Bd::Item: AsRef<[u8]>,
I: AsyncRead + AsyncWrite,
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<B> Clone for Http<B>
[src]
impl<B> Clone for Http<B>
fn clone(&self) -> Http<B>
[src]
fn clone(&self) -> Http<B>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl<B> Debug for Http<B>
[src]
impl<B> Debug for Http<B>
Auto Trait Implementations
Blanket Implementations
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
type Owned = T
fn to_owned(&self) -> T
[src]
fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
fn clone_into(&self, target: &mut T)
[src]
fn clone_into(&self, target: &mut T)
🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T> From for T
[src]
impl<T> From for T
impl<T, U> Into for T where
U: From<T>,
[src]
impl<T, U> Into for T where
U: From<T>,
impl<T, U> TryFrom for T where
T: From<U>,
[src]
impl<T, U> TryFrom for T where
T: From<U>,
type Error = !
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
try_from
)Performs the conversion.
impl<T> Borrow for T where
T: ?Sized,
[src]
impl<T> Borrow for T where
T: ?Sized,
ⓘImportant traits for &'a mut Wfn borrow(&self) -> &T
[src]
fn borrow(&self) -> &T
Immutably borrows from an owned value. Read more
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
try_from
)Performs the conversion.
impl<T> BorrowMut for T where
T: ?Sized,
[src]
impl<T> BorrowMut for T where
T: ?Sized,
ⓘImportant traits for &'a mut Wfn borrow_mut(&mut self) -> &mut T
[src]
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Any for T where
T: 'static + ?Sized,
[src]
impl<T> Any for T where
T: 'static + ?Sized,
fn get_type_id(&self) -> TypeId
[src]
fn get_type_id(&self) -> TypeId
🔬 This is a nightly-only experimental API. (get_type_id
)
this method will likely be replaced by an associated static
Gets the TypeId
of self
. Read more