kutil_http/body/
response.rs1use super::super::errors::*;
2
3use {
4 bytes::*,
5 http::{header::*, response::*, *},
6 std::result::Result,
7};
8
9pub fn response_from_bytes<BodyT>(
15 body: Bytes,
16 content_type: &str,
17 headers: HeaderMap,
18) -> Result<Response<BodyT>, StatusCode>
19where
20 BodyT: From<Bytes>,
21{
22 let mut builder = Response::builder();
23
24 for (name, value) in headers.iter() {
25 match *name {
26 CONTENT_TYPE | CONTENT_LENGTH => {}
27 _ => builder = builder.header(name, value),
28 };
29 }
30
31 builder
32 .header(CONTENT_TYPE, content_type)
33 .header(CONTENT_LENGTH, body.len())
34 .body(body.into())
35 .map_err_internal_server("build response")
36}