Skip to content

Commit 1036dc3

Browse files
author
Ruben Nine
committed
Include context also in case of failed response.
1 parent 5a0f464 commit 1036dc3

File tree

4 files changed

+15
-12
lines changed

4 files changed

+15
-12
lines changed

Sources/FilestackSDK/Internal/Operations/UploadOperation.swift

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,8 +107,7 @@ private extension UploadOperation {
107107
self.executeCompleteOperation(using: partsAndEtags, descriptor: descriptor) { (result) in
108108
switch result {
109109
case let .success(response):
110-
let responseWithContext = JSONResponse(response: response, context: self.uploadable)
111-
self.finish(with: .success(responseWithContext))
110+
self.finish(with: .success(response))
112111
case let .failure(error):
113112
self.finish(with: .failure(error))
114113
}

Sources/FilestackSDK/Internal/Uploaders/MultipartUpload.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,10 +152,10 @@ private extension MultipartUpload {
152152
switch operation.result {
153153
case let .success(response):
154154
// Append success JSONResponse to `results`.
155-
results.append(response)
155+
results.append(JSONResponse(using: response, context: uploadable))
156156
case let .failure(error):
157157
// Append error JSONResponse to `results`.
158-
results.append(JSONResponse(error: error))
158+
results.append(JSONResponse(error: error, context: uploadable))
159159
// Substract failed operation's `totalUnitCount` from globalProgress's `totalUnitCount`.
160160
self.masterProgress.totalUnitCount -= operation.progress.totalUnitCount
161161
}

Sources/FilestackSDK/Public/Models/JSONResponse.swift

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,11 @@ public class JSONResponse: NSObject {
3333

3434
// MARK: - Lifecycle
3535

36-
init(request: URLRequest? = nil, response: URLResponse? = nil, data: Data? = nil, error: Swift.Error?) {
36+
init(request: URLRequest? = nil,
37+
response: URLResponse? = nil,
38+
data: Data? = nil,
39+
error: Swift.Error?,
40+
context: Any? = nil) {
3741
self.request = request
3842
self.response = response as? HTTPURLResponse
3943

@@ -44,16 +48,16 @@ public class JSONResponse: NSObject {
4448
}
4549

4650
self.error = error
47-
self.context = nil
51+
self.context = context
4852

4953
super.init()
5054
}
5155

52-
init(response: JSONResponse, context: Any?) {
53-
self.request = response.request
54-
self.response = response.response
55-
self.json = response.json
56-
self.error = response.error
56+
init(using jsonResponse: JSONResponse, context: Any?) {
57+
self.request = jsonResponse.request
58+
self.response = jsonResponse.response
59+
self.json = jsonResponse.json
60+
self.error = jsonResponse.error
5761
self.context = context
5862

5963
super.init()

Tests/FilestackSDKTests/UploadTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ class UploadTests: XCTestCase {
138138
XCTAssertTrue(uploader.progress.isCancelled)
139139

140140
XCTAssertNotNil(response?.error)
141-
XCTAssertNil(response?.context)
141+
XCTAssertEqual(response?.context as? URL, sampleFileURL)
142142
}
143143

144144
func testCancellingStartedUploadWithoutUploadablesShouldCallCompletionHandler() {

0 commit comments

Comments
 (0)