use hyper::http::StatusCode as HyperStatusCode;
#[derive(Debug)]
pub enum StatusCode {
Ok,
Created,
NoContent,
NotModified,
BadRequest,
Unauthorized,
Forbidden,
NotFound,
MethodNotAllowed,
TooManyRequests,
InternalServerError,
Unknown(u16),
}
impl From<HyperStatusCode> for StatusCode {
fn from(hyper_status_code: HyperStatusCode) -> Self {
match hyper_status_code {
HyperStatusCode::OK => StatusCode::Ok,
HyperStatusCode::CREATED => StatusCode::Created,
HyperStatusCode::NO_CONTENT => StatusCode::NoContent,
HyperStatusCode::NOT_MODIFIED => StatusCode::NotModified,
HyperStatusCode::BAD_REQUEST => StatusCode::BadRequest,
HyperStatusCode::UNAUTHORIZED => StatusCode::Unauthorized,
HyperStatusCode::FORBIDDEN => StatusCode::Forbidden,
HyperStatusCode::NOT_FOUND => StatusCode::NotFound,
HyperStatusCode::METHOD_NOT_ALLOWED => StatusCode::MethodNotAllowed,
HyperStatusCode::TOO_MANY_REQUESTS => StatusCode::TooManyRequests,
HyperStatusCode::INTERNAL_SERVER_ERROR => StatusCode::InternalServerError,
_ => StatusCode::Unknown(hyper_status_code.as_u16()),
}
}
}