diff --git a/src/client/request.rs b/src/client/request.rs index 00e3f0be..396fb7a9 100644 --- a/src/client/request.rs +++ b/src/client/request.rs @@ -101,7 +101,13 @@ impl Request { /// Consume a Fresh Request, writing the headers and method, /// returning a Streaming Request. pub fn start(mut self) -> HttpResult> { - let uri = self.url.serialize_path().unwrap(); + let mut uri = self.url.serialize_path().unwrap(); + //TODO: this needs a test + if let Some(ref q) = self.url.query { + uri.push('?'); + uri.push_str(q[]); + } + debug!("writing head: {} {} {}", self.method, uri, self.version); try_io!(write!(self.body, "{} {} {}", self.method, uri, self.version)) try_io!(self.body.write(LINE_ENDING)); @@ -184,4 +190,3 @@ impl Writer for Request { self.body.flush() } } - diff --git a/src/lib.rs b/src/lib.rs index 2b8d9dd3..485c671f 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,4 +1,4 @@ -#![feature(macro_rules, phase, default_type_params)] +#![feature(macro_rules, phase, default_type_params, if_let, slicing_syntax)] #![deny(missing_doc)] #![deny(warnings)] #![experimental]