From 428b2ce39791c712360f7bb2c60168a34d4f44d6 Mon Sep 17 00:00:00 2001 From: Ilia Chub Date: Mon, 6 Feb 2023 17:48:57 +0300 Subject: [PATCH] UPUP-457: The AsyncHTTPClient method which allows executing a request without decoding --- .../ServerClient/AsyncHttpClient.swift | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/Sources/Utils/Services/ServerClient/AsyncHttpClient.swift b/Sources/Utils/Services/ServerClient/AsyncHttpClient.swift index 84c4993..8640916 100644 --- a/Sources/Utils/Services/ServerClient/AsyncHttpClient.swift +++ b/Sources/Utils/Services/ServerClient/AsyncHttpClient.swift @@ -58,6 +58,24 @@ open class AsyncHttpClient: BaseHttpClient { } } + open func performRequest(method: HTTPMethod, endpoint: String) async throws -> Data { + let encoder = getParameterEncoder(method: method) + + do { + return try await request( + endpoint: endpoint, + method: method, + parameters: nil as String?, + encoder: encoder + ) + .validate(validate(request:response:data:)) + .serializingData() + .value + } catch let error as AFError { + throw convertError(error) ?? AFError.explicitlyCancelled + } + } + open func validateResponse(request: URLRequest?, response: HTTPURLResponse, data: Data?) -> Result { assertionFailure("Subclasses must implement this method")