fix(server): Removed check for GET/HEAD request when parsing body

Fixes #698
This commit is contained in:
Karl Hobley
2015-11-29 16:52:18 +00:00
parent 3f1b13c72d
commit 0b05c5903e

View File

@@ -9,7 +9,7 @@ use std::time::Duration;
use buffer::BufReader; use buffer::BufReader;
use net::NetworkStream; use net::NetworkStream;
use version::{HttpVersion}; use version::{HttpVersion};
use method::Method::{self, Get, Head}; use method::Method;
use header::{Headers, ContentLength, TransferEncoding}; use header::{Headers, ContentLength, TransferEncoding};
use http::h1::{self, Incoming, HttpReader}; use http::h1::{self, Incoming, HttpReader};
use http::h1::HttpReader::{SizedReader, ChunkedReader, EmptyReader}; use http::h1::HttpReader::{SizedReader, ChunkedReader, EmptyReader};
@@ -41,9 +41,7 @@ impl<'a, 'b: 'a> Request<'a, 'b> {
debug!("Request Line: {:?} {:?} {:?}", method, uri, version); debug!("Request Line: {:?} {:?} {:?}", method, uri, version);
debug!("{:?}", headers); debug!("{:?}", headers);
let body = if method == Get || method == Head { let body = if headers.has::<ContentLength>() {
EmptyReader(stream)
} else if headers.has::<ContentLength>() {
match headers.get::<ContentLength>() { match headers.get::<ContentLength>() {
Some(&ContentLength(len)) => SizedReader(stream, len), Some(&ContentLength(len)) => SizedReader(stream, len),
None => unreachable!() None => unreachable!()