fix(client): send query parameters in Requests

This commit is contained in:
Sean McArthur
2016-05-23 11:19:43 -07:00
parent 5d75c7202e
commit 2d9aea8db0
2 changed files with 82 additions and 24 deletions

View File

@@ -293,6 +293,7 @@ impl<H: Handler<T>, T: Transport> http::MessageHandler<T> for Message<H, T> {
type Message = http::ClientMessage;
fn on_outgoing(&mut self, head: &mut RequestHead) -> Next {
use ::url::Position;
let url = self.url.take().expect("Message.url is missing");
if let Some(host) = url.host_str() {
head.headers.set(Host {
@@ -300,7 +301,7 @@ impl<H: Handler<T>, T: Transport> http::MessageHandler<T> for Message<H, T> {
port: url.port(),
});
}
head.subject.1 = RequestUri::AbsolutePath(url.path().to_owned());
head.subject.1 = RequestUri::AbsolutePath(url[Position::BeforePath..Position::AfterQuery].to_owned());
let mut req = self::request::new(head);
self.handler.on_request(&mut req)
}