pub struct Response<R> { /* fields omitted */ }Expand description
Object representing an HTTP response whose purpose is to be given to a Request.
Some headers cannot be changed. Trying to define the value of one of these will have no effect:
ConnectionTrailerTransfer-EncodingUpgrade
Some headers have special behaviors:
-
Content-Encoding: If you define this header, the library will assume that the data from theReadobject has the specified encoding and will just pass-through. -
Content-Length: The length of the data should be set manually using theReponseobject’s API. Attempting to set the value of this header will be equivalent to modifying the size of the data but the header itself may not be present in the final result. -
Content-Type: You may only set this header to one value at a time. If you try to set it more than once, the existing value will be overwritten. This behavior differs from the default for most headers, which is to allow them to be set multiple times in the same response.
Implementations
Creates a new Response object.
The additional_headers argument is a receiver that
may provide headers even after the response has been sent.
All the other arguments are straight-forward.
Set a threshold for Content-Length where we chose chunked
transfer. Notice that chunked transfer might happen regardless of
this threshold, for instance when the request headers indicate
it is wanted or when there is no Content-Length.
Convert the response into the underlying Read type.
This is mainly useful for testing as it must consume the Response.
The current Content-Length threshold for switching over to
chunked transfer. The default is 32768 bytes. Notice that
chunked transfer is mutually exclusive with sending a
Content-Length header as per the HTTP spec.
Adds a header to the list. Does all the checks.
Returns the same request, but with an additional header.
Some headers cannot be modified and some other have a special behavior. See the documentation above.
Returns the same request, but with a different status code.
Returns the same request, but with different data.
Prints the HTTP response to a writer.
This function is the one used to send the response to the client’s socket. Therefore you shouldn’t expect anything pretty-printed or even readable.
The HTTP version and headers passed as arguments are used to decide which features (most notably, encoding) to use.
Note: does not flush the writer.
Retrieves the current value of the Response status code
Retrieves the current value of the Response data length
Turns this response into a Response<Box<Read + Send>>.
Trait Implementations
Auto Trait Implementations
impl<R> RefUnwindSafe for Response<R> where
R: RefUnwindSafe,
impl<R> UnwindSafe for Response<R> where
R: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
