2
2
use std:: borrow:: Cow :: { Borrowed , Owned } ;
3
3
use std:: borrow:: IntoCow ;
4
4
use std:: cmp:: min;
5
- use std:: io :: { self , Reader , IoResult , BufWriter } ;
5
+ use std:: old_io :: { self , Reader , IoResult , BufWriter } ;
6
6
use std:: num:: from_u16;
7
7
use std:: str:: { self , FromStr } ;
8
8
use std:: string:: CowString ;
@@ -72,7 +72,7 @@ impl<R: Reader> Reader for HttpReader<R> {
72
72
SizedReader ( ref mut body, ref mut remaining) => {
73
73
debug ! ( "Sized read, remaining={:?}" , remaining) ;
74
74
if * remaining == 0 {
75
- Err ( io :: standard_error ( io :: EndOfFile ) )
75
+ Err ( old_io :: standard_error ( old_io :: EndOfFile ) )
76
76
} else {
77
77
let num = try!( body. read ( buf) ) as u64 ;
78
78
if num > * remaining {
@@ -98,7 +98,7 @@ impl<R: Reader> Reader for HttpReader<R> {
98
98
// if the 0 digit was missing from the stream, it would
99
99
// be an InvalidInput error instead.
100
100
debug ! ( "end of chunked" ) ;
101
- return Err ( io :: standard_error ( io :: EndOfFile ) ) ;
101
+ return Err ( old_io :: standard_error ( old_io :: EndOfFile ) ) ;
102
102
}
103
103
104
104
let to_read = min ( rem as usize , buf. len ( ) ) ;
@@ -116,7 +116,7 @@ impl<R: Reader> Reader for HttpReader<R> {
116
116
EofReader ( ref mut body) => {
117
117
body. read ( buf)
118
118
} ,
119
- EmptyReader ( _) => Err ( io :: standard_error ( io :: EndOfFile ) )
119
+ EmptyReader ( _) => Err ( old_io :: standard_error ( old_io :: EndOfFile ) )
120
120
}
121
121
}
122
122
}
@@ -125,7 +125,7 @@ fn eat<R: Reader>(rdr: &mut R, bytes: &[u8]) -> IoResult<()> {
125
125
for & b in bytes. iter ( ) {
126
126
match try!( rdr. read_byte ( ) ) {
127
127
byte if byte == b => ( ) ,
128
- _ => return Err ( io :: standard_error ( io :: InvalidInput ) )
128
+ _ => return Err ( old_io :: standard_error ( old_io :: InvalidInput ) )
129
129
}
130
130
}
131
131
Ok ( ( ) )
@@ -154,7 +154,7 @@ fn read_chunk_size<R: Reader>(rdr: &mut R) -> IoResult<u64> {
154
154
CR => {
155
155
match try!( rdr. read_byte ( ) ) {
156
156
LF => break ,
157
- _ => return Err ( io :: standard_error ( io :: InvalidInput ) )
157
+ _ => return Err ( old_io :: standard_error ( old_io :: InvalidInput ) )
158
158
}
159
159
} ,
160
160
// If we weren't in the extension yet, the ";" signals its start
@@ -178,7 +178,7 @@ fn read_chunk_size<R: Reader>(rdr: &mut R) -> IoResult<u64> {
178
178
// Finally, if we aren't in the extension and we're reading any
179
179
// other octet, the chunk size line is invalid!
180
180
_ => {
181
- return Err ( io :: standard_error ( io :: InvalidInput ) ) ;
181
+ return Err ( old_io :: standard_error ( old_io :: InvalidInput ) ) ;
182
182
}
183
183
}
184
184
}
@@ -239,47 +239,47 @@ impl<W: Writer> HttpWriter<W> {
239
239
240
240
/// Ends the HttpWriter, and returns the underlying Writer.
241
241
///
242
- /// A final `write ()` is called with an empty message, and then flushed.
242
+ /// A final `write_all ()` is called with an empty message, and then flushed.
243
243
/// The ChunkedWriter variant will use this to write the 0-sized last-chunk.
244
244
#[ inline]
245
245
pub fn end ( mut self ) -> IoResult < W > {
246
- try!( self . write ( & [ ] ) ) ;
246
+ try!( self . write_all ( & [ ] ) ) ;
247
247
try!( self . flush ( ) ) ;
248
248
Ok ( self . unwrap ( ) )
249
249
}
250
250
}
251
251
252
252
impl < W : Writer > Writer for HttpWriter < W > {
253
253
#[ inline]
254
- fn write ( & mut self , msg : & [ u8 ] ) -> IoResult < ( ) > {
254
+ fn write_all ( & mut self , msg : & [ u8 ] ) -> IoResult < ( ) > {
255
255
match * self {
256
- ThroughWriter ( ref mut w) => w. write ( msg) ,
256
+ ThroughWriter ( ref mut w) => w. write_all ( msg) ,
257
257
ChunkedWriter ( ref mut w) => {
258
258
let chunk_size = msg. len ( ) ;
259
259
debug ! ( "chunked write, size = {:?}" , chunk_size) ;
260
260
try!( write ! ( w, "{:X}{}" , chunk_size, LINE_ENDING ) ) ;
261
- try!( w. write ( msg) ) ;
261
+ try!( w. write_all ( msg) ) ;
262
262
w. write_str ( LINE_ENDING )
263
263
} ,
264
264
SizedWriter ( ref mut w, ref mut remaining) => {
265
265
let len = msg. len ( ) as u64 ;
266
266
if len > * remaining {
267
267
let len = * remaining;
268
268
* remaining = 0 ;
269
- try!( w. write ( & msg[ ..len as usize ] ) ) ;
270
- Err ( io :: standard_error ( io :: ShortWrite ( len as usize ) ) )
269
+ try!( w. write_all ( & msg[ ..len as usize ] ) ) ;
270
+ Err ( old_io :: standard_error ( old_io :: ShortWrite ( len as usize ) ) )
271
271
} else {
272
272
* remaining -= len;
273
- w. write ( msg)
273
+ w. write_all ( msg)
274
274
}
275
275
} ,
276
276
EmptyWriter ( ..) => {
277
277
let bytes = msg. len ( ) ;
278
278
if bytes == 0 {
279
279
Ok ( ( ) )
280
280
} else {
281
- Err ( io :: IoError {
282
- kind : io :: ShortWrite ( bytes) ,
281
+ Err ( old_io :: IoError {
282
+ kind : old_io :: ShortWrite ( bytes) ,
283
283
desc : "EmptyWriter cannot write any bytes" ,
284
284
detail : Some ( "Cannot include a body with this kind of message" . to_string ( ) )
285
285
} )
@@ -347,7 +347,7 @@ pub fn is_token(b: u8) -> bool {
347
347
///
348
348
/// The remaining contents of `buf` are left untouched.
349
349
fn read_token_until_space < R : Reader > ( stream : & mut R , buf : & mut [ u8 ] ) -> HttpResult < bool > {
350
- use std:: io :: BufWriter ;
350
+ use std:: old_io :: BufWriter ;
351
351
let mut bufwrt = BufWriter :: new ( buf) ;
352
352
353
353
loop {
@@ -697,7 +697,7 @@ fn expect(r: IoResult<u8>, expected: u8) -> HttpResult<()> {
697
697
698
698
#[ cfg( test) ]
699
699
mod tests {
700
- use std:: io :: { self , MemReader , MemWriter , IoResult } ;
700
+ use std:: old_io :: { self , MemReader , MemWriter , IoResult } ;
701
701
use std:: borrow:: Cow :: { Borrowed , Owned } ;
702
702
use test:: Bencher ;
703
703
use uri:: RequestUri ;
@@ -800,8 +800,8 @@ mod tests {
800
800
fn test_write_chunked ( ) {
801
801
use std:: str:: from_utf8;
802
802
let mut w = super :: HttpWriter :: ChunkedWriter ( MemWriter :: new ( ) ) ;
803
- w. write ( b"foo bar" ) . unwrap ( ) ;
804
- w. write ( b"baz quux herp" ) . unwrap ( ) ;
803
+ w. write_all ( b"foo bar" ) . unwrap ( ) ;
804
+ w. write_all ( b"baz quux herp" ) . unwrap ( ) ;
805
805
let buf = w. end ( ) . unwrap ( ) . into_inner ( ) ;
806
806
let s = from_utf8 ( buf. as_slice ( ) ) . unwrap ( ) ;
807
807
assert_eq ! ( s, "7\r \n foo bar\r \n D\r \n baz quux herp\r \n 0\r \n \r \n " ) ;
@@ -811,8 +811,8 @@ mod tests {
811
811
fn test_write_sized ( ) {
812
812
use std:: str:: from_utf8;
813
813
let mut w = super :: HttpWriter :: SizedWriter ( MemWriter :: new ( ) , 8 ) ;
814
- w. write ( b"foo bar" ) . unwrap ( ) ;
815
- assert_eq ! ( w. write ( b"baz" ) , Err ( io :: standard_error( io :: ShortWrite ( 1 ) ) ) ) ;
814
+ w. write_all ( b"foo bar" ) . unwrap ( ) ;
815
+ assert_eq ! ( w. write_all ( b"baz" ) , Err ( old_io :: standard_error( old_io :: ShortWrite ( 1 ) ) ) ) ;
816
816
817
817
let buf = w. end ( ) . unwrap ( ) . into_inner ( ) ;
818
818
let s = from_utf8 ( buf. as_slice ( ) ) . unwrap ( ) ;
@@ -834,13 +834,13 @@ mod tests {
834
834
read ( "Ff\r \n " , Ok ( 255 ) ) ;
835
835
read ( "Ff \r \n " , Ok ( 255 ) ) ;
836
836
// Missing LF or CRLF
837
- read ( "F\r F" , Err ( io :: standard_error ( io :: InvalidInput ) ) ) ;
838
- read ( "F" , Err ( io :: standard_error ( io :: EndOfFile ) ) ) ;
837
+ read ( "F\r F" , Err ( old_io :: standard_error ( old_io :: InvalidInput ) ) ) ;
838
+ read ( "F" , Err ( old_io :: standard_error ( old_io :: EndOfFile ) ) ) ;
839
839
// Invalid hex digit
840
- read ( "X\r \n " , Err ( io :: standard_error ( io :: InvalidInput ) ) ) ;
841
- read ( "1X\r \n " , Err ( io :: standard_error ( io :: InvalidInput ) ) ) ;
842
- read ( "-\r \n " , Err ( io :: standard_error ( io :: InvalidInput ) ) ) ;
843
- read ( "-1\r \n " , Err ( io :: standard_error ( io :: InvalidInput ) ) ) ;
840
+ read ( "X\r \n " , Err ( old_io :: standard_error ( old_io :: InvalidInput ) ) ) ;
841
+ read ( "1X\r \n " , Err ( old_io :: standard_error ( old_io :: InvalidInput ) ) ) ;
842
+ read ( "-\r \n " , Err ( old_io :: standard_error ( old_io :: InvalidInput ) ) ) ;
843
+ read ( "-1\r \n " , Err ( old_io :: standard_error ( old_io :: InvalidInput ) ) ) ;
844
844
// Acceptable (if not fully valid) extensions do not influence the size
845
845
read ( "1;extension\r \n " , Ok ( 1 ) ) ;
846
846
read ( "a;ext name=value\r \n " , Ok ( 10 ) ) ;
@@ -851,9 +851,9 @@ mod tests {
851
851
read ( "3 ;\r \n " , Ok ( 3 ) ) ;
852
852
read ( "3 ; \r \n " , Ok ( 3 ) ) ;
853
853
// Invalid extensions cause an error
854
- read ( "1 invalid extension\r \n " , Err ( io :: standard_error ( io :: InvalidInput ) ) ) ;
855
- read ( "1 A\r \n " , Err ( io :: standard_error ( io :: InvalidInput ) ) ) ;
856
- read ( "1;no CRLF" , Err ( io :: standard_error ( io :: EndOfFile ) ) ) ;
854
+ read ( "1 invalid extension\r \n " , Err ( old_io :: standard_error ( old_io :: InvalidInput ) ) ) ;
855
+ read ( "1 A\r \n " , Err ( old_io :: standard_error ( old_io :: InvalidInput ) ) ) ;
856
+ read ( "1;no CRLF" , Err ( old_io :: standard_error ( old_io :: EndOfFile ) ) ) ;
857
857
}
858
858
859
859
#[ bench]
0 commit comments