multipart: Force a CRLF at the end of request
This commit is contained in:
		| @@ -108,7 +108,7 @@ impl Form { | |||||||
|         } |         } | ||||||
|         // If there is a at least one field there is a special boundary for the very last field. |         // If there is a at least one field there is a special boundary for the very last field. | ||||||
|         if self.fields.len() != 0 { |         if self.fields.len() != 0 { | ||||||
|             length += 2 + self.boundary.len() as u64 + 2 |             length += 2 + self.boundary.len() as u64 + 4 | ||||||
|         } |         } | ||||||
|         Some(length) |         Some(length) | ||||||
|     } |     } | ||||||
| @@ -271,7 +271,7 @@ impl Reader { | |||||||
|                 Some(Box::new(reader)) |                 Some(Box::new(reader)) | ||||||
|             } else { |             } else { | ||||||
|                 Some(Box::new(reader.chain(Cursor::new( |                 Some(Box::new(reader.chain(Cursor::new( | ||||||
|                     format!("--{}--", self.form.boundary), |                     format!("--{}--\r\n", self.form.boundary), | ||||||
|                 )))) |                 )))) | ||||||
|             } |             } | ||||||
|         } else { |         } else { | ||||||
| @@ -377,7 +377,7 @@ mod tests { | |||||||
|                         \r\n\ |                         \r\n\ | ||||||
|                         --boundary\r\n\ |                         --boundary\r\n\ | ||||||
|                         Content-Disposition: form-data; name=\"key3\"; filename=\"filename\"\r\n\r\n\ |                         Content-Disposition: form-data; name=\"key3\"; filename=\"filename\"\r\n\r\n\ | ||||||
|                         value3\r\n--boundary--"; |                         value3\r\n--boundary--\r\n"; | ||||||
|         form.reader().read_to_end(&mut output).unwrap(); |         form.reader().read_to_end(&mut output).unwrap(); | ||||||
|         // These prints are for debug purposes in case the test fails |         // These prints are for debug purposes in case the test fails | ||||||
|         println!( |         println!( | ||||||
| @@ -413,7 +413,7 @@ mod tests { | |||||||
|                         value2\r\n\ |                         value2\r\n\ | ||||||
|                         --boundary\r\n\ |                         --boundary\r\n\ | ||||||
|                         Content-Disposition: form-data; name=\"key3\"; filename=\"filename\"\r\n\r\n\ |                         Content-Disposition: form-data; name=\"key3\"; filename=\"filename\"\r\n\r\n\ | ||||||
|                         value3\r\n--boundary--"; |                         value3\r\n--boundary--\r\n"; | ||||||
|         form.reader().read_to_end(&mut output).unwrap(); |         form.reader().read_to_end(&mut output).unwrap(); | ||||||
|         // These prints are for debug purposes in case the test fails |         // These prints are for debug purposes in case the test fails | ||||||
|         println!( |         println!( | ||||||
|   | |||||||
| @@ -15,7 +15,7 @@ fn test_multipart() { | |||||||
|         --{0}\r\n\ |         --{0}\r\n\ | ||||||
|         Content-Disposition: form-data; name=\"foo\"\r\n\r\n\ |         Content-Disposition: form-data; name=\"foo\"\r\n\r\n\ | ||||||
|         bar\r\n\ |         bar\r\n\ | ||||||
|         --{0}--\ |         --{0}--\r\n\ | ||||||
|     ", form.boundary()); |     ", form.boundary()); | ||||||
|  |  | ||||||
|     let server = server! { |     let server = server! { | ||||||
| @@ -24,7 +24,7 @@ fn test_multipart() { | |||||||
|             user-agent: $USERAGENT\r\n\ |             user-agent: $USERAGENT\r\n\ | ||||||
|             accept: */*\r\n\ |             accept: */*\r\n\ | ||||||
|             content-type: multipart/form-data; boundary={}\r\n\ |             content-type: multipart/form-data; boundary={}\r\n\ | ||||||
|             content-length: 123\r\n\ |             content-length: 125\r\n\ | ||||||
|             accept-encoding: gzip\r\n\ |             accept-encoding: gzip\r\n\ | ||||||
|             host: $HOST\r\n\ |             host: $HOST\r\n\ | ||||||
|             \r\n\ |             \r\n\ | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user