pub struct HttpResponse { /* private fields */ }Expand description
HTTP Response builder providing Laravel-like response creation
Implementations§
Source§impl HttpResponse
impl HttpResponse
Sourcepub fn bytes(body: impl Into<Bytes>) -> Self
pub fn bytes(body: impl Into<Bytes>) -> Self
Create a response with raw binary data.
No default Content-Type is set; the caller must add one via .header().
Sourcepub fn download(body: impl Into<Bytes>, filename: &str) -> Self
pub fn download(body: impl Into<Bytes>, filename: &str) -> Self
Create a file download response with Content-Disposition header.
Auto-detects Content-Type from the filename extension using mime_guess.
Falls back to application/octet-stream for unknown extensions.
The filename is sanitized against header injection (control characters
and quote marks are stripped).
Sourcepub fn status_code(&self) -> u16
pub fn status_code(&self) -> u16
Get the current HTTP status code
Sourcepub fn body(&self) -> &str
pub fn body(&self) -> &str
Get the response body as a string slice.
Returns an empty string for non-UTF-8 bodies (e.g. binary data).
Use body_bytes() to access raw binary data.
Sourcepub fn body_bytes(&self) -> &Bytes
pub fn body_bytes(&self) -> &Bytes
Get the response body as raw bytes.
Sourcepub fn header(self, name: impl Into<String>, value: impl Into<String>) -> Self
pub fn header(self, name: impl Into<String>, value: impl Into<String>) -> Self
Set a response header, replacing any existing header with the same name.
The name match is case-insensitive (ASCII). Use append_header
for legitimately multi-value headers such as Set-Cookie, Vary, or Link.
Sourcepub fn append_header(
self,
name: impl Into<String>,
value: impl Into<String>,
) -> Self
pub fn append_header( self, name: impl Into<String>, value: impl Into<String>, ) -> Self
Append a response header without removing any existing entry with the same name.
Intended for headers that legitimately carry multiple values on separate lines,
such as Set-Cookie (RFC 6265 §4.1), Vary, and Link. For single-value
headers like Content-Type or Location, use header instead.
Sourcepub fn headers(&self) -> &[(String, String)]
pub fn headers(&self) -> &[(String, String)]
Get the response headers as a borrowed slice.
Returns all header entries in insertion order. Multi-value headers
(e.g. Set-Cookie) appear as multiple entries with the same name.
Sourcepub fn into_hyper(self) -> Response<Full<Bytes>>
pub fn into_hyper(self) -> Response<Full<Bytes>>
Convert to hyper response
Trait Implementations§
Source§impl Debug for HttpResponse
impl Debug for HttpResponse
Source§impl Default for HttpResponse
impl Default for HttpResponse
Source§impl From<AppError> for HttpResponse
Auto-convert AppError to HttpResponse
impl From<AppError> for HttpResponse
Auto-convert AppError to HttpResponse
This enables using the ? operator in controller handlers with AppError.
Source§fn from(err: AppError) -> HttpResponse
fn from(err: AppError) -> HttpResponse
Source§impl From<AuthorizationError> for HttpResponse
impl From<AuthorizationError> for HttpResponse
Source§fn from(err: AuthorizationError) -> HttpResponse
fn from(err: AuthorizationError) -> HttpResponse
Source§impl From<FrameworkError> for HttpResponse
Auto-convert FrameworkError to HttpResponse
impl From<FrameworkError> for HttpResponse
Auto-convert FrameworkError to HttpResponse
This enables using the ? operator in controller handlers to propagate
framework errors as appropriate HTTP responses.
When a hint is available (via FrameworkError::hint()), the JSON response
includes a "hint" field with actionable guidance for the developer.
Source§fn from(err: FrameworkError) -> HttpResponse
fn from(err: FrameworkError) -> HttpResponse
Source§impl From<ParamError> for HttpResponse
impl From<ParamError> for HttpResponse
Source§fn from(err: ParamError) -> HttpResponse
fn from(err: ParamError) -> HttpResponse
Auto Trait Implementations§
impl !Freeze for HttpResponse
impl RefUnwindSafe for HttpResponse
impl Send for HttpResponse
impl Sync for HttpResponse
impl Unpin for HttpResponse
impl UnsafeUnpin for HttpResponse
impl UnwindSafe for HttpResponse
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more