Uses the approach suggested by @SimonSapin for changing Url scheme

servo/rust-url#61
This commit is contained in:
Sam Gibson 2015-07-19 23:36:27 +12:00
parent 5014da42fc
commit 118122da38

View file

@ -125,7 +125,11 @@ pub fn secure_url(url: &Url) -> Url {
if &*url.scheme == "http" {
let mut secure_url = url.clone();
secure_url.scheme = "https".to_string();
Url::parse(&secure_url.serialize()).unwrap()
secure_url.relative_scheme_data_mut()
.map(|scheme_data| {
scheme_data.default_port = Some(443);
});
secure_url
} else {
url.clone()
}