Struct rocket_http::Status
source · [−]Expand description
Structure representing an HTTP status: an integer code and a reason phrase.
Usage
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.
Example
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());
Fields
code: u16
The HTTP status code associated with this status.
reason: &'static str
The HTTP reason phrase associated with this status.
Implementations
sourceimpl Status
impl Status
sourcepub fn new(code: u16, reason: &'static str) -> Status
pub fn new(code: u16, reason: &'static str) -> 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.
Example
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());
sourcepub fn class(&self) -> StatusClass
pub fn class(&self) -> StatusClass
Returns the class of a given status.
Example
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);
sourcepub const Continue: Status = Status{code: 100, reason: "Continue",}
pub const Continue: Status = Status{code: 100, reason: "Continue",}
Status
with code
100
and reason
Continue
.
sourcepub const SwitchingProtocols: Status = Status{code: 101, reason: "Switching Protocols",}
pub const SwitchingProtocols: Status = Status{code: 101, reason: "Switching Protocols",}
Status
with code
101
and reason
Switching Protocols
.
sourcepub const Processing: Status = Status{code: 102, reason: "Processing",}
pub const Processing: Status = Status{code: 102, reason: "Processing",}
Status
with code
102
and reason
Processing
.
sourcepub const Created: Status = Status{code: 201, reason: "Created",}
pub const Created: Status = Status{code: 201, reason: "Created",}
Status
with code
201
and reason
Created
.
sourcepub const Accepted: Status = Status{code: 202, reason: "Accepted",}
pub const Accepted: Status = Status{code: 202, reason: "Accepted",}
Status
with code
202
and reason
Accepted
.
sourcepub const NonAuthoritativeInformation: Status = Status{code: 203, reason: "Non-Authoritative Information",}
pub const NonAuthoritativeInformation: Status = Status{code: 203, reason: "Non-Authoritative Information",}
Status
with code
203
and reason
Non-Authoritative Information
.
sourcepub const NoContent: Status = Status{code: 204, reason: "No Content",}
pub const NoContent: Status = Status{code: 204, reason: "No Content",}
Status
with code
204
and reason
No Content
.
sourcepub const ResetContent: Status = Status{code: 205, reason: "Reset Content",}
pub const ResetContent: Status = Status{code: 205, reason: "Reset Content",}
Status
with code
205
and reason
Reset Content
.
sourcepub const PartialContent: Status = Status{code: 206, reason: "Partial Content",}
pub const PartialContent: Status = Status{code: 206, reason: "Partial Content",}
Status
with code
206
and reason
Partial Content
.
sourcepub const MultiStatus: Status = Status{code: 207, reason: "Multi-Status",}
pub const MultiStatus: Status = Status{code: 207, reason: "Multi-Status",}
Status
with code
207
and reason
Multi-Status
.
sourcepub const AlreadyReported: Status = Status{code: 208, reason: "Already Reported",}
pub const AlreadyReported: Status = Status{code: 208, reason: "Already Reported",}
Status
with code
208
and reason
Already Reported
.
sourcepub const ImUsed: Status = Status{code: 226, reason: "IM Used",}
pub const ImUsed: Status = Status{code: 226, reason: "IM Used",}
Status
with code
226
and reason
IM Used
.
sourcepub const MultipleChoices: Status = Status{code: 300, reason: "Multiple Choices",}
pub const MultipleChoices: Status = Status{code: 300, reason: "Multiple Choices",}
Status
with code
300
and reason
Multiple Choices
.
sourcepub const MovedPermanently: Status = Status{code: 301, reason: "Moved Permanently",}
pub const MovedPermanently: Status = Status{code: 301, reason: "Moved Permanently",}
Status
with code
301
and reason
Moved Permanently
.
sourcepub const Found: Status = Status{code: 302, reason: "Found",}
pub const Found: Status = Status{code: 302, reason: "Found",}
Status
with code
302
and reason
Found
.
sourcepub const SeeOther: Status = Status{code: 303, reason: "See Other",}
pub const SeeOther: Status = Status{code: 303, reason: "See Other",}
Status
with code
303
and reason
See Other
.
sourcepub const NotModified: Status = Status{code: 304, reason: "Not Modified",}
pub const NotModified: Status = Status{code: 304, reason: "Not Modified",}
Status
with code
304
and reason
Not Modified
.
sourcepub const UseProxy: Status = Status{code: 305, reason: "Use Proxy",}
pub const UseProxy: Status = Status{code: 305, reason: "Use Proxy",}
Status
with code
305
and reason
Use Proxy
.
sourcepub const TemporaryRedirect: Status = Status{code: 307, reason: "Temporary Redirect",}
pub const TemporaryRedirect: Status = Status{code: 307, reason: "Temporary Redirect",}
Status
with code
307
and reason
Temporary Redirect
.
sourcepub const PermanentRedirect: Status = Status{code: 308, reason: "Permanent Redirect",}
pub const PermanentRedirect: Status = Status{code: 308, reason: "Permanent Redirect",}
Status
with code
308
and reason
Permanent Redirect
.
sourcepub const BadRequest: Status = Status{code: 400, reason: "Bad Request",}
pub const BadRequest: Status = Status{code: 400, reason: "Bad Request",}
Status
with code
400
and reason
Bad Request
.
Status
with code
401
and reason
Unauthorized
.
sourcepub const PaymentRequired: Status = Status{code: 402, reason: "Payment Required",}
pub const PaymentRequired: Status = Status{code: 402, reason: "Payment Required",}
Status
with code
402
and reason
Payment Required
.
sourcepub const Forbidden: Status = Status{code: 403, reason: "Forbidden",}
pub const Forbidden: Status = Status{code: 403, reason: "Forbidden",}
Status
with code
403
and reason
Forbidden
.
sourcepub const NotFound: Status = Status{code: 404, reason: "Not Found",}
pub const NotFound: Status = Status{code: 404, reason: "Not Found",}
Status
with code
404
and reason
Not Found
.
sourcepub const MethodNotAllowed: Status = Status{code: 405, reason: "Method Not Allowed",}
pub const MethodNotAllowed: Status = Status{code: 405, reason: "Method Not Allowed",}
Status
with code
405
and reason
Method Not Allowed
.
sourcepub const NotAcceptable: Status = Status{code: 406, reason: "Not Acceptable",}
pub const NotAcceptable: Status = Status{code: 406, reason: "Not Acceptable",}
Status
with code
406
and reason
Not Acceptable
.
sourcepub const ProxyAuthenticationRequired: Status = Status{code: 407, reason: "Proxy Authentication Required",}
pub const ProxyAuthenticationRequired: Status = Status{code: 407, reason: "Proxy Authentication Required",}
Status
with code
407
and reason
Proxy Authentication Required
.
sourcepub const RequestTimeout: Status = Status{code: 408, reason: "Request Timeout",}
pub const RequestTimeout: Status = Status{code: 408, reason: "Request Timeout",}
Status
with code
408
and reason
Request Timeout
.
sourcepub const Conflict: Status = Status{code: 409, reason: "Conflict",}
pub const Conflict: Status = Status{code: 409, reason: "Conflict",}
Status
with code
409
and reason
Conflict
.
sourcepub const Gone: Status = Status{code: 410, reason: "Gone",}
pub const Gone: Status = Status{code: 410, reason: "Gone",}
Status
with code
410
and reason
Gone
.
sourcepub const LengthRequired: Status = Status{code: 411, reason: "Length Required",}
pub const LengthRequired: Status = Status{code: 411, reason: "Length Required",}
Status
with code
411
and reason
Length Required
.
sourcepub const PreconditionFailed: Status = Status{code: 412, reason: "Precondition Failed",}
pub const PreconditionFailed: Status = Status{code: 412, reason: "Precondition Failed",}
Status
with code
412
and reason
Precondition Failed
.
sourcepub const PayloadTooLarge: Status = Status{code: 413, reason: "Payload Too Large",}
pub const PayloadTooLarge: Status = Status{code: 413, reason: "Payload Too Large",}
Status
with code
413
and reason
Payload Too Large
.
sourcepub const UriTooLong: Status = Status{code: 414, reason: "URI Too Long",}
pub const UriTooLong: Status = Status{code: 414, reason: "URI Too Long",}
Status
with code
414
and reason
URI Too Long
.
sourcepub const UnsupportedMediaType: Status = Status{code: 415, reason: "Unsupported Media Type",}
pub const UnsupportedMediaType: Status = Status{code: 415, reason: "Unsupported Media Type",}
Status
with code
415
and reason
Unsupported Media Type
.
sourcepub const RangeNotSatisfiable: Status = Status{code: 416, reason: "Range Not Satisfiable",}
pub const RangeNotSatisfiable: Status = Status{code: 416, reason: "Range Not Satisfiable",}
Status
with code
416
and reason
Range Not Satisfiable
.
sourcepub const ExpectationFailed: Status = Status{code: 417, reason: "Expectation Failed",}
pub const ExpectationFailed: Status = Status{code: 417, reason: "Expectation Failed",}
Status
with code
417
and reason
Expectation Failed
.
sourcepub const ImATeapot: Status = Status{code: 418, reason: "I\'m a teapot",}
pub const ImATeapot: Status = Status{code: 418, reason: "I\'m a teapot",}
Status
with code
418
and reason
I’m a teapot
.
sourcepub const MisdirectedRequest: Status = Status{code: 421, reason: "Misdirected Request",}
pub const MisdirectedRequest: Status = Status{code: 421, reason: "Misdirected Request",}
Status
with code
421
and reason
Misdirected Request
.
sourcepub const UnprocessableEntity: Status = Status{code: 422, reason: "Unprocessable Entity",}
pub const UnprocessableEntity: Status = Status{code: 422, reason: "Unprocessable Entity",}
Status
with code
422
and reason
Unprocessable Entity
.
sourcepub const Locked: Status = Status{code: 423, reason: "Locked",}
pub const Locked: Status = Status{code: 423, reason: "Locked",}
Status
with code
423
and reason
Locked
.
sourcepub const FailedDependency: Status = Status{code: 424, reason: "Failed Dependency",}
pub const FailedDependency: Status = Status{code: 424, reason: "Failed Dependency",}
Status
with code
424
and reason
Failed Dependency
.
sourcepub const UpgradeRequired: Status = Status{code: 426, reason: "Upgrade Required",}
pub const UpgradeRequired: Status = Status{code: 426, reason: "Upgrade Required",}
Status
with code
426
and reason
Upgrade Required
.
sourcepub const PreconditionRequired: Status = Status{code: 428, reason: "Precondition Required",}
pub const PreconditionRequired: Status = Status{code: 428, reason: "Precondition Required",}
Status
with code
428
and reason
Precondition Required
.
sourcepub const TooManyRequests: Status = Status{code: 429, reason: "Too Many Requests",}
pub const TooManyRequests: Status = Status{code: 429, reason: "Too Many Requests",}
Status
with code
429
and reason
Too Many Requests
.
sourcepub const RequestHeaderFieldsTooLarge: Status = Status{code: 431, reason: "Request Header Fields Too Large",}
pub const RequestHeaderFieldsTooLarge: Status = Status{code: 431, reason: "Request Header Fields Too Large",}
Status
with code
431
and reason
Request Header Fields Too Large
.
Status
with code
451
and reason
Unavailable For Legal Reasons
.
sourcepub const InternalServerError: Status = Status{code: 500, reason: "Internal Server Error",}
pub const InternalServerError: Status = Status{code: 500, reason: "Internal Server Error",}
Status
with code
500
and reason
Internal Server Error
.
sourcepub const NotImplemented: Status = Status{code: 501, reason: "Not Implemented",}
pub const NotImplemented: Status = Status{code: 501, reason: "Not Implemented",}
Status
with code
501
and reason
Not Implemented
.
sourcepub const BadGateway: Status = Status{code: 502, reason: "Bad Gateway",}
pub const BadGateway: Status = Status{code: 502, reason: "Bad Gateway",}
Status
with code
502
and reason
Bad Gateway
.
Status
with code
503
and reason
Service Unavailable
.
sourcepub const GatewayTimeout: Status = Status{code: 504, reason: "Gateway Timeout",}
pub const GatewayTimeout: Status = Status{code: 504, reason: "Gateway Timeout",}
Status
with code
504
and reason
Gateway Timeout
.
sourcepub const HttpVersionNotSupported: Status = Status{code: 505, reason: "HTTP Version Not Supported",}
pub const HttpVersionNotSupported: Status = Status{code: 505, reason: "HTTP Version Not Supported",}
Status
with code
505
and reason
HTTP Version Not Supported
.
sourcepub const VariantAlsoNegotiates: Status = Status{code: 506, reason: "Variant Also Negotiates",}
pub const VariantAlsoNegotiates: Status = Status{code: 506, reason: "Variant Also Negotiates",}
Status
with code
506
and reason
Variant Also Negotiates
.
sourcepub const InsufficientStorage: Status = Status{code: 507, reason: "Insufficient Storage",}
pub const InsufficientStorage: Status = Status{code: 507, reason: "Insufficient Storage",}
Status
with code
507
and reason
Insufficient Storage
.
sourcepub const LoopDetected: Status = Status{code: 508, reason: "Loop Detected",}
pub const LoopDetected: Status = Status{code: 508, reason: "Loop Detected",}
Status
with code
508
and reason
Loop Detected
.
sourcepub const NotExtended: Status = Status{code: 510, reason: "Not Extended",}
pub const NotExtended: Status = Status{code: 510, reason: "Not Extended",}
Status
with code
510
and reason
Not Extended
.
sourcepub const NetworkAuthenticationRequired: Status = Status{code: 511, reason: "Network Authentication Required",}
pub const NetworkAuthenticationRequired: Status = Status{code: 511, reason: "Network Authentication Required",}
Status
with code
511
and reason
Network Authentication Required
.
sourcepub fn from_code(code: u16) -> Option<Status>
pub fn from_code(code: u16) -> Option<Status>
Returns a Status given a standard status code code
. If code
is
not a known status code, None
is returned.
Example
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);
assert!(not_found.is_none());
Trait Implementations
impl Copy for Status
impl Eq for Status
impl StructuralEq for Status
impl StructuralPartialEq for Status
Auto Trait Implementations
impl RefUnwindSafe for Status
impl Send for Status
impl Sync for Status
impl Unpin for Status
impl UnwindSafe for Status
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to key
and return true
if they are equal.
sourceimpl<T> IntoCollection<T> for T
impl<T> IntoCollection<T> for T
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more