summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAndrej Mihajlov <and@mullvad.net>2021-05-25 15:33:43 +0200
committerAndrej Mihajlov <and@mullvad.net>2021-05-26 10:43:06 +0200
commit328288d5e63ccefee6a89a667ade914e0d9d7619 (patch)
tree471eb3d5efe1373ecd0135b5e3955328dd33ae50
parentcaeb2cd6ce3b3762fca9cd3f1a9bd07ef42ba508 (diff)
downloadmullvadvpn-328288d5e63ccefee6a89a667ade914e0d9d7619.tar.xz
mullvadvpn-328288d5e63ccefee6a89a667ade914e0d9d7619.zip
REST: handle 200 in POST to v1/wireguard-keys
It looks like 200 is being returned when the pubkey is already registered in the system.
-rw-r--r--ios/MullvadVPN/MullvadRest.swift10
1 files changed, 9 insertions, 1 deletions
diff --git a/ios/MullvadVPN/MullvadRest.swift b/ios/MullvadVPN/MullvadRest.swift
index 5d03a668ea..2fc99b4d64 100644
--- a/ios/MullvadVPN/MullvadRest.swift
+++ b/ios/MullvadVPN/MullvadRest.swift
@@ -514,7 +514,15 @@ extension MullvadRest {
endpointURL: kRestBaseURL.appendingPathComponent("wireguard-keys"),
httpMethod: .post,
responseHandlerFactory: { (input) in
- return DecodingResponseHandler(expectedStatus: HttpStatus.created)
+ return AnyResponseHandler { (httpResponse, data) -> Result<WireguardAddressesResponse, ResponseHandlerError> in
+ switch httpResponse.statusCode {
+ case HttpStatus.ok, HttpStatus.created:
+ return MullvadRest.decodeSuccessResponse(WireguardAddressesResponse.self, from: data)
+
+ default:
+ return .failure(.badResponse(httpResponse.statusCode))
+ }
+ }
}
)
}