[][src]Struct hyper::server::response::Response

pub struct Response<'a, W: Any = Fresh> {
    pub version: HttpVersion,
    // some fields omitted
}

The outgoing half for a Tcp connection, created by a Server and given to a Handler.

The default StatusCode for a Response is 200 OK.

There is a Drop implementation for Response that will automatically write the head and flush the body, if the handler has not already done so, so that the server doesn't accidentally leave dangling requests.

Fields

version: HttpVersion

The HTTP version of this response.

Methods

impl<'a, W: Any> Response<'a, W>[src]

pub fn status(&self) -> StatusCode[src]

The status of this response.

pub fn headers(&self) -> &Headers[src]

The headers of this response.

Important traits for Response<'a, Streaming>
pub fn construct(
    version: HttpVersion,
    body: HttpWriter<&'a mut (dyn Write + 'a)>,
    status: StatusCode,
    headers: &'a mut Headers
) -> Response<'a, Fresh>
[src]

Construct a Response from its constituent parts.

pub fn deconstruct(
    self
) -> (HttpVersion, HttpWriter<&'a mut (dyn Write + 'a)>, StatusCode, &'a mut Headers)
[src]

Deconstruct this Response into its constituent parts.

impl<'a> Response<'a, Fresh>[src]

Important traits for Response<'a, Streaming>
pub fn new(
    stream: &'a mut (dyn Write + 'a),
    headers: &'a mut Headers
) -> Response<'a, Fresh>
[src]

Creates a new Response that can be used to write to a network stream.

pub fn send(self, body: &[u8]) -> Result<()>[src]

Writes the body and ends the response.

This is a shortcut method for when you have a response with a fixed size, and would only need a single write call normally.

Example

fn handler(res: Response) {
    res.send(b"Hello World!").unwrap();
}

The above is the same, but shorter, than the longer:

use std::io::Write;
use hyper::header::ContentLength;
fn handler(mut res: Response) {
    let body = b"Hello World!";
    res.headers_mut().set(ContentLength(body.len() as u64));
    let mut res = res.start().unwrap();
    res.write_all(body).unwrap();
}

pub fn start(self) -> Result<Response<'a, Streaming>>[src]

Consume this Response, writing the Headers and Status and creating a Response

pub fn status_mut(&mut self) -> &mut StatusCode[src]

Get a mutable reference to the status.

pub fn headers_mut(&mut self) -> &mut Headers[src]

Get a mutable reference to the Headers.

impl<'a> Response<'a, Streaming>[src]

pub fn end(self) -> Result<()>[src]

Flushes all writing of a response to the client.

Trait Implementations

impl<'a, T: Any> Drop for Response<'a, T>[src]

impl<'a, W: Debug + Any> Debug for Response<'a, W>[src]

impl<'a> Write for Response<'a, Streaming>[src]

fn write_vectored(&mut self, bufs: &[IoVec]) -> Result<usize, Error>[src]

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

Like write, except that it writes from a slice of buffers. Read more

fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
1.0.0
[src]

Attempts to write an entire buffer into this writer. Read more

fn write_fmt(&mut self, fmt: Arguments) -> Result<(), Error>
1.0.0
[src]

Writes a formatted string into this writer, returning any error encountered. Read more

fn by_ref(&mut self) -> &mut Self
1.0.0
[src]

Creates a "by reference" adaptor for this instance of Write. Read more

Auto Trait Implementations

impl<'a, W = Fresh> !Send for Response<'a, W>

impl<'a, W = Fresh> !Sync for Response<'a, W>

Blanket Implementations

impl<T> From for T[src]

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

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

type Error = Infallible

The type returned in the event of a conversion error.

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

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

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

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

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

impl<W> WriteBytesExt for W where
    W: Write + ?Sized

fn write_u8(&mut self, n: u8) -> Result<(), Error>

Writes an unsigned 8 bit integer to the underlying writer. Read more

fn write_i8(&mut self, n: i8) -> Result<(), Error>

Writes a signed 8 bit integer to the underlying writer. Read more

fn write_u16<T>(&mut self, n: u16) -> Result<(), Error> where
    T: ByteOrder, 

Writes an unsigned 16 bit integer to the underlying writer. Read more

fn write_i16<T>(&mut self, n: i16) -> Result<(), Error> where
    T: ByteOrder, 

Writes a signed 16 bit integer to the underlying writer. Read more

fn write_u24<T>(&mut self, n: u32) -> Result<(), Error> where
    T: ByteOrder, 

Writes an unsigned 24 bit integer to the underlying writer. Read more

fn write_i24<T>(&mut self, n: i32) -> Result<(), Error> where
    T: ByteOrder, 

Writes a signed 24 bit integer to the underlying writer. Read more

fn write_u32<T>(&mut self, n: u32) -> Result<(), Error> where
    T: ByteOrder, 

Writes an unsigned 32 bit integer to the underlying writer. Read more

fn write_i32<T>(&mut self, n: i32) -> Result<(), Error> where
    T: ByteOrder, 

Writes a signed 32 bit integer to the underlying writer. Read more

fn write_u48<T>(&mut self, n: u64) -> Result<(), Error> where
    T: ByteOrder, 

Writes an unsigned 48 bit integer to the underlying writer. Read more

fn write_i48<T>(&mut self, n: i64) -> Result<(), Error> where
    T: ByteOrder, 

Writes a signed 48 bit integer to the underlying writer. Read more

fn write_u64<T>(&mut self, n: u64) -> Result<(), Error> where
    T: ByteOrder, 

Writes an unsigned 64 bit integer to the underlying writer. Read more

fn write_i64<T>(&mut self, n: i64) -> Result<(), Error> where
    T: ByteOrder, 

Writes a signed 64 bit integer to the underlying writer. Read more

fn write_u128<T>(&mut self, n: u128) -> Result<(), Error> where
    T: ByteOrder, 

Writes an unsigned 128 bit integer to the underlying writer.

fn write_i128<T>(&mut self, n: i128) -> Result<(), Error> where
    T: ByteOrder, 

Writes a signed 128 bit integer to the underlying writer.

fn write_uint<T>(&mut self, n: u64, nbytes: usize) -> Result<(), Error> where
    T: ByteOrder, 

Writes an unsigned n-bytes integer to the underlying writer. Read more

fn write_int<T>(&mut self, n: i64, nbytes: usize) -> Result<(), Error> where
    T: ByteOrder, 

Writes a signed n-bytes integer to the underlying writer. Read more

fn write_uint128<T>(&mut self, n: u128, nbytes: usize) -> Result<(), Error> where
    T: ByteOrder, 

Writes an unsigned n-bytes integer to the underlying writer. Read more

fn write_int128<T>(&mut self, n: i128, nbytes: usize) -> Result<(), Error> where
    T: ByteOrder, 

Writes a signed n-bytes integer to the underlying writer. Read more

fn write_f32<T>(&mut self, n: f32) -> Result<(), Error> where
    T: ByteOrder, 

Writes a IEEE754 single-precision (4 bytes) floating point number to the underlying writer. Read more

fn write_f64<T>(&mut self, n: f64) -> Result<(), Error> where
    T: ByteOrder, 

Writes a IEEE754 double-precision (8 bytes) floating point number to the underlying writer. Read more

impl<T> Typeable for T where
    T: Any
[src]

fn get_type(&self) -> TypeId[src]

Get the TypeId of this object.