xitca_web/error/
header.rs

1use core::fmt;
2
3use std::error;
4
5use crate::http::HeaderName;
6
7use super::{error_from_service, forward_blank_bad_request};
8
9/// error type when named header is not found from request.
10#[derive(Debug)]
11pub struct HeaderNotFound(pub HeaderName);
12
13impl fmt::Display for HeaderNotFound {
14    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
15        write!(f, "HeaderName: {} is not found", self.0.as_str())
16    }
17}
18
19impl error::Error for HeaderNotFound {}
20
21error_from_service!(HeaderNotFound);
22forward_blank_bad_request!(HeaderNotFound);
23
24/// error type when named header is not associated with valid header value.
25#[derive(Debug)]
26pub struct InvalidHeaderValue(pub HeaderName);
27
28impl fmt::Display for InvalidHeaderValue {
29    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
30        write!(f, "HeaderName: {} associated with invalid HeaderValue", self.0.as_str())
31    }
32}
33
34impl error::Error for InvalidHeaderValue {}
35
36error_from_service!(InvalidHeaderValue);
37forward_blank_bad_request!(InvalidHeaderValue);