Struct HttpResponse
pub struct HttpResponse<B = BoxBody> {
res: Response<B>,
error: Option<Error>,
}Expand description
An outgoing response.
Fields§
§res: Response<B>§error: Option<Error>Implementations§
§impl HttpResponse
impl HttpResponse
pub fn Continue() -> HttpResponseBuilder
pub fn Continue() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::CONTINUE.
pub fn SwitchingProtocols() -> HttpResponseBuilder
pub fn SwitchingProtocols() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::SWITCHING_PROTOCOLS.
pub fn Processing() -> HttpResponseBuilder
pub fn Processing() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::PROCESSING.
pub fn Ok() -> HttpResponseBuilder
pub fn Ok() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::OK.
pub fn Created() -> HttpResponseBuilder
pub fn Created() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::CREATED.
pub fn Accepted() -> HttpResponseBuilder
pub fn Accepted() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::ACCEPTED.
pub fn NonAuthoritativeInformation() -> HttpResponseBuilder
pub fn NonAuthoritativeInformation() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::NON_AUTHORITATIVE_INFORMATION.
pub fn NoContent() -> HttpResponseBuilder
pub fn NoContent() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::NO_CONTENT.
pub fn ResetContent() -> HttpResponseBuilder
pub fn ResetContent() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::RESET_CONTENT.
pub fn PartialContent() -> HttpResponseBuilder
pub fn PartialContent() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::PARTIAL_CONTENT.
pub fn MultiStatus() -> HttpResponseBuilder
pub fn MultiStatus() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::MULTI_STATUS.
pub fn AlreadyReported() -> HttpResponseBuilder
pub fn AlreadyReported() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::ALREADY_REPORTED.
pub fn ImUsed() -> HttpResponseBuilder
pub fn ImUsed() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::IM_USED.
pub fn MultipleChoices() -> HttpResponseBuilder
pub fn MultipleChoices() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::MULTIPLE_CHOICES.
pub fn MovedPermanently() -> HttpResponseBuilder
pub fn MovedPermanently() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::MOVED_PERMANENTLY.
pub fn Found() -> HttpResponseBuilder
pub fn Found() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::FOUND.
pub fn SeeOther() -> HttpResponseBuilder
pub fn SeeOther() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::SEE_OTHER.
pub fn NotModified() -> HttpResponseBuilder
pub fn NotModified() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::NOT_MODIFIED.
pub fn UseProxy() -> HttpResponseBuilder
pub fn UseProxy() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::USE_PROXY.
pub fn TemporaryRedirect() -> HttpResponseBuilder
pub fn TemporaryRedirect() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::TEMPORARY_REDIRECT.
pub fn PermanentRedirect() -> HttpResponseBuilder
pub fn PermanentRedirect() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::PERMANENT_REDIRECT.
pub fn BadRequest() -> HttpResponseBuilder
pub fn BadRequest() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::BAD_REQUEST.
Creates a new response builder with the status code StatusCode::UNAUTHORIZED.
pub fn PaymentRequired() -> HttpResponseBuilder
pub fn PaymentRequired() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::PAYMENT_REQUIRED.
pub fn Forbidden() -> HttpResponseBuilder
pub fn Forbidden() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::FORBIDDEN.
pub fn NotFound() -> HttpResponseBuilder
pub fn NotFound() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::NOT_FOUND.
pub fn MethodNotAllowed() -> HttpResponseBuilder
pub fn MethodNotAllowed() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::METHOD_NOT_ALLOWED.
pub fn NotAcceptable() -> HttpResponseBuilder
pub fn NotAcceptable() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::NOT_ACCEPTABLE.
pub fn ProxyAuthenticationRequired() -> HttpResponseBuilder
pub fn ProxyAuthenticationRequired() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::PROXY_AUTHENTICATION_REQUIRED.
pub fn RequestTimeout() -> HttpResponseBuilder
pub fn RequestTimeout() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::REQUEST_TIMEOUT.
pub fn Conflict() -> HttpResponseBuilder
pub fn Conflict() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::CONFLICT.
pub fn Gone() -> HttpResponseBuilder
pub fn Gone() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::GONE.
pub fn LengthRequired() -> HttpResponseBuilder
pub fn LengthRequired() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::LENGTH_REQUIRED.
pub fn PreconditionFailed() -> HttpResponseBuilder
pub fn PreconditionFailed() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::PRECONDITION_FAILED.
pub fn PayloadTooLarge() -> HttpResponseBuilder
pub fn PayloadTooLarge() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::PAYLOAD_TOO_LARGE.
pub fn UriTooLong() -> HttpResponseBuilder
pub fn UriTooLong() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::URI_TOO_LONG.
pub fn UnsupportedMediaType() -> HttpResponseBuilder
pub fn UnsupportedMediaType() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::UNSUPPORTED_MEDIA_TYPE.
pub fn RangeNotSatisfiable() -> HttpResponseBuilder
pub fn RangeNotSatisfiable() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::RANGE_NOT_SATISFIABLE.
pub fn ExpectationFailed() -> HttpResponseBuilder
pub fn ExpectationFailed() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::EXPECTATION_FAILED.
pub fn ImATeapot() -> HttpResponseBuilder
pub fn ImATeapot() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::IM_A_TEAPOT.
pub fn MisdirectedRequest() -> HttpResponseBuilder
pub fn MisdirectedRequest() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::MISDIRECTED_REQUEST.
pub fn UnprocessableEntity() -> HttpResponseBuilder
pub fn UnprocessableEntity() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::UNPROCESSABLE_ENTITY.
pub fn Locked() -> HttpResponseBuilder
pub fn Locked() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::LOCKED.
pub fn FailedDependency() -> HttpResponseBuilder
pub fn FailedDependency() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::FAILED_DEPENDENCY.
pub fn UpgradeRequired() -> HttpResponseBuilder
pub fn UpgradeRequired() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::UPGRADE_REQUIRED.
pub fn PreconditionRequired() -> HttpResponseBuilder
pub fn PreconditionRequired() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::PRECONDITION_REQUIRED.
pub fn TooManyRequests() -> HttpResponseBuilder
pub fn TooManyRequests() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::TOO_MANY_REQUESTS.
pub fn RequestHeaderFieldsTooLarge() -> HttpResponseBuilder
pub fn RequestHeaderFieldsTooLarge() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::REQUEST_HEADER_FIELDS_TOO_LARGE.
Creates a new response builder with the status code StatusCode::UNAVAILABLE_FOR_LEGAL_REASONS.
pub fn InternalServerError() -> HttpResponseBuilder
pub fn InternalServerError() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::INTERNAL_SERVER_ERROR.
pub fn NotImplemented() -> HttpResponseBuilder
pub fn NotImplemented() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::NOT_IMPLEMENTED.
pub fn BadGateway() -> HttpResponseBuilder
pub fn BadGateway() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::BAD_GATEWAY.
Creates a new response builder with the status code StatusCode::SERVICE_UNAVAILABLE.
pub fn GatewayTimeout() -> HttpResponseBuilder
pub fn GatewayTimeout() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::GATEWAY_TIMEOUT.
pub fn VersionNotSupported() -> HttpResponseBuilder
pub fn VersionNotSupported() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::HTTP_VERSION_NOT_SUPPORTED.
pub fn VariantAlsoNegotiates() -> HttpResponseBuilder
pub fn VariantAlsoNegotiates() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::VARIANT_ALSO_NEGOTIATES.
pub fn InsufficientStorage() -> HttpResponseBuilder
pub fn InsufficientStorage() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::INSUFFICIENT_STORAGE.
pub fn LoopDetected() -> HttpResponseBuilder
pub fn LoopDetected() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::LOOP_DETECTED.
pub fn NotExtended() -> HttpResponseBuilder
pub fn NotExtended() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::NOT_EXTENDED.
pub fn NetworkAuthenticationRequired() -> HttpResponseBuilder
pub fn NetworkAuthenticationRequired() -> HttpResponseBuilder
Creates a new response builder with the status code StatusCode::NETWORK_AUTHENTICATION_REQUIRED.
§impl HttpResponse
impl HttpResponse
pub fn new(status: StatusCode) -> HttpResponse
pub fn new(status: StatusCode) -> HttpResponse
Constructs a response.
pub fn build(status: StatusCode) -> HttpResponseBuilder
pub fn build(status: StatusCode) -> HttpResponseBuilder
Constructs a response builder with specific HTTP status.
pub fn from_error(error: impl Into<Error>) -> HttpResponse
pub fn from_error(error: impl Into<Error>) -> HttpResponse
Create an error response.
§impl<B> HttpResponse<B>
impl<B> HttpResponse<B>
pub fn with_body(status: StatusCode, body: B) -> HttpResponse<B>
pub fn with_body(status: StatusCode, body: B) -> HttpResponse<B>
Constructs a response with body
pub fn head(&self) -> &ResponseHead
pub fn head(&self) -> &ResponseHead
Returns a reference to response head.
pub fn head_mut(&mut self) -> &mut ResponseHead
pub fn head_mut(&mut self) -> &mut ResponseHead
Returns a mutable reference to response head.
pub fn status(&self) -> StatusCode
pub fn status(&self) -> StatusCode
Get the response status code
pub fn status_mut(&mut self) -> &mut StatusCode
pub fn status_mut(&mut self) -> &mut StatusCode
Set the StatusCode for this response
pub fn headers(&self) -> &HeaderMap
pub fn headers(&self) -> &HeaderMap
Get the headers from the response
pub fn headers_mut(&mut self) -> &mut HeaderMap
pub fn headers_mut(&mut self) -> &mut HeaderMap
Get a mutable reference to the headers
Get an iterator for the cookies set by this response.
Add a cookie to this response.
§Errors
Returns an error if the cookie results in a malformed Set-Cookie header.
Add a “removal” cookie to the response that matches attributes of given cookie.
This will cause browsers/clients to remove stored cookies with this name.
The Set-Cookie header added to the response will have:
- name matching given cookie;
- domain matching given cookie;
- path matching given cookie;
- an empty value;
- a max-age of
0; - an expiration date far in the past.
If the cookie you’re trying to remove has an explicit path or domain set, those attributes will need to be included in the cookie passed in here.
§Errors
Returns an error if the given name results in a malformed Set-Cookie header.
Remove all cookies with the given name from this response.
Returns the number of cookies removed.
This method can not cause a browser/client to delete any of its stored cookies. Its only
purpose is to delete cookies that were added to this response using add_cookie
and add_removal_cookie. Use add_removal_cookie to send a “removal” cookie.
pub fn keep_alive(&self) -> bool
pub fn keep_alive(&self) -> bool
Keep-alive status for this connection
pub fn extensions(&self) -> Ref<'_, Extensions>
pub fn extensions(&self) -> Ref<'_, Extensions>
Returns reference to the response-local data/extensions container.
pub fn extensions_mut(&mut self) -> RefMut<'_, Extensions>
pub fn extensions_mut(&mut self) -> RefMut<'_, Extensions>
Returns reference to the response-local data/extensions container.
pub fn set_body<B2>(self, body: B2) -> HttpResponse<B2>
pub fn set_body<B2>(self, body: B2) -> HttpResponse<B2>
Sets new body.
pub fn into_parts(self) -> (HttpResponse<()>, B)
pub fn into_parts(self) -> (HttpResponse<()>, B)
Returns split head and body.
§Implementation Notes
Due to internal performance optimizations, the first element of the returned tuple is an
HttpResponse as well but only contains the head of the response this was called on.
pub fn drop_body(self) -> HttpResponse<()>
pub fn drop_body(self) -> HttpResponse<()>
Drops body and returns new response.
pub fn map_body<F, B2>(self, f: F) -> HttpResponse<B2>where
F: FnOnce(&mut ResponseHead, B) -> B2,
pub fn map_body<F, B2>(self, f: F) -> HttpResponse<B2>where
F: FnOnce(&mut ResponseHead, B) -> B2,
Map the current body type to another using a closure, returning a new response.
Closure receives the response head and the current body type.
pub fn map_into_left_body<R>(self) -> HttpResponse<EitherBody<B, R>>
pub fn map_into_left_body<R>(self) -> HttpResponse<EitherBody<B, R>>
Map the current body type B to EitherBody::Left(B).
Useful for middleware which can generate their own responses.
pub fn map_into_right_body<L>(self) -> HttpResponse<EitherBody<L, B>>
pub fn map_into_right_body<L>(self) -> HttpResponse<EitherBody<L, B>>
Map the current body type B to EitherBody::Right(B).
Useful for middleware which can generate their own responses.
pub fn map_into_boxed_body(self) -> HttpResponsewhere
B: MessageBody + 'static,
pub fn map_into_boxed_body(self) -> HttpResponsewhere
B: MessageBody + 'static,
Map the current body to a type-erased BoxBody.
pub fn into_body(self) -> B
pub fn into_body(self) -> B
Returns the response body, dropping all other parts.
Trait Implementations§
§impl<B> Debug for HttpResponse<B>where
B: MessageBody,
impl<B> Debug for HttpResponse<B>where
B: MessageBody,
§impl From<Error> for HttpResponse
impl From<Error> for HttpResponse
§fn from(err: Error) -> HttpResponse
fn from(err: Error) -> HttpResponse
§impl From<HttpResponseBuilder> for HttpResponse
impl From<HttpResponseBuilder> for HttpResponse
§fn from(builder: HttpResponseBuilder) -> HttpResponse
fn from(builder: HttpResponseBuilder) -> HttpResponse
§impl<B> From<Response<B>> for HttpResponse<B>
impl<B> From<Response<B>> for HttpResponse<B>
§fn from(res: Response<B>) -> HttpResponse<B>
fn from(res: Response<B>) -> HttpResponse<B>
§impl<B> From<ServiceResponse<B>> for HttpResponse<B>
impl<B> From<ServiceResponse<B>> for HttpResponse<B>
§fn from(res: ServiceResponse<B>) -> HttpResponse<B>
fn from(res: ServiceResponse<B>) -> HttpResponse<B>
§impl<B> Responder for HttpResponse<B>where
B: MessageBody + 'static,
impl<B> Responder for HttpResponse<B>where
B: MessageBody + 'static,
type Body = B
§fn respond_to(
self,
_: &HttpRequest,
) -> HttpResponse<<HttpResponse<B> as Responder>::Body>
fn respond_to( self, _: &HttpRequest, ) -> HttpResponse<<HttpResponse<B> as Responder>::Body>
HttpResponse.Auto Trait Implementations§
impl<B = BoxBody> !Freeze for HttpResponse<B>
impl<B = BoxBody> !RefUnwindSafe for HttpResponse<B>
impl<B = BoxBody> !Send for HttpResponse<B>
impl<B = BoxBody> !Sync for HttpResponse<B>
impl<B> Unpin for HttpResponse<B>where
B: Unpin,
impl<B = BoxBody> !UnwindSafe for HttpResponse<B>
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
§impl<T> Chain<T> for T
impl<T> Chain<T> for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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