diff --git a/Sources/InfomaniakCore/Networking/ApiFetcher.swift b/Sources/InfomaniakCore/Networking/ApiFetcher.swift index 55c9576..c0d1a0c 100644 --- a/Sources/InfomaniakCore/Networking/ApiFetcher.swift +++ b/Sources/InfomaniakCore/Networking/ApiFetcher.swift @@ -32,7 +32,7 @@ open class ApiFetcher { enum ErrorDomain: Error { case noServerResponse } - + public typealias RequestModifier = (inout URLRequest) throws -> Void /// All status except 401 are handled by our code, 401 status is handled by Alamofire's Authenticator code @@ -140,12 +140,18 @@ open class ApiFetcher { ) } + @available(*, deprecated, message: "Use perform with ValidServerResponse instead") open func perform(request: DataRequest, decoder: JSONDecoder = ApiFetcher.decoder) async throws -> (data: T, responseAt: Int?) { let validServerResponse: ValidServerResponse = try await perform(request: request, decoder: decoder) return (validServerResponse.validApiResponse.data, validServerResponse.validApiResponse.responseAt) } + open func perform(request: DataRequest, + decoder: JSONDecoder = ApiFetcher.decoder) async throws -> T { + return try await perform(request: request, decoder: decoder).validApiResponse.data + } + open func perform(request: DataRequest, decoder: JSONDecoder = ApiFetcher.decoder) async throws -> ValidServerResponse { let validatedRequest = request.validate(statusCode: ApiFetcher.handledHttpStatus)