Skip to content

Commit 117679a

Browse files
committed
All completion blocks are called in main
1 parent e3e345d commit 117679a

1 file changed

Lines changed: 12 additions & 4 deletions

File tree

Sources/UsefulNetworkLayer/NetworkLayer/NetworkLayer.swift

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -210,24 +210,32 @@ public class NetworkLayer: NSObject, URLSessionDataDelegate {
210210
self.sendLog(message: "Custom error message couldn't be created for Operation: \(operationId)", logType: .info)
211211
}
212212
self.sendLog(message: "HTTP Request failed with status \(statusCode) \(message)", logType: .error(code: statusCode, name: ""))
213-
completion(.failure(.init(request: request, error: message)))
213+
DispatchQueue.main.async {
214+
completion(.failure(.init(request: request, error: message)))
215+
}
214216
return
215217
}
216218

217219
guard data.count > 0 else {
218220
self.sendLog(message: "Data of the response is empty - Ignoring response creation - Operation: \(operationId)", logType: .info)
219-
completion(.success(.init(response: response, responseBody: nil)))
221+
DispatchQueue.main.async {
222+
completion(.success(.init(response: response, responseBody: nil)))
223+
}
220224
return
221225
}
222226

223227
if !request.responseBodyObject.shouldUseCustomInitializer {
224228
do {
225229
let jsonObject = try JSONDecoder().decode(request.responseBodyObject, from: data)
226-
completion(.success(.init(response: response, responseBody: jsonObject)))
230+
DispatchQueue.main.async {
231+
completion(.success(.init(response: response, responseBody: jsonObject)))
232+
}
227233
} catch {
228234
var errorBody = S.init()
229235
errorBody.error = error
230-
completion(.failure(.init(request: request, error: errorBody)))
236+
DispatchQueue.main.async {
237+
completion(.failure(.init(request: request, error: errorBody)))
238+
}
231239
}
232240

233241
return

0 commit comments

Comments
 (0)