Skip to main content

Response

Struct Response 

Source
pub struct Response {
    pub status: Status,
    pub headers: Headers,
    pub body: Vec<u8>,
    /* private fields */
}
Expand description

An outgoing response.

Fields§

§status: Status§headers: Headers§body: Vec<u8>

Implementations§

Source§

impl Response

Source

pub fn new(status: Status) -> Self

Source

pub fn upgrading(self, upgrade: impl Upgrade) -> Self

Answer 101 and hand the connection to another protocol.

The caller sets whatever headers the new protocol’s handshake requires; this only arranges for the socket to be handed over afterwards.

Source

pub fn streaming(self, body: impl Upgrade) -> Self

Keep the status and headers, and hand the connection over once they are written — for a body that is produced over time rather than known now.

This is what an event stream is: a 200 whose body is events written as they happen, for as long as the client stays. upgrading is the same mechanism with a 101, for a protocol that stops being HTTP.

Source

pub fn upgrades(&self) -> bool

Whether this response takes the connection over.

Source

pub fn take_upgrade(&mut self) -> Option<Upgrader>

Take the upgrade out of a dispatched response.

Public so a test can drive an upgrade through the router rather than only over a real socket.

Source

pub fn ok() -> Self

Source

pub fn no_content() -> Self

Source

pub fn not_found() -> Self

Source

pub fn redirect(location: impl Into<String>) -> Self

A 302 redirect. Use Response::see_other after a form submission so the browser switches to GET.

Source

pub fn see_other(location: impl Into<String>) -> Self

Source

pub fn json(value: impl Into<Json>) -> Self

Source

pub fn html(body: impl Into<String>) -> Self

Source

pub fn text(body: impl Into<String>) -> Self

Source

pub fn with_status(self, status: impl Into<Status>) -> Self

Source

pub fn with_header(self, name: &str, value: impl Into<String>) -> Self

Source

pub fn with_body(self, body: impl Into<Vec<u8>>) -> Self

Source

pub fn with_json(self, value: impl Into<Json>) -> Self

Source

pub fn with_html(self, body: impl Into<String>) -> Self

Source

pub fn with_text(self, body: impl Into<String>) -> Self

Expire a cookie on the client.

Source

pub fn body_string(&self) -> String

Source

pub fn to_bytes(&self, include_body: bool) -> Vec<u8>

Serialize into an HTTP/1.1 wire response.

include_body is false for HEAD requests, which must report the length they would have sent while sending nothing.

Source§

impl Response

Source

pub fn events(events: Receiver<Event>) -> Response

A 200 that stays open and writes each event from events as it arrives, until the sender is dropped or the client goes away.

Drop the sender to end the stream cleanly. A send that fails means the client has gone; stop producing.

Trait Implementations§

Source§

impl Clone for Response

Source§

fn clone(&self) -> Response

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Response

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Response

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl IntoResponse for Response

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.