mirror of
https://github.com/fafhrd91/actix-web
synced 2025-01-18 13:51:50 +01:00
add default value for header User-Agent in requests
This commit is contained in:
parent
ea018e0ad6
commit
86be54df71
@ -506,7 +506,7 @@ impl ClientRequestBuilder {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Do not add default request headers.
|
/// Do not add default request headers.
|
||||||
/// By default `Accept-Encoding` header is set.
|
/// By default `Accept-Encoding` and `User-Agent` headers are set.
|
||||||
pub fn no_default_headers(&mut self) -> &mut Self {
|
pub fn no_default_headers(&mut self) -> &mut Self {
|
||||||
self.default_headers = false;
|
self.default_headers = false;
|
||||||
self
|
self
|
||||||
@ -608,6 +608,15 @@ impl ClientRequestBuilder {
|
|||||||
} else {
|
} else {
|
||||||
self.header(header::ACCEPT_ENCODING, "gzip, deflate");
|
self.header(header::ACCEPT_ENCODING, "gzip, deflate");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let contains = if let Some(parts) = parts(&mut self.request, &self.err) {
|
||||||
|
parts.headers.contains_key(header::USER_AGENT)
|
||||||
|
} else {
|
||||||
|
true
|
||||||
|
};
|
||||||
|
if !contains {
|
||||||
|
self.header(header::USER_AGENT, "Actix-web");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let mut request = self.request.take().expect("cannot reuse request builder");
|
let mut request = self.request.take().expect("cannot reuse request builder");
|
||||||
|
@ -432,3 +432,21 @@ fn test_client_cookie_handling() {
|
|||||||
let c2 = response.cookie("cookie2").expect("Missing cookie2");
|
let c2 = response.cookie("cookie2").expect("Missing cookie2");
|
||||||
assert_eq!(c2, &cookie2);
|
assert_eq!(c2, &cookie2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_default_headers() {
|
||||||
|
let srv = test::TestServer::new(|app| app.handler(|_| HttpResponse::Ok().body(STR)));
|
||||||
|
|
||||||
|
let request = srv.get().finish().unwrap();
|
||||||
|
let repr = format!("{:?}", request);
|
||||||
|
assert!(repr.contains("\"accept-encoding\": \"gzip, deflate\""));
|
||||||
|
assert!(repr.contains("\"user-agent\": \"Actix-web\""));
|
||||||
|
|
||||||
|
let request_override = srv.get()
|
||||||
|
.header("User-Agent", "test")
|
||||||
|
.finish()
|
||||||
|
.unwrap();
|
||||||
|
let repr_override = format!("{:?}", request_override);
|
||||||
|
assert!(repr_override.contains("\"user-agent\": \"test\""));
|
||||||
|
assert!(!repr_override.contains("\"user-agent\": \"Actix-web\""));
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user