diff options
| author | Andrej Mihajlov <and@mullvad.net> | 2021-05-25 15:33:43 +0200 |
|---|---|---|
| committer | Andrej Mihajlov <and@mullvad.net> | 2021-05-26 10:43:06 +0200 |
| commit | 328288d5e63ccefee6a89a667ade914e0d9d7619 (patch) | |
| tree | 471eb3d5efe1373ecd0135b5e3955328dd33ae50 | |
| parent | caeb2cd6ce3b3762fca9cd3f1a9bd07ef42ba508 (diff) | |
| download | mullvadvpn-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.swift | 10 |
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)) + } + } } ) } |
