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 = {
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

View File

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