use super::error::Error as ResponseError;
use lombok_macros::*;
use std::collections::HashMap;
pub type ResponseData = Vec<u8>;
pub type ResponseBody = Vec<u8>;
pub type ResponseVersion = String;
pub type ResponseStatusCode = usize;
pub type ResponseReasonPhrase = String;
pub type ResponseResult = Result<(), ResponseError>;
pub type CloseStreamResult = Result<(), ResponseError>;
#[derive(Debug, Clone, Lombok, PartialEq, Eq)]
pub struct Response {
#[set(skip)]
pub(super) version: ResponseVersion,
pub(super) status_code: ResponseStatusCode,
#[set(skip)]
pub(super) reason_phrase: ResponseReasonPhrase,
pub(super) headers: HashMap<String, String>,
#[set(skip)]
pub(super) body: ResponseBody,
#[set(super)]
pub(super) response: ResponseData,
}