pub struct Response { /* private fields */ }Expand description
Represents an HTTP response.
§Fields
version: The HTTP version of the response.status_code: The status code of the response.reason_phrase: The reason phrase corresponding to the status code.headers: A collection of HTTP headers as key-value pairs.body: The binary body of the response.
Implementations§
Source§impl Response
impl Response
Sourcepub fn get_header<K>(&self, key: K) -> OptionResponseHeadersValuewhere
K: Into<ResponseHeadersKey>,
pub fn get_header<K>(&self, key: K) -> OptionResponseHeadersValuewhere
K: Into<ResponseHeadersKey>,
Sourcepub fn get_body_string(&self) -> String
pub fn get_body_string(&self) -> String
Retrieves the body content of the object as a UTF-8 encoded string.
This method uses String::from_utf8_lossy to convert the byte slice returned by self.get_body() into a string.
If the byte slice contains invalid UTF-8 sequences, they will be replaced with the Unicode replacement character (�).
§Returns
A String containing the body content.
Sourcepub fn get_body_json<T>(&self) -> ResultSerdeJsonError<T>where
T: DeserializeOwned,
pub fn get_body_json<T>(&self) -> ResultSerdeJsonError<T>where
T: DeserializeOwned,
Deserializes the body content of the object into a specified type T.
This method first retrieves the body content as a UTF-8 encoded string using self.get_body().
It then attempts to deserialize the string into the specified type T using serde_json::from_str.
§Type Parameters
T: The target type to deserialize into. It must implement theDeserializeOwnedtrait.
§Returns
Ok(T): The deserialized object of typeTif the deserialization is successful.Err(serde_json::Error): An error if the deserialization fails (e.g., invalid JSON format or type mismatch).
Sourcepub fn set_header<K, V>(&mut self, key: K, value: V) -> &mut Self
pub fn set_header<K, V>(&mut self, key: K, value: V) -> &mut Self
Adds a header to the response.
This function inserts a key-value pair into the response headers.
The key and value are converted into ResponseHeadersKey, allowing for efficient handling of both owned and borrowed string data.
§Parameters
key: The header key, which will be converted into aResponseHeadersKey.value: The value of the header, which will be converted into aResponseHeadersValue.
§Returns
- Returns a mutable reference to the current instance (
&mut Self), allowing for method chaining.
Sourcepub fn set_body<T: Into<ResponseBody>>(&mut self, body: T) -> &mut Self
pub fn set_body<T: Into<ResponseBody>>(&mut self, body: T) -> &mut Self
Set the body of the response.
This method allows you to set the body of the response by converting the provided
value into a ResponseBody type. The body is updated with the converted value,
and the method returns a mutable reference to the current instance for method chaining.
§Parameters
body: The body of the response to be set. It can be any type that can be converted into aResponseBodyusing theIntotrait.
§Return Value
- Returns a mutable reference to the current instance of the struct, enabling method chaining. Set the body of the response.
This method allows you to set the body of the response by converting the provided
value into a ResponseBody type. The body is updated with the converted value,
and the method returns a mutable reference to the current instance for method chaining.
§Parameters
body: The body of the response to be set. It can be any type that can be converted into aResponseBodyusing theIntotrait.
§Return Value
- Returns a mutable reference to the current instance of the struct, enabling method chaining.
Sourcepub fn set_reason_phrase<T: Into<ResponseReasonPhrase>>(
&mut self,
reason_phrase: T,
) -> &mut Self
pub fn set_reason_phrase<T: Into<ResponseReasonPhrase>>( &mut self, reason_phrase: T, ) -> &mut Self
Set the reason phrase of the response.
This method allows you to set the reason phrase of the response by converting the
provided value into a ResponseReasonPhrase type. The reason_phrase is updated
with the converted value, and the method returns a mutable reference to the current
instance for method chaining.
§Parameters
reason_phrase: The reason phrase to be set for the response. It can be any type that can be converted into aResponseReasonPhraseusing theIntotrait.
§Return Value
- Returns a mutable reference to the current instance of the struct, enabling method chaining.
Sourcepub async fn send_body_with_websocket_flag(
&mut self,
stream_lock: &ArcRwLockStream,
is_websocket: bool,
) -> ResponseResult
pub async fn send_body_with_websocket_flag( &mut self, stream_lock: &ArcRwLockStream, is_websocket: bool, ) -> ResponseResult
Sourcepub async fn send_body(
&mut self,
stream_lock: &ArcRwLockStream,
) -> ResponseResult
pub async fn send_body( &mut self, stream_lock: &ArcRwLockStream, ) -> ResponseResult
Sourcepub async fn send_websocket_body(
&mut self,
stream_lock: &ArcRwLockStream,
) -> ResponseResult
pub async fn send_websocket_body( &mut self, stream_lock: &ArcRwLockStream, ) -> ResponseResult
Sourcepub async fn send(&mut self, stream_lock: &ArcRwLockStream) -> ResponseResult
pub async fn send(&mut self, stream_lock: &ArcRwLockStream) -> ResponseResult
Sourcepub async fn flush(&mut self, stream_lock: &ArcRwLockStream) -> ResponseResult
pub async fn flush(&mut self, stream_lock: &ArcRwLockStream) -> ResponseResult
Flush the TCP stream.
-
stream_lock: A reference to anArcRwLockStreamthat manages the TCP stream. -
Returns: A
ResponseResultindicating success or failure.
Sourcepub async fn close(&mut self, stream_lock: &ArcRwLockStream) -> ResponseResult
pub async fn close(&mut self, stream_lock: &ArcRwLockStream) -> ResponseResult
Closes the stream after sending the response.
This function is responsible for:
- Building the response using the
build()method. - Setting the response using the
set_response()method. - Shutting down the write half of the TCP stream to indicate no more data will be sent.
§Parameters
stream: A reference to theTcpStreamthat will be closed after sending the response.
§Returns
ResponseResult: The result of the operation, indicating whether the closure was successful or if an error occurred.
Sourcepub fn get_string(&self) -> String
pub fn get_string(&self) -> String
Converts the response to a formatted string representation.
- Returns: A
Stringcontaining formatted response details.