pub fn internal_error<T: Into<String>>(msg: T) -> hyper::Response<hyper::Body> {
from_template(hyper::StatusCode::INTERNAL_SERVER_ERROR, format!("Internal Server Error: {}", msg.into()))
}
pub fn host_not_allowed() -> hyper::Response<hyper::Body> {
from_template(hyper::StatusCode::FORBIDDEN, "Provided Host header is not whitelisted.\n".to_owned())
}
pub fn method_not_allowed() -> hyper::Response<hyper::Body> {
from_template(
hyper::StatusCode::METHOD_NOT_ALLOWED,
"Used HTTP Method is not allowed. POST or OPTIONS is required\n".to_owned(),
)
}
pub fn invalid_allow_origin() -> hyper::Response<hyper::Body> {
from_template(
hyper::StatusCode::FORBIDDEN,
"Origin of the request is not whitelisted. CORS headers would not be sent and any side-effects were cancelled as well.\n".to_owned(),
)
}
pub fn invalid_allow_headers() -> hyper::Response<hyper::Body> {
from_template(
hyper::StatusCode::FORBIDDEN,
"Requested headers are not allowed for CORS. CORS headers would not be sent and any side-effects were cancelled as well.\n".to_owned(),
)
}
pub fn too_large<S: Into<String>>(msg: S) -> hyper::Response<hyper::Body> {
from_template(hyper::StatusCode::PAYLOAD_TOO_LARGE, msg.into())
}
fn from_template(status: hyper::StatusCode, body: String) -> hyper::Response<hyper::Body> {
hyper::Response::builder()
.status(status)
.header("content-type", hyper::header::HeaderValue::from_static("text/plain; charset=utf-8"))
.body(hyper::Body::from(body))
.expect("Unable to parse response body for type conversion")
}
pub fn ok_response(body: String) -> hyper::Response<hyper::Body> {
hyper::Response::builder()
.status(hyper::StatusCode::OK)
.header("content-type", hyper::header::HeaderValue::from_static("application/json; charset=utf-8"))
.body(hyper::Body::from(body))
.expect("Unable to parse response body for type conversion")
}