url test and some fixes
This commit is contained in:
parent
58cfd1ab60
commit
8e6fe03607
@ -95,7 +95,7 @@ impl ClientBuilder {
|
|||||||
|
|
||||||
/// Set default header
|
/// Set default header
|
||||||
pub fn header(mut self, name: impl ToString, value: impl ToString) -> Self {
|
pub fn header(mut self, name: impl ToString, value: impl ToString) -> Self {
|
||||||
self.headers.put(name, value.to_string());
|
self.headers.add(name, value.to_string());
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -45,8 +45,13 @@ async fn connect_stream(proxy: Proxy, site_host: &str) -> Result<Box<dyn Request
|
|||||||
}
|
}
|
||||||
|
|
||||||
async fn send_request(
|
async fn send_request(
|
||||||
mut request: HttpRequest, ssl_verify: bool, proxy: Proxy, headers: Headers,
|
mut request: HttpRequest,
|
||||||
connect_timeout: Option<Duration>, write_timeout: Option<Duration>, read_timeout: Option<Duration>
|
ssl_verify: bool,
|
||||||
|
proxy: Proxy,
|
||||||
|
headers: Headers,
|
||||||
|
connect_timeout: Option<Duration>,
|
||||||
|
write_timeout: Option<Duration>,
|
||||||
|
read_timeout: Option<Duration>
|
||||||
) -> Result<HttpResponse, HttpError> {
|
) -> Result<HttpResponse, HttpError> {
|
||||||
for (key, value) in headers.entries() {
|
for (key, value) in headers.entries() {
|
||||||
request.headers.put_default(key, value);
|
request.headers.put_default(key, value);
|
||||||
|
@ -75,7 +75,7 @@ impl RequestBuilder {
|
|||||||
|
|
||||||
/// Set header
|
/// Set header
|
||||||
pub fn header(mut self, name: impl ToString, value: impl ToString) -> Self {
|
pub fn header(mut self, name: impl ToString, value: impl ToString) -> Self {
|
||||||
self.headers.put(name, value.to_string());
|
self.headers.add(name, value.to_string());
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
|
|
||||||
|
35
tests/url_test.rs
Executable file
35
tests/url_test.rs
Executable file
@ -0,0 +1,35 @@
|
|||||||
|
use ezhttp::request::IntoURL;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn url_full() {
|
||||||
|
let url = "https://meex.lol:456/dku?key=value&key2=value2#hex_id".to_url().unwrap();
|
||||||
|
let root = url.clone().root.unwrap();
|
||||||
|
assert_eq!(root.domain, "meex.lol");
|
||||||
|
assert_eq!(root.port, 456);
|
||||||
|
assert_eq!(root.scheme, "https");
|
||||||
|
assert_eq!(url.anchor.clone(), Some("hex_id".to_string()));
|
||||||
|
assert_eq!(url.path.clone(), "/dku");
|
||||||
|
assert_eq!(url.query.get("key"), Some(&"value".to_string()));
|
||||||
|
assert_eq!(url.query.get("key2"), Some(&"value2".to_string()));
|
||||||
|
assert_eq!(url.query.len(), 2);
|
||||||
|
assert!(
|
||||||
|
url.to_string() == "https://meex.lol:456/dku?key=value&key2=value2#hex_id" ||
|
||||||
|
url.to_string() == "https://meex.lol:456/dku?key2=value2&key=value#hex_id"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn url_path() {
|
||||||
|
let url = "/dku?key=value&key2=value2#hex_id".to_url().unwrap();
|
||||||
|
assert!(url.root.is_none());
|
||||||
|
assert_eq!(url.anchor.clone(), Some("hex_id".to_string()));
|
||||||
|
assert_eq!(url.path.clone(), "/dku");
|
||||||
|
assert_eq!(url.query.get("key"), Some(&"value".to_string()));
|
||||||
|
assert_eq!(url.query.get("key2"), Some(&"value2".to_string()));
|
||||||
|
assert_eq!(url.query.len(), 2);
|
||||||
|
assert_eq!(url.query.len(), 2);
|
||||||
|
assert!(
|
||||||
|
url.to_string() == "/dku?key=value&key2=value2#hex_id" ||
|
||||||
|
url.to_string() == "/dku?key2=value2&key=value#hex_id"
|
||||||
|
);
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user