committed by
Sean McArthur
parent
50a6f6103e
commit
224cc709c3
@@ -59,7 +59,7 @@ impl Request<Fresh> {
|
|||||||
let stream: S = try_io!(NetworkStream::connect(host.as_slice(), port, url.scheme.as_slice()));
|
let stream: S = try_io!(NetworkStream::connect(host.as_slice(), port, url.scheme.as_slice()));
|
||||||
let stream = ThroughWriter(BufferedWriter::new(stream.dynamic()));
|
let stream = ThroughWriter(BufferedWriter::new(stream.dynamic()));
|
||||||
let mut headers = Headers::new();
|
let mut headers = Headers::new();
|
||||||
headers.set(Host(host));
|
headers.set(Host(format!("{}:{}", host, port)));
|
||||||
|
|
||||||
Ok(Request {
|
Ok(Request {
|
||||||
method: method,
|
method: method,
|
||||||
@@ -187,3 +187,33 @@ impl Writer for Request<Streaming> {
|
|||||||
self.body.flush()
|
self.body.flush()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
use header::common::Host;
|
||||||
|
use method::Get;
|
||||||
|
use net::MockStream;
|
||||||
|
use url::Url;
|
||||||
|
use super::Request;
|
||||||
|
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_host_header() {
|
||||||
|
fn check_host(url: &str, host_header: &str) {
|
||||||
|
let request = Request::with_stream::<MockStream>(
|
||||||
|
Get,
|
||||||
|
Url::parse(url).unwrap(),
|
||||||
|
).unwrap();
|
||||||
|
|
||||||
|
assert_eq!(
|
||||||
|
&Host(host_header.to_string()),
|
||||||
|
request.headers().get::<Host>().unwrap()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
check_host("http://www.example.com/path", "www.example.com:80");
|
||||||
|
check_host("https://www.example.com/path", "www.example.com:443");
|
||||||
|
check_host("http://www.example.com:8080/path", "www.example.com:8080");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user