[][src]Struct rocket_http::Status

pub struct Status {
    pub code: u16,
    pub reason: &'static str,

Structure representing an HTTP status: an integer code and a reason phrase.


Status classes should rarely be created directly. Instead, an associated constant should be used; one is declared for every status defined in the HTTP standard.


A status of 200 OK can be instantiated via the Ok constant:

use rocket::http::Status;

let ok = Status::Ok;

A status of 404 Not Found can be instantiated via the NotFound constant:

use rocket::http::Status;

let not_found = Status::NotFound;

The code and phrase can be retrieved directly:

use rocket::http::Status;

let not_found = Status::NotFound;

assert_eq!(not_found.code, 404);
assert_eq!(not_found.reason, "Not Found");
assert_eq!(not_found.to_string(), "404 Not Found".to_string());


The HTTP status code associated with this status.

The HTTP reason phrase associated with this status.


impl Status

Creates a new Status with code and reason. This should be used only to construct non-standard HTTP statuses. Use an associated constant for standard statuses.


Create a custom 299 Somewhat Successful status:

use rocket::http::Status;

let custom = Status::new(299, "Somewhat Successful");
assert_eq!(custom.to_string(), "299 Somewhat Successful".to_string());

Returns the class of a given status.


use rocket::http::{Status, StatusClass};

let processing = Status::Processing;
assert_eq!(processing.class(), StatusClass::Informational);

let ok = Status::Ok;
assert_eq!(ok.class(), StatusClass::Success);

let see_other = Status::SeeOther;
assert_eq!(see_other.class(), StatusClass::Redirection);

let not_found = Status::NotFound;
assert_eq!(not_found.class(), StatusClass::ClientError);

let internal_error = Status::InternalServerError;
assert_eq!(internal_error.class(), StatusClass::ServerError);

let custom = Status::new(600, "Bizarre");
assert_eq!(custom.class(), StatusClass::Unknown);

Status with code 100 and reason Continue .

Status with code 101 and reason Switching Protocols .

Status with code 102 and reason Processing .

Status with code 200 and reason OK .

Status with code 201 and reason Created .

Status with code 202 and reason Accepted .

Status with code 203 and reason Non-Authoritative Information .

Status with code 204 and reason No Content .

Status with code 205 and reason Reset Content .

Status with code 206 and reason Partial Content .

Status with code 207 and reason Multi-Status .

Status with code 208 and reason Already Reported .

Status with code 226 and reason IM Used .

Status with code 300 and reason Multiple Choices .

Status with code 301 and reason Moved Permanently .

Status with code 302 and reason Found .

Status with code 303 and reason See Other .

Status with code 304 and reason Not Modified .

Status with code 305 and reason Use Proxy .

Status with code 307 and reason Temporary Redirect .

Status with code 308 and reason Permanent Redirect .

Status with code 400 and reason Bad Request .

Status with code 401 and reason Unauthorized .

Status with code 402 and reason Payment Required .

Status with code 403 and reason Forbidden .

Status with code 404 and reason Not Found .

Status with code 405 and reason Method Not Allowed .

Status with code 406 and reason Not Acceptable .

Status with code 407 and reason Proxy Authentication Required .

Status with code 408 and reason Request Timeout .

Status with code 409 and reason Conflict .

Status with code 410 and reason Gone .

Status with code 411 and reason Length Required .

Status with code 412 and reason Precondition Failed .

Status with code 413 and reason Payload Too Large .

Status with code 414 and reason URI Too Long .

Status with code 415 and reason Unsupported Media Type .

Status with code 416 and reason Range Not Satisfiable .

Status with code 417 and reason Expectation Failed .

Status with code 418 and reason I'm a teapot .

Status with code 421 and reason Misdirected Request .

Status with code 422 and reason Unprocessable Entity .

Status with code 423 and reason Locked .

Status with code 424 and reason Failed Dependency .

Status with code 426 and reason Upgrade Required .

Status with code 428 and reason Precondition Required .

Status with code 429 and reason Too Many Requests .

Status with code 431 and reason Request Header Fields Too Large .

Status with code 451 and reason Unavailable For Legal Reasons .

Status with code 500 and reason Internal Server Error .

Status with code 501 and reason Not Implemented .

Status with code 502 and reason Bad Gateway .

Status with code 503 and reason Service Unavailable .

Status with code 504 and reason Gateway Timeout .

Status with code 505 and reason HTTP Version Not Supported .

Status with code 506 and reason Variant Also Negotiates .

Status with code 507 and reason Insufficient Storage .

Status with code 508 and reason Loop Detected .

Status with code 510 and reason Not Extended .

Status with code 511 and reason Network Authentication Required .

Returns a Status given a standard status code code. If code is not a known status code, None is returned.


Create a Status from a known code:

use rocket::http::Status;

let not_found = Status::from_code(404);
assert_eq!(not_found, Some(Status::NotFound));

Create a Status from an unknown code:

use rocket::http::Status;

let not_found = Status::from_code(600);

Trait Implementations

impl Clone for Status

Performs copy-assignment from source. Read more

impl Copy for Status

impl Eq for Status

impl PartialEq<Status> for Status

impl Debug for Status

impl Display for Status

impl Hash for Status

Feeds a slice of this type into the given [Hasher]. Read more

Auto Trait Implementations

impl Send for Status

impl Sync for Status

Blanket Implementations

impl<T> IntoCollection for T

impl<T> From for T

impl<T, U> Into for T where
    U: From<T>, 

impl<T> ToString for T where
    T: Display + ?Sized

impl<T> ToOwned for T where
    T: Clone

impl<T, U> TryFrom for T where
    T: From<U>, 

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized

impl<T, U> TryInto for T where
    U: TryFrom<T>, 

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> BorrowMut for T where
    T: ?Sized

impl<T> Any for T where
    T: 'static + ?Sized

impl<T, I> AsResult for T where
    I: Input

impl<Q, K> Equivalent for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized

impl<T> Typeable for T where
    T: Any

Get the TypeId of this object.