Module http::response [−][src]
HTTP response types.
This module contains structs related to HTTP responses, notably the
Response
type itself as well as a builder to create responses. Typically
you'll import the http::Response
type rather than reaching into this
module itself.
Examples
Creating a Response
to return
use http::{Request, Response, StatusCode}; fn respond_to(req: Request<()>) -> http::Result<Response<()>> { let mut response = Response::builder(); response.header("Foo", "Bar") .status(StatusCode::OK); if req.headers().contains_key("Another-Header") { response.header("Another-Header", "Ack"); } response.body(()) }
A simple 404 handler
use http::{Request, Response, StatusCode}; fn not_found(_req: Request<()>) -> http::Result<Response<()>> { Response::builder() .status(StatusCode::NOT_FOUND) .body(()) }
Or otherwise inspecting the result of a request:
use http::{Request, Response}; fn get(url: &str) -> http::Result<Response<()>> { // ... } let response = get("https://www.rust-lang.org/").unwrap(); if !response.status().is_success() { panic!("failed to get a successful response status!"); } if let Some(date) = response.headers().get("Date") { // we've got a `Date` header! } let body = response.body(); // ...
Structs
Builder |
An HTTP response builder |
Parts |
Component parts of an HTTP |
Response |
Represents an HTTP response |