pub struct Response { /* private fields */ }
Expand description
Represents an HTTP response.
Implementations§
source§impl Response
impl Response
sourcepub fn from_parts(parts: ResponseParts, body: Body) -> Self
pub fn from_parts(parts: ResponseParts, body: Body) -> Self
Creates a new Response
with the given head and body.
sourcepub fn builder() -> ResponseBuilder
pub fn builder() -> ResponseBuilder
Creates a response builder.
sourcepub fn status(&self) -> StatusCode
pub fn status(&self) -> StatusCode
Returns the associated status code.
sourcepub fn is_ok(&self) -> bool
pub fn is_ok(&self) -> bool
Returns true
if status code is StatusCode::OK
.
sourcepub fn is_success(&self) -> bool
pub fn is_success(&self) -> bool
Check if status is within 200-299.
sourcepub fn set_status(&mut self, status: StatusCode)
pub fn set_status(&mut self, status: StatusCode)
Sets the status code for this response.
sourcepub fn content_type(&self) -> Option<&str>
pub fn content_type(&self) -> Option<&str>
Returns the content type of this response.
sourcepub fn set_content_type(self, content_type: impl AsRef<str>) -> Self
pub fn set_content_type(self, content_type: impl AsRef<str>) -> Self
Sets the Content-Type
header on the response.
sourcepub fn headers_mut(&mut self) -> &mut HeaderMap
pub fn headers_mut(&mut self) -> &mut HeaderMap
Returns a mutable reference to the associated header map.
sourcepub fn header(&self, name: impl AsRef<str>) -> Option<&str>
pub fn header(&self, name: impl AsRef<str>) -> Option<&str>
Returns the string value of the specified header.
NOTE: Returns None
if the header value is not a valid UTF8 string.
sourcepub fn set_version(&mut self, version: Version)
pub fn set_version(&mut self, version: Version)
Sets the version for this response.
sourcepub fn extensions(&self) -> &Extensions
pub fn extensions(&self) -> &Extensions
Returns a reference to the associated extensions.
sourcepub fn extensions_mut(&mut self) -> &mut Extensions
pub fn extensions_mut(&mut self) -> &mut Extensions
Returns a mutable reference to the associated extensions.
sourcepub fn data<T: Send + Sync + 'static>(&self) -> Option<&T>
pub fn data<T: Send + Sync + 'static>(&self) -> Option<&T>
Get a reference from extensions, similar to self.extensions().get()
.
sourcepub fn set_data(&mut self, data: impl Clone + Send + Sync + 'static)
pub fn set_data(&mut self, data: impl Clone + Send + Sync + 'static)
Inserts a value to extensions, similar to
self.extensions().insert(data)
.
sourcepub fn take_body(&mut self) -> Body
pub fn take_body(&mut self) -> Body
Take the body from this response and sets the body to empty.
sourcepub fn into_parts(self) -> (ResponseParts, Body)
pub fn into_parts(self) -> (ResponseParts, Body)
Consumes the response returning the head and body parts.
Trait Implementations§
source§impl<T: Into<Body>> From<(StatusCode, T)> for Response
impl<T: Into<Body>> From<(StatusCode, T)> for Response
source§fn from((status, body): (StatusCode, T)) -> Self
fn from((status, body): (StatusCode, T)) -> Self
source§impl From<StatusCode> for Response
impl From<StatusCode> for Response
source§fn from(status: StatusCode) -> Self
fn from(status: StatusCode) -> Self
source§impl IntoResponse for Response
impl IntoResponse for Response
source§fn into_response(self) -> Response
fn into_response(self) -> Response
Response
.source§fn with_header<K, V>(self, key: K, value: V) -> WithHeader<Self>
fn with_header<K, V>(self, key: K, value: V) -> WithHeader<Self>
impl IntoResponse
to add a header. Read moresource§fn with_content_type<V>(self, content_type: V) -> WithContentType<Self>
fn with_content_type<V>(self, content_type: V) -> WithContentType<Self>
impl IntoResponse
to with a new content type. Read moresource§fn with_status(self, status: StatusCode) -> WithStatus<Self>where
Self: Sized,
fn with_status(self, status: StatusCode) -> WithStatus<Self>where
Self: Sized,
impl IntoResponse
to set a status code. Read moreAuto Trait Implementations§
impl Freeze for Response
impl !RefUnwindSafe for Response
impl Send for Response
impl Sync for Response
impl Unpin for Response
impl !UnwindSafe for Response
Blanket Implementations§
source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> FutureExt for T
impl<T> FutureExt for T
source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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> IntoResult<T> for Twhere
T: IntoResponse,
impl<T> IntoResult<T> for Twhere
T: IntoResponse,
source§fn into_result(self) -> Result<T, Error>
fn into_result(self) -> Result<T, Error>
poem::Result<T>
.source§impl<T> TowerCompatExt for T
impl<T> TowerCompatExt for T
source§fn compat<ResBody, Err, Fut>(self) -> TowerCompatEndpoint<Self>where
ResBody: Body + Send + Sync + 'static,
ResBody::Data: Into<Bytes> + Send + 'static,
ResBody::Error: StdError + Send + Sync + 'static,
Err: Into<Error>,
Self: Service<Request<BoxBody<Bytes, Error>>, Response = Response<ResBody>, Error = Err, Future = Fut> + Clone + Send + Sync + Sized + 'static,
Fut: Future<Output = Result<Response<ResBody>, Err>> + Send + 'static,
fn compat<ResBody, Err, Fut>(self) -> TowerCompatEndpoint<Self>where
ResBody: Body + Send + Sync + 'static,
ResBody::Data: Into<Bytes> + Send + 'static,
ResBody::Error: StdError + Send + Sync + 'static,
Err: Into<Error>,
Self: Service<Request<BoxBody<Bytes, Error>>, Response = Response<ResBody>, Error = Err, Future = Fut> + Clone + Send + Sync + Sized + 'static,
Fut: Future<Output = Result<Response<ResBody>, Err>> + Send + 'static,
tower-compat
only.