chore(stability): remove into_cow feature gate
This commit is contained in:
		
							
								
								
									
										24
									
								
								src/http.rs
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								src/http.rs
									
									
									
									
									
								
							| @@ -1,13 +1,15 @@ | ||||
| //! Pieces pertaining to the HTTP message protocol. | ||||
| use std::borrow::{Cow, IntoCow, ToOwned}; | ||||
| use std::borrow::{Cow, ToOwned}; | ||||
| use std::cmp::min; | ||||
| use std::io::{self, Read, Write, BufRead}; | ||||
| use std::num::FromPrimitive; | ||||
|  | ||||
| use httparse; | ||||
|  | ||||
| use buffer::BufReader; | ||||
| use header::Headers; | ||||
| use method::Method; | ||||
| use status::StatusCode; | ||||
| use uri::RequestUri; | ||||
| use version::HttpVersion::{self, Http10, Http11}; | ||||
| use HttpError:: HttpTooLargeError; | ||||
| @@ -375,11 +377,17 @@ impl<'a> TryParse for httparse::Response<'a> { | ||||
|         let mut res = httparse::Response::new(headers); | ||||
|         Ok(match try!(res.parse(buf)) { | ||||
|             httparse::Status::Complete(len) => { | ||||
|                 let code = res.code.unwrap(); | ||||
|                 let reason = match <StatusCode as FromPrimitive>::from_u16(code) { | ||||
|                     Some(status) => match status.canonical_reason() { | ||||
|                         Some(reason) => Cow::Borrowed(reason), | ||||
|                         None => Cow::Owned(res.reason.unwrap().to_owned()) | ||||
|                     }, | ||||
|                     None => Cow::Owned(res.reason.unwrap().to_owned()) | ||||
|                 }; | ||||
|                 httparse::Status::Complete((Incoming { | ||||
|                     version: if res.version.unwrap() == 1 { Http11 } else { Http10 }, | ||||
|                     subject: RawStatus( | ||||
|                         res.code.unwrap(), res.reason.unwrap().to_owned().into_cow() | ||||
|                     ), | ||||
|                     subject: RawStatus(code, reason), | ||||
|                     headers: try!(Headers::from_raw(res.headers)) | ||||
|                 }, len)) | ||||
|             }, | ||||
| @@ -405,15 +413,9 @@ pub const STAR: u8 = b'*'; | ||||
| pub const LINE_ENDING: &'static str = "\r\n"; | ||||
|  | ||||
| /// The raw status code and reason-phrase. | ||||
| #[derive(PartialEq, Debug)] | ||||
| #[derive(Clone, PartialEq, Debug)] | ||||
| pub struct RawStatus(pub u16, pub Cow<'static, str>); | ||||
|  | ||||
| impl Clone for RawStatus { | ||||
|     fn clone(&self) -> RawStatus { | ||||
|         RawStatus(self.0, self.1.clone().into_cow()) | ||||
|     } | ||||
| } | ||||
|  | ||||
| #[cfg(test)] | ||||
| mod tests { | ||||
|     use std::io::{self, Write}; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user