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
pub fn from_lambda(
lambda_response: http::Response<aws_lambda_events::encodings::Body>,
) -> hyper::Response<hyper::Body> {
let mut builder = hyper::Response::builder().status(lambda_response.status());
let headers = lambda_response.headers().clone();
for (key, value) in headers {
if let Some(key) = key {
builder = builder.header(key, value);
}
}
let body = match lambda_response.body().clone() {
aws_lambda_events::encodings::Body::Empty => hyper::Body::empty(),
aws_lambda_events::encodings::Body::Text(txt) => hyper::Body::from(txt.clone()),
aws_lambda_events::encodings::Body::Binary(txt) => hyper::Body::from(txt.clone()),
};
builder.body(body).expect("Could not build response")
}