Skip to content

Commit 9fc0ffa

Browse files
committed
don't use FailAction, always cancel redirectTask on fail
1 parent 768f1cf commit 9fc0ffa

File tree

2 files changed

+4
-8
lines changed

2 files changed

+4
-8
lines changed

Sources/AsyncHTTPClient/RequestBag+StateMachine.swift

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -594,7 +594,6 @@ extension RequestBag.StateMachine {
594594
enum FailAction {
595595
case failTask(Error, HTTPRequestScheduler?, HTTPRequestExecutor?)
596596
case cancelExecutor(HTTPRequestExecutor)
597-
case propagateCancellation
598597
case none
599598
}
600599

@@ -625,11 +624,8 @@ extension RequestBag.StateMachine {
625624
self.state = .finished(error: error)
626625
return .failTask(error, nil, nil)
627626
case .finished(.none):
628-
if (error as? HTTPClientError) == .cancelled {
629-
return .propagateCancellation
630-
} else {
631-
return .none
632-
}
627+
// An error occurred after the request has finished. Ignore...
628+
return .none
633629
case .deadlineExceededWhileQueued:
634630
let realError: Error = {
635631
if (error as? HTTPClientError) == .cancelled {

Sources/AsyncHTTPClient/RequestBag.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -361,6 +361,8 @@ final class RequestBag<Delegate: HTTPClientResponseDelegate> {
361361
let action = self.state.fail(error)
362362

363363
self.executeFailAction0(action)
364+
365+
self.redirectTask?.cancel()
364366
}
365367

366368
private func executeFailAction0(_ action: RequestBag<Delegate>.StateMachine.FailAction) {
@@ -371,8 +373,6 @@ final class RequestBag<Delegate: HTTPClientResponseDelegate> {
371373
self.failTask0(error)
372374
case .cancelExecutor(let executor):
373375
executor.cancelRequest(self)
374-
case .propagateCancellation:
375-
self.redirectTask?.cancel()
376376
case .none:
377377
break
378378
}

0 commit comments

Comments
 (0)