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> UnsafeUnpin for HttpResponse<B>where
B: UnsafeUnpin,
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> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].