perf(http): use custom type for ParseEof error instead of string error
This commit is contained in:
		| @@ -72,7 +72,8 @@ impl<T: AsyncRead + AsyncWrite> Buffered<T> { | ||||
|             match self.read_from_io() { | ||||
|                 Ok(0) => { | ||||
|                     trace!("parse eof"); | ||||
|                     return Err(io::Error::new(io::ErrorKind::UnexpectedEof, "parse eof").into()); | ||||
|                     //TODO: With Rust 1.14, this can be Error::from(ErrorKind) | ||||
|                     return Err(io::Error::new(io::ErrorKind::UnexpectedEof, ParseEof).into()); | ||||
|                 } | ||||
|                 Ok(_) => {}, | ||||
|                 Err(e) => match e.kind() { | ||||
| @@ -316,6 +317,21 @@ impl WriteBuf { | ||||
|     } | ||||
| } | ||||
|  | ||||
| #[derive(Debug)] | ||||
| struct ParseEof; | ||||
|  | ||||
| impl fmt::Display for ParseEof { | ||||
|     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { | ||||
|         f.write_str("parse eof") | ||||
|     } | ||||
| } | ||||
|  | ||||
| impl ::std::error::Error for ParseEof { | ||||
|     fn description(&self) -> &str { | ||||
|         "parse eof" | ||||
|     } | ||||
| } | ||||
|  | ||||
| #[cfg(test)] | ||||
| use std::io::Read; | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user