From 3998f3fac0dc2abcefa79fbfeb952e9106361d8b Mon Sep 17 00:00:00 2001 From: Jin Xu Date: Fri, 31 Jan 2025 14:23:28 -0800 Subject: [PATCH] fix: offline directly after receive bad url error --- Sources/Amplitude/Utilities/EventPipeline.swift | 8 ++++---- Sources/Amplitude/Utilities/HttpClient.swift | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Sources/Amplitude/Utilities/EventPipeline.swift b/Sources/Amplitude/Utilities/EventPipeline.swift index ccd509e..19ffcf7 100644 --- a/Sources/Amplitude/Utilities/EventPipeline.swift +++ b/Sources/Amplitude/Utilities/EventPipeline.swift @@ -12,8 +12,8 @@ public class EventPipeline { let storage: Storage? let logger: (any Logger)? let configuration: Configuration - var maxRetryInterval: TimeInterval = 60 - var maxRetryCount: Int = 6 + let maxRetryInterval: TimeInterval = 60 + let maxRetryCount: Int = 6 @Atomic internal var eventCount: Int = 0 internal var flushTimer: QueueTimer? @@ -119,7 +119,7 @@ public class EventPipeline { self.currentUpload = nil } self.configuration.offline = true - self.logger?.log(message: "Request failed more than \(self.maxRetryCount) times, marking offline") + self.logger?.error(message: "Request failed more than \(self.maxRetryCount) times, marking offline") } else { // Don't send the next event file if we're being deallocated let nextFileBlock: () -> Void = { [weak self] in @@ -135,7 +135,7 @@ public class EventPipeline { } else { let sendingInterval = min(self.maxRetryInterval, pow(2, Double(failures - 1))) self.uploadsQueue.asyncAfter(deadline: .now() + sendingInterval, execute: nextFileBlock) - self.logger?.debug(message: "Request failed \(failures) times, send next event file in \(sendingInterval) seconds") + self.logger?.error(message: "Request failed \(failures) times, send next event file in \(sendingInterval) seconds") } } } diff --git a/Sources/Amplitude/Utilities/HttpClient.swift b/Sources/Amplitude/Utilities/HttpClient.swift index ac68527..da79d10 100644 --- a/Sources/Amplitude/Utilities/HttpClient.swift +++ b/Sources/Amplitude/Utilities/HttpClient.swift @@ -45,7 +45,7 @@ class HttpClient { let nsError = error as NSError if nsError.domain == NSURLErrorDomain { switch nsError.code { - case NSURLErrorCannotConnectToHost, NSURLErrorNetworkConnectionLost, NSURLErrorCannotFindHost, NSURLErrorAppTransportSecurityRequiresSecureConnection, NSURLErrorNotConnectedToInternet: + case NSURLErrorCannotConnectToHost, NSURLErrorNetworkConnectionLost, NSURLErrorCannotFindHost, NSURLErrorAppTransportSecurityRequiresSecureConnection, NSURLErrorNotConnectedToInternet, NSURLErrorBadURL: logger?.error(message: "Conection failed with error: \(error.localizedDescription), marking offline") configuration.offline = true default: