zenith-http1 0.1.0

Zenith HTTP/1.1 协议解析器(RFC 7230):零堆分配热路径、流式解析、CRLF 防注入
Documentation
//! Zenith HTTP/1.1 - HTTP/1.1 协议实现
//!
//! 本 crate 提供 HTTP/1.1 协议的解析与处理能力,包括:
//! - HTTP/1.1 请求解析(严格 RFC 7230/7231)
//! - 请求走私防护(CL.TE / TE.CL / TE.TE)
//! - 分块传输编码(Chunked)
//! - Keep-Alive 连接管理
//! - 头部规范(大小写、编码、重复头部)
//!
//! 设计原则:
//! - 热路径零堆分配(使用预分配缓冲区)
//! - 常量时间头部查找(预哈希表)
//! - 规范化所有输入为统一形态,消除协议差分
//!
//! # 安全保证
//! - 严格禁止 \r\n 在头部值内(请求走私基础检测)
//! - 严格 Content-Length / Transfer-Encoding 二选一
//! - 拒绝 \x00 \x0b \x0c 等非法控制字符
//! - 强制 Host 头存在
//! - 头部名称大小写规范化(lowercase + 字符白名单)

#![deny(unsafe_code)]
#![deny(missing_debug_implementations)]
#![warn(missing_docs)]

pub mod chunked;
pub mod client;
pub mod connection;
pub mod parser;
pub mod response;
pub mod smuggling;
pub mod types;

pub use chunked::{ChunkedDecoder, ChunkedState};
pub use client::{ClientError, ClientResponse, ResponseParser, encode_request, parse_response, parse_response_eof};
pub use connection::{Http1Connection, Http1ConnectionState};
pub use parser::{Http1Parser, ParserState};
pub use response::{Http1ResponseEncoder, ResponseSerializeError};
pub use smuggling::{SmugglingDetector, SmugglingKind};
pub use types::{Http1Config, Http1Error, HttpRequest, HttpRequestLine};