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.