use crate::*;
pub type ResponseBody = Vec<u8>;
pub type ResponseBodyString = String;
pub type ResponseHeadersKey = String;
pub type ResponseHeadersValue = String;
pub type ResponseHeaders = HashMapXxHash3_64<ResponseHeadersKey, ResponseHeadersValue>;
pub type ResponseVersion = String;
pub type ResponseStatusCode = usize;
pub type ResponseReasonPhrase = String;
pub type ResponseResult = Result<(), ResponseError>;
pub type ResponseData = Vec<u8>;
pub type ResponseDataString = String;
pub type RwLockReadGuardResponse<'a> = RwLockReadGuard<'a, Response>;
pub type RwLockWriteGuardResponse<'a> = RwLockWriteGuard<'a, Response>;
pub type OptionResponseHeadersValue = Option<ResponseHeadersValue>;
#[derive(Debug, Clone, Lombok, DisplayDebug)]
pub struct Response {
#[set(skip)]
pub(super) version: ResponseVersion,
pub(super) status_code: ResponseStatusCode,
#[set(skip)]
pub(super) reason_phrase: ResponseReasonPhrase,
pub(super) headers: ResponseHeaders,
#[set(skip)]
pub(super) body: ResponseBody,
}