Fix cookie header to not include set-cookie attributes (#522)
This commit is contained in:
		| @@ -27,6 +27,7 @@ use mime; | |||||||
| #[cfg(feature = "default-tls")] | #[cfg(feature = "default-tls")] | ||||||
| use native_tls::TlsConnector; | use native_tls::TlsConnector; | ||||||
| use tokio::{clock, timer::Delay}; | use tokio::{clock, timer::Delay}; | ||||||
|  | use url::percent_encoding::{percent_encode, USERINFO_ENCODE_SET}; | ||||||
|  |  | ||||||
|  |  | ||||||
| use super::request::{Request, RequestBuilder}; | use super::request::{Request, RequestBuilder}; | ||||||
| @@ -877,7 +878,11 @@ fn add_cookie_header(headers: &mut HeaderMap, cookie_store: &cookie::CookieStore | |||||||
|     let header = cookie_store |     let header = cookie_store | ||||||
|         .0 |         .0 | ||||||
|         .get_request_cookies(url) |         .get_request_cookies(url) | ||||||
|         .map(|c| c.encoded().to_string()) |         .map(|c| { | ||||||
|  |             let name = percent_encode(c.name().as_bytes(), USERINFO_ENCODE_SET); | ||||||
|  |             let value = percent_encode(c.value().as_bytes(), USERINFO_ENCODE_SET); | ||||||
|  |             format!("{}={}", name, value) | ||||||
|  |         }) | ||||||
|         .collect::<Vec<_>>() |         .collect::<Vec<_>>() | ||||||
|         .join("; "); |         .join("; "); | ||||||
|     if !header.is_empty() { |     if !header.is_empty() { | ||||||
|   | |||||||
| @@ -94,7 +94,7 @@ fn cookie_store_simple() { | |||||||
|             ", |             ", | ||||||
|         response: b"\ |         response: b"\ | ||||||
|             HTTP/1.1 200 OK\r\n\ |             HTTP/1.1 200 OK\r\n\ | ||||||
|             Set-Cookie: key=val\r\n\ |             Set-Cookie: key=val; HttpOnly\r\n\ | ||||||
|             Content-Length: 0\r\n\ |             Content-Length: 0\r\n\ | ||||||
|             \r\n\ |             \r\n\ | ||||||
|             " |             " | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user