Struct hyper::server::request::Request
[−]
[src]
pub struct Request<'a, 'b> {
pub remote_addr: SocketAddr,
pub method: Method,
pub headers: Headers,
pub uri: RequestUri,
pub version: HttpVersion,
// some fields omitted
}A request bundles several parts of an incoming NetworkStream, given to a Handler.
Fields
remote_addr | The IP address of the remote connection. |
method | The |
headers | The headers of the incoming request. |
uri | The target request-uri for this request. |
version | The version of HTTP for this request. |
Methods
impl<'a, 'b> Request<'a, 'b>
fn new(stream: &'a mut BufReader<&'b mut NetworkStream>, addr: SocketAddr) -> Result<Request<'a, 'b>>
Create a new Request, reading the StartLine and Headers so they are immediately useful.
fn set_read_timeout(&self, timeout: Option<Duration>) -> Result<()>
Set the read timeout of the underlying NetworkStream.
fn downcast_ref<T: NetworkStream>(&self) -> Option<&T>
Get a reference to the underlying NetworkStream.
fn ssl<T: NetworkStream>(&self) -> Option<&T>
Get a reference to the underlying Ssl stream, if connected over HTTPS.
Example
extern crate openssl; use openssl::ssl::SslStream; use hyper::net::HttpStream; let maybe_ssl = req.ssl::<SslStream<HttpStream>>();
fn deconstruct(self) -> (SocketAddr, Method, Headers, RequestUri, HttpVersion, HttpReader<&'a mut BufReader<&'b mut NetworkStream>>)
Deconstruct a Request into its constituent parts.