Skip to main content

ReplyData

Enum ReplyData 

Source
pub enum ReplyData {
    Json(Value),
    Bytes {
        content_type: Cow<'static, str>,
        data: Vec<u8>,
    },
    Empty,
    Rich(Box<ReplySpec>),
    Stream(BodyStream),
    Upgrade(Box<dyn Any + Send>),
}
Expand description

The concrete payload of a successful reply. The Finalizer turns it into an HTTP response. Build one with the reply! macro or the reply::* constructor functions rather than by hand.

Variants§

§

Json(Value)

A JSON body (Content-Type: application/json).

§

Bytes

Raw bytes plus the Content-Type to send. There is no default — callers pick the type at the call site (application/zip, image/png, application/octet-stream, …). Construct via bytes(). The finalizer emits the header verbatim.

Fields

§content_type: Cow<'static, str>

The Content-Type header value to send with the bytes.

§data: Vec<u8>

The raw response body.

§

Empty

An empty body — 204 No Content by default.

§

Rich(Box<ReplySpec>)

A reply carrying explicit status / headers (a ReplySpec) on top of one of the other payload kinds.

§

Stream(BodyStream)

A streaming body, written out as the stream yields.

§

Upgrade(Box<dyn Any + Send>)

An HTTP connection-upgrade reply (e.g. WebSocket). Produced by actus::ws::upgrade(...) (with the websocket feature) and consumed by the server, which completes the handshake (101 Switching Protocols) and then hands the upgraded connection to the handler. The boxed value is opaque server plumbing — don’t construct or inspect it directly.

Implementations§

Source§

impl ReplyData

Source

pub fn add_header(&mut self, name: impl Into<String>, value: impl Into<String>)

Add a response header. Lifts self into ReplyData::Rich if the current variant doesn’t already carry headers (Json/Bytes/Empty/Stream), so middleware after hooks (and any code that has a ReplyData it wants to decorate) can stamp headers without manually wrangling ReplySpec. The original payload is preserved.

No-op on ReplyData::Upgrade — that variant is intercepted by the server before the response body is finalized, and lifting it into Rich would hide it from that interception.

Source

pub fn set_status(&mut self, status: StatusCode)

Set the response status, lifting into ReplyData::Rich if needed (see add_header).

Trait Implementations§

Source§

impl Debug for ReplyData

Source§

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

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

impl PartialEq for ReplyData

Source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more