From 1b82e34337e346a52b2d8cf8298a85223b0909db Mon Sep 17 00:00:00 2001 From: Selim Mustafaev Date: Wed, 20 Oct 2021 00:06:49 +0300 Subject: [PATCH] Reducing timeouts for all HTTP queries (including reverse geocoding) --- AutoCatCore/Utils/Api.swift | 11 ++++------- AutoCatCore/Utils/Location.swift | 2 +- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/AutoCatCore/Utils/Api.swift b/AutoCatCore/Utils/Api.swift index 625ebf8..0faab52 100644 --- a/AutoCatCore/Utils/Api.swift +++ b/AutoCatCore/Utils/Api.swift @@ -6,8 +6,8 @@ public class Api { private static let session: URLSession = { let sessionConfig = URLSessionConfiguration.default - sessionConfig.timeoutIntervalForRequest = 60.0 - sessionConfig.timeoutIntervalForResource = 60.0 + sessionConfig.timeoutIntervalForRequest = 20.0 + sessionConfig.timeoutIntervalForResource = 20.0 return URLSession(configuration: sessionConfig) }() @@ -112,7 +112,7 @@ public class Api { request.addValue(Constants.fbClientVersion, forHTTPHeaderField: "X-Client-Version") request.addValue(Constants.secondProviderBundleId, forHTTPHeaderField: "X-Ios-Bundle-Identifier") request.addValue(Constants.fbUserAgent, forHTTPHeaderField: "User-Agent") - return URLSession.shared.rx.json(request: request).asSingle().map { resp in + return self.session.rx.json(request: request).asSingle().map { resp in guard let json = resp as? [String: Any] else { return } if let newToken = json["id_token"] as? String { Settings.shared.user.firebaseIdToken = newToken @@ -121,9 +121,6 @@ public class Api { if let newRefreshToken = json["refresh_token"] as? String { Settings.shared.user.firebaseRefreshToken = newRefreshToken } - }.catchError { error in - print(error) - return .just(()) } } else { return .just(()) @@ -156,7 +153,7 @@ public class Api { request.addValue(Constants.secondProviderBundleId, forHTTPHeaderField: "X-Ios-Bundle-Identifier") request.addValue(Constants.fbUserAgent, forHTTPHeaderField: "User-Agent") - return URLSession.shared.rx.json(request: request).asSingle().map { response in + return self.session.rx.json(request: request).asSingle().map { response in guard let json = response as? [String: Any] else { return } if let newToken = json["idToken"] as? String { Settings.shared.user.firebaseIdToken = newToken diff --git a/AutoCatCore/Utils/Location.swift b/AutoCatCore/Utils/Location.swift index 097ce25..42355a9 100644 --- a/AutoCatCore/Utils/Location.swift +++ b/AutoCatCore/Utils/Location.swift @@ -150,7 +150,7 @@ public class RxLocationManager { return Disposables.create { geocoder.cancelGeocode() } - } + }.timeout(.seconds(20), scheduler: MainScheduler.instance) } public static func resetLastEvent() {