1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
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")
}