xitca_http/h1/proto/
error.rs1use httparse::Error as HttparseError;
2
3#[derive(Debug)]
4pub enum ProtoError {
5 HeaderName,
6 HeaderValue,
7 HeaderTooLarge,
8 Method,
9 Uri,
10 NewLine,
11 Status,
12 Token,
13 Version,
14}
15
16impl From<HttparseError> for ProtoError {
17 fn from(e: HttparseError) -> Self {
18 match e {
19 HttparseError::HeaderName => Self::HeaderName,
20 HttparseError::HeaderValue => Self::HeaderValue,
21 HttparseError::TooManyHeaders => Self::HeaderTooLarge,
23 HttparseError::NewLine => Self::NewLine,
24 HttparseError::Status => Self::Status,
25 HttparseError::Token => Self::Token,
26 HttparseError::Version => Self::Version,
27 }
28 }
29}
30
31impl From<http::method::InvalidMethod> for ProtoError {
32 fn from(_: http::method::InvalidMethod) -> Self {
33 Self::Method
34 }
35}
36
37impl From<http::uri::InvalidUri> for ProtoError {
38 fn from(_: http::uri::InvalidUri) -> Self {
39 Self::Uri
40 }
41}
42
43impl From<http::status::InvalidStatusCode> for ProtoError {
44 fn from(_: http::status::InvalidStatusCode) -> Self {
45 Self::Status
46 }
47}