@@ -63,7 +63,7 @@ public class HTTPClient {
6363
6464 let dataTask = session. uploadTask ( with: urlRequest, fromFile: batch) { [ weak self] ( data, response, error) in
6565 guard let self else { return }
66- handleResponse ( data: data, response: response, error: error, completion: completion)
66+ handleResponse ( data: data, response: response, error: error, url : uploadURL , completion: completion)
6767 }
6868
6969 dataTask. resume ( )
@@ -88,31 +88,31 @@ public class HTTPClient {
8888
8989 let dataTask = session. uploadTask ( with: urlRequest, from: data) { [ weak self] ( data, response, error) in
9090 guard let self else { return }
91- handleResponse ( data: data, response: response, error: error, completion: completion)
91+ handleResponse ( data: data, response: response, error: error, url : uploadURL , completion: completion)
9292 }
9393
9494 dataTask. resume ( )
9595 return dataTask
9696 }
9797
98- private func handleResponse( data: Data ? , response: URLResponse ? , error: Error ? , completion: @escaping ( _ result: Result < Bool , Error > ) -> Void ) {
98+ private func handleResponse( data: Data ? , response: URLResponse ? , error: Error ? , url : URL ? , completion: @escaping ( _ result: Result < Bool , Error > ) -> Void ) {
9999 if let error = error {
100100 analytics? . log ( message: " Error uploading request \( error. localizedDescription) . " )
101- analytics? . reportInternalError ( AnalyticsError . networkUnknown ( error) )
101+ analytics? . reportInternalError ( AnalyticsError . networkUnknown ( url , error) )
102102 completion ( . failure( HTTPClientErrors . unknown ( error: error) ) )
103103 } else if let httpResponse = response as? HTTPURLResponse {
104104 switch ( httpResponse. statusCode) {
105105 case 1 ..< 300 :
106106 completion ( . success( true ) )
107107 return
108108 case 300 ..< 400 :
109- analytics? . reportInternalError ( AnalyticsError . networkUnexpectedHTTPCode ( httpResponse. statusCode) )
109+ analytics? . reportInternalError ( AnalyticsError . networkUnexpectedHTTPCode ( url , httpResponse. statusCode) )
110110 completion ( . failure( HTTPClientErrors . statusCode ( code: httpResponse. statusCode) ) )
111111 case 429 :
112- analytics? . reportInternalError ( AnalyticsError . networkServerLimited ( httpResponse. statusCode) )
112+ analytics? . reportInternalError ( AnalyticsError . networkServerLimited ( url , httpResponse. statusCode) )
113113 completion ( . failure( HTTPClientErrors . statusCode ( code: httpResponse. statusCode) ) )
114114 default :
115- analytics? . reportInternalError ( AnalyticsError . networkServerRejected ( httpResponse. statusCode) )
115+ analytics? . reportInternalError ( AnalyticsError . networkServerRejected ( url , httpResponse. statusCode) )
116116 completion ( . failure( HTTPClientErrors . statusCode ( code: httpResponse. statusCode) ) )
117117 }
118118 }
@@ -128,21 +128,21 @@ public class HTTPClient {
128128
129129 let dataTask = session. dataTask ( with: urlRequest) { [ weak self] ( data, response, error) in
130130 if let error = error {
131- self ? . analytics? . reportInternalError ( AnalyticsError . networkUnknown ( error) )
131+ self ? . analytics? . reportInternalError ( AnalyticsError . settingsFail ( AnalyticsError . networkUnknown ( settingsURL , error) ) )
132132 completion ( false , nil )
133133 return
134134 }
135135
136136 if let httpResponse = response as? HTTPURLResponse {
137137 if httpResponse. statusCode > 300 {
138- self ? . analytics? . reportInternalError ( AnalyticsError . networkUnexpectedHTTPCode ( httpResponse. statusCode) )
138+ self ? . analytics? . reportInternalError ( AnalyticsError . settingsFail ( AnalyticsError . networkUnexpectedHTTPCode ( settingsURL , httpResponse. statusCode) ) )
139139 completion ( false , nil )
140140 return
141141 }
142142 }
143143
144144 guard let data = data else {
145- self ? . analytics? . reportInternalError ( AnalyticsError . networkInvalidData)
145+ self ? . analytics? . reportInternalError ( AnalyticsError . settingsFail ( AnalyticsError . networkInvalidData) )
146146 completion ( false , nil )
147147 return
148148 }
@@ -151,7 +151,7 @@ public class HTTPClient {
151151 let responseJSON = try JSONDecoder . default. decode ( Settings . self, from: data)
152152 completion ( true , responseJSON)
153153 } catch {
154- self ? . analytics? . reportInternalError ( AnalyticsError . jsonUnableToDeserialize ( error) )
154+ self ? . analytics? . reportInternalError ( AnalyticsError . settingsFail ( AnalyticsError . jsonUnableToDeserialize ( error) ) )
155155 completion ( false , nil )
156156 return
157157 }
0 commit comments