try utf8 for location headers
This commit is contained in:
		| @@ -1,4 +1,4 @@ | |||||||
| use std::fmt; | use std::{fmt, str}; | ||||||
| use std::sync::Arc; | use std::sync::Arc; | ||||||
| use std::time::Duration; | use std::time::Duration; | ||||||
|  |  | ||||||
| @@ -478,7 +478,10 @@ impl Future for PendingRequest { | |||||||
|                     .get(LOCATION) |                     .get(LOCATION) | ||||||
|                     .and_then(|val| { |                     .and_then(|val| { | ||||||
|                         let loc = (|| -> Option<Url> { |                         let loc = (|| -> Option<Url> { | ||||||
|                             self.url.join(val.to_str().ok()?).ok() |                             // Some sites may send a utf-8 Location header, | ||||||
|  |                             // even though we're supposed to treat those bytes | ||||||
|  |                             // as opaque, we'll check specifically for utf8. | ||||||
|  |                             self.url.join(str::from_utf8(val.as_bytes()).ok()?).ok() | ||||||
|                         })(); |                         })(); | ||||||
|  |  | ||||||
|                         if loc.is_none() { |                         if loc.is_none() { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user