use hyper::{HeaderMap, StatusCode};
use std::collections::HashMap;
use crate::{response_handler::ResponseHandler, types::BoxBody};
pub fn status_code_response(
status_code: &StatusCode,
headers: Option<&HashMap<String, Option<String>>>,
request_headers: &HeaderMap,
) -> Result<hyper::Response<BoxBody>, hyper::http::Error> {
let mut response_handler = ResponseHandler::default().with_status(status_code);
if let Some(headers) = headers {
response_handler = response_handler.with_headers(headers.to_owned());
}
response_handler.into_response(request_headers)
}
pub fn status_code_response_with_message(
status_code: &StatusCode,
message: &str,
headers: Option<&HashMap<String, Option<String>>>,
request_headers: &HeaderMap,
) -> Result<hyper::Response<BoxBody>, hyper::http::Error> {
let mut response_handler = ResponseHandler::default()
.with_status(status_code)
.with_text(message, None);
if let Some(headers) = headers {
response_handler = response_handler.with_headers(headers.to_owned());
}
response_handler.into_response(request_headers)
}