Add support for alternate TLs implementations.
This commit is contained in:
committed by
Martin Algesten
parent
1c1dfaa691
commit
56276c3742
@@ -10,7 +10,7 @@ fn content_length_on_str() {
|
||||
let resp = post("test://host/content_length_on_str")
|
||||
.send_string("Hello World!!!")
|
||||
.unwrap();
|
||||
let vec = resp.to_write_vec();
|
||||
let vec = resp.as_write_vec();
|
||||
let s = String::from_utf8_lossy(&vec);
|
||||
assert!(s.contains("\r\nContent-Length: 14\r\n"));
|
||||
}
|
||||
@@ -24,7 +24,7 @@ fn user_set_content_length_on_str() {
|
||||
.set("Content-Length", "12345")
|
||||
.send_string("Hello World!!!")
|
||||
.unwrap();
|
||||
let vec = resp.to_write_vec();
|
||||
let vec = resp.as_write_vec();
|
||||
let s = String::from_utf8_lossy(&vec);
|
||||
assert!(s.contains("\r\nContent-Length: 12345\r\n"));
|
||||
}
|
||||
@@ -43,7 +43,7 @@ fn content_length_on_json() {
|
||||
let resp = post("test://host/content_length_on_json")
|
||||
.send_json(SerdeValue::Object(json))
|
||||
.unwrap();
|
||||
let vec = resp.to_write_vec();
|
||||
let vec = resp.as_write_vec();
|
||||
let s = String::from_utf8_lossy(&vec);
|
||||
assert!(s.contains("\r\nContent-Length: 20\r\n"));
|
||||
}
|
||||
@@ -57,7 +57,7 @@ fn content_length_and_chunked() {
|
||||
.set("Transfer-Encoding", "chunked")
|
||||
.send_string("Hello World!!!")
|
||||
.unwrap();
|
||||
let vec = resp.to_write_vec();
|
||||
let vec = resp.as_write_vec();
|
||||
let s = String::from_utf8_lossy(&vec);
|
||||
assert!(s.contains("Transfer-Encoding: chunked\r\n"));
|
||||
assert!(!s.contains("\r\nContent-Length:\r\n"));
|
||||
@@ -73,7 +73,7 @@ fn str_with_encoding() {
|
||||
.set("Content-Type", "text/plain; charset=iso-8859-1")
|
||||
.send_string("Hällo Wörld!!!")
|
||||
.unwrap();
|
||||
let vec = resp.to_write_vec();
|
||||
let vec = resp.as_write_vec();
|
||||
assert_eq!(
|
||||
&vec[vec.len() - 14..],
|
||||
//H ä l l o _ W ö r l d ! ! !
|
||||
@@ -95,7 +95,7 @@ fn content_type_on_json() {
|
||||
let resp = post("test://host/content_type_on_json")
|
||||
.send_json(SerdeValue::Object(json))
|
||||
.unwrap();
|
||||
let vec = resp.to_write_vec();
|
||||
let vec = resp.as_write_vec();
|
||||
let s = String::from_utf8_lossy(&vec);
|
||||
assert!(s.contains("\r\nContent-Type: application/json\r\n"));
|
||||
}
|
||||
@@ -115,7 +115,7 @@ fn content_type_not_overriden_on_json() {
|
||||
.set("content-type", "text/plain")
|
||||
.send_json(SerdeValue::Object(json))
|
||||
.unwrap();
|
||||
let vec = resp.to_write_vec();
|
||||
let vec = resp.as_write_vec();
|
||||
let s = String::from_utf8_lossy(&vec);
|
||||
assert!(s.contains("\r\ncontent-type: text/plain\r\n"));
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ fn no_query_string() {
|
||||
test::make_response(200, "OK", vec![], vec![])
|
||||
});
|
||||
let resp = get("test://host/no_query_string").call().unwrap();
|
||||
let vec = resp.to_write_vec();
|
||||
let vec = resp.as_write_vec();
|
||||
let s = String::from_utf8_lossy(&vec);
|
||||
assert!(s.contains("GET /no_query_string HTTP/1.1"))
|
||||
}
|
||||
@@ -23,7 +23,7 @@ fn escaped_query_string() {
|
||||
.query("baz", "yo lo")
|
||||
.call()
|
||||
.unwrap();
|
||||
let vec = resp.to_write_vec();
|
||||
let vec = resp.as_write_vec();
|
||||
let s = String::from_utf8_lossy(&vec);
|
||||
assert!(
|
||||
s.contains("GET /escaped_query_string?foo=bar&baz=yo+lo HTTP/1.1"),
|
||||
@@ -38,7 +38,7 @@ fn query_in_path() {
|
||||
test::make_response(200, "OK", vec![], vec![])
|
||||
});
|
||||
let resp = get("test://host/query_in_path?foo=bar").call().unwrap();
|
||||
let vec = resp.to_write_vec();
|
||||
let vec = resp.as_write_vec();
|
||||
let s = String::from_utf8_lossy(&vec);
|
||||
assert!(s.contains("GET /query_in_path?foo=bar HTTP/1.1"))
|
||||
}
|
||||
@@ -52,7 +52,7 @@ fn query_in_path_and_req() {
|
||||
.query("baz", "1 2 3")
|
||||
.call()
|
||||
.unwrap();
|
||||
let vec = resp.to_write_vec();
|
||||
let vec = resp.as_write_vec();
|
||||
let s = String::from_utf8_lossy(&vec);
|
||||
assert!(s.contains("GET /query_in_path_and_req?foo=bar&baz=1+2+3 HTTP/1.1"))
|
||||
}
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
#[cfg(feature = "tls")]
|
||||
use std::io::Read;
|
||||
|
||||
#[cfg(feature = "tls")]
|
||||
use super::super::*;
|
||||
|
||||
#[test]
|
||||
#[cfg(feature = "tls")]
|
||||
fn read_range() {
|
||||
fn read_range_rustls() {
|
||||
use std::io::Read;
|
||||
|
||||
use super::super::*;
|
||||
|
||||
// rustls is used via crate level convenience calls
|
||||
let resp = get("https://ureq.s3.eu-central-1.amazonaws.com/sherlock.txt")
|
||||
.set("Range", "bytes=1000-1999")
|
||||
.call()
|
||||
@@ -21,3 +20,30 @@ fn read_range() {
|
||||
[83, 99, 111, 116, 116, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32]
|
||||
)
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[cfg(feature = "native-tls")]
|
||||
fn read_range_native_tls() {
|
||||
use std::io::Read;
|
||||
use std::sync::Arc;
|
||||
|
||||
use super::super::*;
|
||||
|
||||
let tls_config = native_tls::TlsConnector::new().unwrap();
|
||||
let agent = builder().tls_connector(Arc::new(tls_config)).build();
|
||||
|
||||
let resp = agent
|
||||
.get("https://ureq.s3.eu-central-1.amazonaws.com/sherlock.txt")
|
||||
.set("Range", "bytes=1000-1999")
|
||||
.call()
|
||||
.unwrap();
|
||||
assert_eq!(resp.status(), 206);
|
||||
let mut reader = resp.into_reader();
|
||||
let mut buf = vec![];
|
||||
let len = reader.read_to_end(&mut buf).unwrap();
|
||||
assert_eq!(len, 1000);
|
||||
assert_eq!(
|
||||
&buf[0..20],
|
||||
[83, 99, 111, 116, 116, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32]
|
||||
)
|
||||
}
|
||||
|
||||
@@ -120,7 +120,7 @@ fn escape_path() {
|
||||
test::make_response(200, "OK", vec![], vec![])
|
||||
});
|
||||
let resp = get("test://host/escape_path here").call().unwrap();
|
||||
let vec = resp.to_write_vec();
|
||||
let vec = resp.as_write_vec();
|
||||
let s = String::from_utf8_lossy(&vec);
|
||||
assert!(s.contains("GET /escape_path%20here HTTP/1.1"))
|
||||
}
|
||||
@@ -198,7 +198,7 @@ pub fn host_no_port() {
|
||||
test::make_response(200, "OK", vec![], vec![])
|
||||
});
|
||||
let resp = get("test://myhost/host_no_port").call().unwrap();
|
||||
let vec = resp.to_write_vec();
|
||||
let vec = resp.as_write_vec();
|
||||
let s = String::from_utf8_lossy(&vec);
|
||||
assert!(s.contains("\r\nHost: myhost\r\n"));
|
||||
}
|
||||
@@ -209,7 +209,7 @@ pub fn host_with_port() {
|
||||
test::make_response(200, "OK", vec![], vec![])
|
||||
});
|
||||
let resp = get("test://myhost:234/host_with_port").call().unwrap();
|
||||
let vec = resp.to_write_vec();
|
||||
let vec = resp.as_write_vec();
|
||||
let s = String::from_utf8_lossy(&vec);
|
||||
assert!(s.contains("\r\nHost: myhost:234\r\n"));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user