Remove trailing '?' on empty query. (#506)

Closes #464
This commit is contained in:
Adilson Neto
2019-04-24 21:36:24 -03:00
committed by Sean McArthur
parent 265065f20d
commit f798a8b2df
2 changed files with 42 additions and 0 deletions

View File

@@ -267,6 +267,11 @@ impl RequestBuilder {
error = Some(::error::from(err));
}
}
if let Ok(ref mut req) = self.request {
if let Some("") = req.url().query() {
req.url_mut().set_query(None);
}
}
if let Some(err) = error {
self.request = Err(err);
}
@@ -514,6 +519,22 @@ mod tests {
assert_eq!(foo[1], "baz");
}
#[test]
fn normalize_empty_query() {
let client = Client::new();
let some_url = "https://google.com/";
let empty_query: &[(&str, &str)] = &[];
let req = client
.get(some_url)
.query(empty_query)
.build()
.expect("request build");
assert_eq!(req.url().query(), None);
assert_eq!(req.url().as_str(), "https://google.com/");
}
/*
use {body, Method};
use super::Client;

View File

@@ -353,6 +353,11 @@ impl RequestBuilder {
error = Some(::error::from(err));
}
}
if let Ok(ref mut req) = self.request {
if let Some("") = req.url().query() {
req.url_mut().set_query(None);
}
}
if let Some(err) = error {
self.request = Err(err);
}
@@ -837,4 +842,20 @@ mod tests {
assert_eq!(foo[0], "bar");
assert_eq!(foo[1], "baz");
}
#[test]
fn normalize_empty_query() {
let client = Client::new();
let some_url = "https://google.com/";
let empty_query: &[(&str, &str)] = &[];
let req = client
.get(some_url)
.query(empty_query)
.build()
.expect("request build");
assert_eq!(req.url().query(), None);
assert_eq!(req.url().as_str(), "https://google.com/");
}
}