pub mod body_buffer;
pub mod bridge;
pub mod client;
pub mod compression;
pub mod conditional_filter;
pub mod custom;
pub mod date;
pub mod error_resp;
pub mod server;
pub mod subrequest;
pub mod v1;
pub mod v2;
pub use server::Session as ServerSession;
pub const SERVER_NAME: &[u8; 7] = b"Pingora";
#[derive(Debug)]
pub enum HttpTask {
Header(Box<pingora_http::ResponseHeader>, bool),
Body(Option<bytes::Bytes>, bool),
UpgradedBody(Option<bytes::Bytes>, bool),
Trailer(Option<Box<http::HeaderMap>>),
Done,
Failed(pingora_error::BError),
}
impl HttpTask {
pub fn is_end(&self) -> bool {
match self {
HttpTask::Header(_, end) => *end,
HttpTask::Body(_, end) => *end,
HttpTask::UpgradedBody(_, end) => *end,
HttpTask::Trailer(_) => true,
HttpTask::Done => true,
HttpTask::Failed(_) => true,
}
}
pub fn type_str(&self) -> &'static str {
match self {
HttpTask::Header(..) => "Header",
HttpTask::Body(..) => "Body",
HttpTask::UpgradedBody(..) => "UpgradedBody",
HttpTask::Trailer(_) => "Trailer",
HttpTask::Done => "Done",
HttpTask::Failed(_) => "Failed",
}
}
}