pub mod answers;
pub mod editor;
pub mod parser;
use crate::pool::Checkout;
type GenericHttpStream = kawa::Kawa<Checkout>;
impl kawa::AsBuffer for Checkout {
fn as_buffer(&self) -> &[u8] {
self.inner.extra()
}
fn as_mut_buffer(&mut self) -> &mut [u8] {
self.inner.extra_mut()
}
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum DefaultAnswer {
Answer301 {
location: String,
},
Answer302 {
location: String,
},
Answer308 {
location: String,
},
Answer400 {
message: String,
phase: kawa::ParsingPhaseMarker,
successfully_parsed: String,
partially_parsed: String,
invalid: String,
},
Answer401 {
www_authenticate: Option<String>,
},
Answer404 {},
Answer408 {
duration: String,
},
Answer413 {
message: String,
phase: kawa::ParsingPhaseMarker,
capacity: usize,
},
Answer421 {},
Answer429 {
retry_after: Option<u32>,
},
Answer502 {
message: String,
phase: kawa::ParsingPhaseMarker,
successfully_parsed: String,
partially_parsed: String,
invalid: String,
},
Answer503 {
message: String,
},
Answer504 {
duration: String,
},
Answer507 {
phase: kawa::ParsingPhaseMarker,
message: String,
capacity: usize,
},
}
impl From<&DefaultAnswer> for u16 {
fn from(answer: &DefaultAnswer) -> u16 {
match answer {
DefaultAnswer::Answer301 { .. } => 301,
DefaultAnswer::Answer302 { .. } => 302,
DefaultAnswer::Answer308 { .. } => 308,
DefaultAnswer::Answer400 { .. } => 400,
DefaultAnswer::Answer401 { .. } => 401,
DefaultAnswer::Answer404 { .. } => 404,
DefaultAnswer::Answer408 { .. } => 408,
DefaultAnswer::Answer413 { .. } => 413,
DefaultAnswer::Answer421 { .. } => 421,
DefaultAnswer::Answer429 { .. } => 429,
DefaultAnswer::Answer502 { .. } => 502,
DefaultAnswer::Answer503 { .. } => 503,
DefaultAnswer::Answer504 { .. } => 504,
DefaultAnswer::Answer507 { .. } => 507,
}
}
}