summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDavid Lönnhager <david.l@mullvad.net>2021-02-11 17:55:24 +0100
committerDavid Lönnhager <david.l@mullvad.net>2021-02-15 19:18:32 +0100
commit2623771979613001063c96d7e7ddfb9ae7c98c64 (patch)
tree75bfdcb307ae934dad7d09045486f2073204600d
parentf94bf5b87f42e51626f0a006a4199165175a30dc (diff)
downloadmullvadvpn-2623771979613001063c96d7e7ddfb9ae7c98c64.tar.xz
mullvadvpn-2623771979613001063c96d7e7ddfb9ae7c98c64.zip
Generalize RestRequest::add_header
-rw-r--r--mullvad-rpc/src/lib.rs2
-rw-r--r--mullvad-rpc/src/relay_list.rs7
-rw-r--r--mullvad-rpc/src/rest.rs5
3 files changed, 6 insertions, 8 deletions
diff --git a/mullvad-rpc/src/lib.rs b/mullvad-rpc/src/lib.rs
index 7fd3a2480f..1b02ec0f2e 100644
--- a/mullvad-rpc/src/lib.rs
+++ b/mullvad-rpc/src/lib.rs
@@ -365,7 +365,7 @@ impl AppVersionProxy {
async move {
let mut request = request?;
- request.add_header("M-Platform-Version", platform_version)?;
+ request.add_header("M-Platform-Version", &platform_version)?;
let response = service.request(request).await?;
let parsed_response = rest::parse_rest_response(response, StatusCode::OK).await?;
diff --git a/mullvad-rpc/src/relay_list.rs b/mullvad-rpc/src/relay_list.rs
index cdf72c8c1f..7c7c8b10ad 100644
--- a/mullvad-rpc/src/relay_list.rs
+++ b/mullvad-rpc/src/relay_list.rs
@@ -38,13 +38,12 @@ impl RelayListProxy {
let mut request = request?;
request.set_timeout(RELAY_LIST_TIMEOUT);
- let has_tag = etag.is_some();
- if let Some(tag) = etag {
- request.add_header("If-None-Match", tag)?;
+ if let Some(ref tag) = etag {
+ request.add_header(header::IF_NONE_MATCH, tag)?;
}
let response = service.request(request).await?;
- if has_tag && response.status() == StatusCode::NOT_MODIFIED {
+ if etag.is_some() && response.status() == StatusCode::NOT_MODIFIED {
return Ok(None);
}
if response.status() != StatusCode::OK {
diff --git a/mullvad-rpc/src/rest.rs b/mullvad-rpc/src/rest.rs
index 07746a3150..d21e20fbcd 100644
--- a/mullvad-rpc/src/rest.rs
+++ b/mullvad-rpc/src/rest.rs
@@ -342,9 +342,8 @@ impl RestRequest {
self.timeout
}
- pub fn add_header(&mut self, key: &'static str, value: String) -> Result<()> {
- let header_value =
- http::HeaderValue::from_str(&value).map_err(Error::InvalidHeaderError)?;
+ pub fn add_header<T: header::IntoHeaderName>(&mut self, key: T, value: &str) -> Result<()> {
+ let header_value = http::HeaderValue::from_str(value).map_err(Error::InvalidHeaderError)?;
self.request.headers_mut().insert(key, header_value);
Ok(())
}