Reducing timeouts for all HTTP queries (including reverse geocoding)

This commit is contained in:
Selim Mustafaev 2021-10-20 00:06:49 +03:00
parent 81f9e8f868
commit 1b82e34337
2 changed files with 5 additions and 8 deletions

View File

@ -6,8 +6,8 @@ public class Api {
private static let session: URLSession = { private static let session: URLSession = {
let sessionConfig = URLSessionConfiguration.default let sessionConfig = URLSessionConfiguration.default
sessionConfig.timeoutIntervalForRequest = 60.0 sessionConfig.timeoutIntervalForRequest = 20.0
sessionConfig.timeoutIntervalForResource = 60.0 sessionConfig.timeoutIntervalForResource = 20.0
return URLSession(configuration: sessionConfig) return URLSession(configuration: sessionConfig)
}() }()
@ -112,7 +112,7 @@ public class Api {
request.addValue(Constants.fbClientVersion, forHTTPHeaderField: "X-Client-Version") request.addValue(Constants.fbClientVersion, forHTTPHeaderField: "X-Client-Version")
request.addValue(Constants.secondProviderBundleId, forHTTPHeaderField: "X-Ios-Bundle-Identifier") request.addValue(Constants.secondProviderBundleId, forHTTPHeaderField: "X-Ios-Bundle-Identifier")
request.addValue(Constants.fbUserAgent, forHTTPHeaderField: "User-Agent") 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 } guard let json = resp as? [String: Any] else { return }
if let newToken = json["id_token"] as? String { if let newToken = json["id_token"] as? String {
Settings.shared.user.firebaseIdToken = newToken Settings.shared.user.firebaseIdToken = newToken
@ -121,9 +121,6 @@ public class Api {
if let newRefreshToken = json["refresh_token"] as? String { if let newRefreshToken = json["refresh_token"] as? String {
Settings.shared.user.firebaseRefreshToken = newRefreshToken Settings.shared.user.firebaseRefreshToken = newRefreshToken
} }
}.catchError { error in
print(error)
return .just(())
} }
} else { } else {
return .just(()) return .just(())
@ -156,7 +153,7 @@ public class Api {
request.addValue(Constants.secondProviderBundleId, forHTTPHeaderField: "X-Ios-Bundle-Identifier") request.addValue(Constants.secondProviderBundleId, forHTTPHeaderField: "X-Ios-Bundle-Identifier")
request.addValue(Constants.fbUserAgent, forHTTPHeaderField: "User-Agent") 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 } guard let json = response as? [String: Any] else { return }
if let newToken = json["idToken"] as? String { if let newToken = json["idToken"] as? String {
Settings.shared.user.firebaseIdToken = newToken Settings.shared.user.firebaseIdToken = newToken

View File

@ -150,7 +150,7 @@ public class RxLocationManager {
return Disposables.create { return Disposables.create {
geocoder.cancelGeocode() geocoder.cancelGeocode()
} }
} }.timeout(.seconds(20), scheduler: MainScheduler.instance)
} }
public static func resetLastEvent() { public static func resetLastEvent() {