1use http;
2use httparse;
3use std;
4
5#[derive(Debug)]
7pub enum Error {
8 Io(std::io::Error),
10 Http(http::Error),
12 HttpParse(httparse::Error),
14 InvalidUri(http::uri::InvalidUri),
16 Timeout,
18 #[doc(hidden)]
19 RequestIncomplete,
20 RequestTooLarge,
22 ConnectionClosed,
24}
25
26impl From<std::io::Error> for Error {
27 fn from(err: std::io::Error) -> Error {
28 Error::Io(err)
29 }
30}
31
32impl From<http::Error> for Error {
33 fn from(err: http::Error) -> Error {
34 Error::Http(err)
35 }
36}
37
38impl From<httparse::Error> for Error {
39 fn from(err: httparse::Error) -> Error {
40 Error::HttpParse(err)
41 }
42}
43
44impl From<http::uri::InvalidUri> for Error {
45 fn from(err: http::uri::InvalidUri) -> Error {
46 Error::InvalidUri(err)
47 }
48}