committed by
					
						 Sean McArthur
						Sean McArthur
					
				
			
			
				
	
			
			
			
						parent
						
							66a88d946b
						
					
				
				
					commit
					e0a52dcf5d
				
			| @@ -387,3 +387,56 @@ fn test_invalid_location_stops_redirect_gh484() { | ||||
|     assert_eq!(res.status(), reqwest::StatusCode::FOUND); | ||||
|     assert_eq!(res.headers().get(reqwest::header::SERVER).unwrap(), &"test-yikes"); | ||||
| } | ||||
|  | ||||
| #[test] | ||||
| fn test_redirect_302_with_set_cookies() { | ||||
|     let code = 302; | ||||
|     let client = reqwest::ClientBuilder::new().cookie_store(true).build().unwrap(); | ||||
|     let server = server! { | ||||
|             request: format!("\ | ||||
|                 GET /{} HTTP/1.1\r\n\ | ||||
|                 user-agent: $USERAGENT\r\n\ | ||||
|                 accept: */*\r\n\ | ||||
|                 accept-encoding: gzip\r\n\ | ||||
|                 host: $HOST\r\n\ | ||||
|                 \r\n\ | ||||
|                 ", code), | ||||
|             response: format!("\ | ||||
|                 HTTP/1.1 {} reason\r\n\ | ||||
|                 Server: test-redirect\r\n\ | ||||
|                 Content-Length: 0\r\n\ | ||||
|                 Location: /dst\r\n\ | ||||
|                 Connection: close\r\n\ | ||||
|                 Set-Cookie: key=value\r\n\ | ||||
|                 \r\n\ | ||||
|                 ", code) | ||||
|                 ; | ||||
|  | ||||
|             request: format!("\ | ||||
|                 GET /dst HTTP/1.1\r\n\ | ||||
|                 user-agent: $USERAGENT\r\n\ | ||||
|                 accept: */*\r\n\ | ||||
|                 accept-encoding: gzip\r\n\ | ||||
|                 referer: http://$HOST/{}\r\n\ | ||||
|                 cookie: key=value\r\n\ | ||||
|                 host: $HOST\r\n\ | ||||
|                 \r\n\ | ||||
|                 ", code), | ||||
|             response: b"\ | ||||
|                 HTTP/1.1 200 OK\r\n\ | ||||
|                 Server: test-dst\r\n\ | ||||
|                 Content-Length: 0\r\n\ | ||||
|                 \r\n\ | ||||
|                 " | ||||
|         }; | ||||
|  | ||||
|     let url = format!("http://{}/{}", server.addr(), code); | ||||
|     let dst = format!("http://{}/{}", server.addr(), "dst"); | ||||
|     let res = client.get(&url) | ||||
|         .send() | ||||
|         .unwrap(); | ||||
|  | ||||
|     assert_eq!(res.url().as_str(), dst); | ||||
|     assert_eq!(res.status(), reqwest::StatusCode::OK); | ||||
|     assert_eq!(res.headers().get(reqwest::header::SERVER).unwrap(), &"test-dst"); | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user