From 771b5923b61ecb72cc9176628d9bb6c054f82b00 Mon Sep 17 00:00:00 2001 From: Selim Mustafaev Date: Sat, 2 Sep 2023 21:22:48 +0300 Subject: [PATCH] Handling 401 error --- AutoCatCore/Utils/Api.swift | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/AutoCatCore/Utils/Api.swift b/AutoCatCore/Utils/Api.swift index 0f0da94..711c862 100644 --- a/AutoCatCore/Utils/Api.swift +++ b/AutoCatCore/Utils/Api.swift @@ -46,7 +46,7 @@ public class Api { return Single.error(self.genError("Error creating request", suggestion: "")) } - return self.session.rx.data(request: request).asSingle().map { data in + return self.session.rx.response(request: request).asSingle().map { httpResp, data in // let str = String(data: data, encoding: .utf8) // print("================================") // if let string = str?.replacingOccurrences(of: "\\\"", with: "\"") @@ -55,6 +55,15 @@ public class Api { // print(string) // } // print("================================") + + if httpResp.statusCode == 401 { + throw genError("Unauthorized", suggestion: "", code: httpResp.statusCode) + } + + if httpResp.statusCode < 200 || httpResp.statusCode >= 300 { + throw genError("HTTP error \(httpResp.statusCode)", suggestion: "", code: httpResp.statusCode) + } + do { let resp = try JSONDecoder().decode(Response.self, from: data) if resp.success {