Skip to content

Commit 9726ccb

Browse files
authored
Merge pull request #8659 from woocommerce/try/cookie-nonce-authenticator-update
REST API: Custom cookie nonce authenticator
2 parents 7abea8d + d820410 commit 9726ccb

File tree

13 files changed

+279
-105
lines changed

13 files changed

+279
-105
lines changed

Networking/Networking.xcodeproj/project.pbxproj

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -717,6 +717,7 @@
717717
DE50296328C609DE00551736 /* jetpack-user-not-connected.json in Resources */ = {isa = PBXBuildFile; fileRef = DE50296228C609DE00551736 /* jetpack-user-not-connected.json */; };
718718
DE50296528C60A8000551736 /* JetpackUserMapperTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE50296428C60A8000551736 /* JetpackUserMapperTests.swift */; };
719719
DE5CA111288A3E080077BEF9 /* product-malformed-variations-and-image-alt.json in Resources */ = {isa = PBXBuildFile; fileRef = DE5CA110288A3E080077BEF9 /* product-malformed-variations-and-image-alt.json */; };
720+
DE66C5532976508300DAA978 /* CookieNonceAuthenticator.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE66C5522976508300DAA978 /* CookieNonceAuthenticator.swift */; };
720721
DE6F308727966FEF004E1C9A /* CouponReportListMapperTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE6F308627966FEF004E1C9A /* CouponReportListMapperTests.swift */; };
721722
DE74F29A27E08F5A0002FE59 /* SiteSettingMapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE74F29927E08F5A0002FE59 /* SiteSettingMapper.swift */; };
722723
DE74F29C27E0A1D00002FE59 /* setting-coupon.json in Resources */ = {isa = PBXBuildFile; fileRef = DE74F29B27E0A1D00002FE59 /* setting-coupon.json */; };
@@ -753,7 +754,7 @@
753754
DEF13C5E296686AB0024A02B /* orders-load-all-without-data.json in Resources */ = {isa = PBXBuildFile; fileRef = DEF13C5D296686AB0024A02B /* orders-load-all-without-data.json */; };
754755
DEF13C6029668C420024A02B /* order-without-data.json in Resources */ = {isa = PBXBuildFile; fileRef = DEF13C5F29668C420024A02B /* order-without-data.json */; };
755756
DEFBA74E29485A7600C35BA9 /* RESTRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = DEFBA74D29485A7600C35BA9 /* RESTRequest.swift */; };
756-
DEFBA7542949CE6600C35BA9 /* RequestProcessor.swift in Sources */ = {isa = PBXBuildFile; fileRef = DEFBA7532949CE6600C35BA9 /* RequestProcessor.swift */; };
757+
DEFBA7542949CE6600C35BA9 /* ApplicationPasswordRequestProcessor.swift in Sources */ = {isa = PBXBuildFile; fileRef = DEFBA7532949CE6600C35BA9 /* ApplicationPasswordRequestProcessor.swift */; };
757758
DEFBA7562949D17400C35BA9 /* DefaultRequestAuthenticatorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = DEFBA7552949D17300C35BA9 /* DefaultRequestAuthenticatorTests.swift */; };
758759
E12552C526385B05001CEE70 /* ShippingLabelAddressValidationSuccess.swift in Sources */ = {isa = PBXBuildFile; fileRef = E12552C426385B05001CEE70 /* ShippingLabelAddressValidationSuccess.swift */; };
759760
E137619929151C7400FD098F /* error-wp-rest-forbidden.json in Resources */ = {isa = PBXBuildFile; fileRef = E137619829151C7400FD098F /* error-wp-rest-forbidden.json */; };
@@ -780,13 +781,13 @@
780781
EE6FDCFC2966A70400E1CECF /* product-without-data.json in Resources */ = {isa = PBXBuildFile; fileRef = EE6FDCFB2966A70400E1CECF /* product-without-data.json */; };
781782
EE71CC3D2951A8EA0074D908 /* ApplicationPasswordStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE71CC3C2951A8EA0074D908 /* ApplicationPasswordStorage.swift */; };
782783
EE71CC412951CE700074D908 /* generate-application-password-using-wporg-creds-success.json in Resources */ = {isa = PBXBuildFile; fileRef = EE71CC402951CE700074D908 /* generate-application-password-using-wporg-creds-success.json */; };
783-
EE76762F2962B85E000066FA /* RequestProcessorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE76762E2962B85E000066FA /* RequestProcessorTests.swift */; };
784+
EE76762F2962B85E000066FA /* ApplicationPasswordRequestProcessorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE76762E2962B85E000066FA /* ApplicationPasswordRequestProcessorTests.swift */; };
784785
EE80A24729547F8B003591E4 /* coupons-all-without-data.json in Resources */ = {isa = PBXBuildFile; fileRef = EE80A24529547F8B003591E4 /* coupons-all-without-data.json */; };
785786
EE80A24829547F8B003591E4 /* coupon-without-data.json in Resources */ = {isa = PBXBuildFile; fileRef = EE80A24629547F8B003591E4 /* coupon-without-data.json */; };
786787
EE80A25029556FBD003591E4 /* coupon-reports-without-data.json in Resources */ = {isa = PBXBuildFile; fileRef = EE80A24F29556FBD003591E4 /* coupon-reports-without-data.json */; };
787788
EE8A86F1286C5226003E8AA4 /* media-update-product-id-in-wordpress-site.json in Resources */ = {isa = PBXBuildFile; fileRef = EE8A86F0286C5226003E8AA4 /* media-update-product-id-in-wordpress-site.json */; };
788789
EE8DE432294B17CD005054E7 /* DefaultApplicationPasswordUseCaseTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE8DE431294B17CD005054E7 /* DefaultApplicationPasswordUseCaseTests.swift */; };
789-
EE99814E295AA7430074AE68 /* RequestAuthenticator.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE99814D295AA7430074AE68 /* RequestAuthenticator.swift */; };
790+
EE99814E295AA7430074AE68 /* ApplicationPasswordAuthenticator.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE99814D295AA7430074AE68 /* ApplicationPasswordAuthenticator.swift */; };
790791
EE998150295AACE10074AE68 /* RequestConverter.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE99814F295AACE10074AE68 /* RequestConverter.swift */; };
791792
EEA6583E2966B41E00112DF0 /* products-load-all-without-data.json in Resources */ = {isa = PBXBuildFile; fileRef = EEA6583D2966B41E00112DF0 /* products-load-all-without-data.json */; };
792793
EEA658402966C05D00112DF0 /* product-search-sku-without-data.json in Resources */ = {isa = PBXBuildFile; fileRef = EEA6583F2966C05D00112DF0 /* product-search-sku-without-data.json */; };
@@ -1547,6 +1548,7 @@
15471548
DE50296228C609DE00551736 /* jetpack-user-not-connected.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "jetpack-user-not-connected.json"; sourceTree = "<group>"; };
15481549
DE50296428C60A8000551736 /* JetpackUserMapperTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JetpackUserMapperTests.swift; sourceTree = "<group>"; };
15491550
DE5CA110288A3E080077BEF9 /* product-malformed-variations-and-image-alt.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "product-malformed-variations-and-image-alt.json"; sourceTree = "<group>"; };
1551+
DE66C5522976508300DAA978 /* CookieNonceAuthenticator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CookieNonceAuthenticator.swift; sourceTree = "<group>"; };
15501552
DE6F308627966FEF004E1C9A /* CouponReportListMapperTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CouponReportListMapperTests.swift; sourceTree = "<group>"; };
15511553
DE74F29927E08F5A0002FE59 /* SiteSettingMapper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SiteSettingMapper.swift; sourceTree = "<group>"; };
15521554
DE74F29B27E0A1D00002FE59 /* setting-coupon.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "setting-coupon.json"; sourceTree = "<group>"; };
@@ -1583,7 +1585,7 @@
15831585
DEF13C5D296686AB0024A02B /* orders-load-all-without-data.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "orders-load-all-without-data.json"; sourceTree = "<group>"; };
15841586
DEF13C5F29668C420024A02B /* order-without-data.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "order-without-data.json"; sourceTree = "<group>"; };
15851587
DEFBA74D29485A7600C35BA9 /* RESTRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RESTRequest.swift; sourceTree = "<group>"; };
1586-
DEFBA7532949CE6600C35BA9 /* RequestProcessor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RequestProcessor.swift; sourceTree = "<group>"; };
1588+
DEFBA7532949CE6600C35BA9 /* ApplicationPasswordRequestProcessor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ApplicationPasswordRequestProcessor.swift; sourceTree = "<group>"; };
15871589
DEFBA7552949D17300C35BA9 /* DefaultRequestAuthenticatorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DefaultRequestAuthenticatorTests.swift; sourceTree = "<group>"; };
15881590
E12552C426385B05001CEE70 /* ShippingLabelAddressValidationSuccess.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShippingLabelAddressValidationSuccess.swift; sourceTree = "<group>"; };
15891591
E137619829151C7400FD098F /* error-wp-rest-forbidden.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "error-wp-rest-forbidden.json"; sourceTree = "<group>"; };
@@ -1610,13 +1612,13 @@
16101612
EE6FDCFB2966A70400E1CECF /* product-without-data.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "product-without-data.json"; sourceTree = "<group>"; };
16111613
EE71CC3C2951A8EA0074D908 /* ApplicationPasswordStorage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ApplicationPasswordStorage.swift; sourceTree = "<group>"; };
16121614
EE71CC402951CE700074D908 /* generate-application-password-using-wporg-creds-success.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "generate-application-password-using-wporg-creds-success.json"; sourceTree = "<group>"; };
1613-
EE76762E2962B85E000066FA /* RequestProcessorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RequestProcessorTests.swift; sourceTree = "<group>"; };
1615+
EE76762E2962B85E000066FA /* ApplicationPasswordRequestProcessorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ApplicationPasswordRequestProcessorTests.swift; sourceTree = "<group>"; };
16141616
EE80A24529547F8B003591E4 /* coupons-all-without-data.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "coupons-all-without-data.json"; sourceTree = "<group>"; };
16151617
EE80A24629547F8B003591E4 /* coupon-without-data.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "coupon-without-data.json"; sourceTree = "<group>"; };
16161618
EE80A24F29556FBD003591E4 /* coupon-reports-without-data.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "coupon-reports-without-data.json"; sourceTree = "<group>"; };
16171619
EE8A86F0286C5226003E8AA4 /* media-update-product-id-in-wordpress-site.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "media-update-product-id-in-wordpress-site.json"; sourceTree = "<group>"; };
16181620
EE8DE431294B17CD005054E7 /* DefaultApplicationPasswordUseCaseTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DefaultApplicationPasswordUseCaseTests.swift; sourceTree = "<group>"; };
1619-
EE99814D295AA7430074AE68 /* RequestAuthenticator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RequestAuthenticator.swift; sourceTree = "<group>"; };
1621+
EE99814D295AA7430074AE68 /* ApplicationPasswordAuthenticator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ApplicationPasswordAuthenticator.swift; sourceTree = "<group>"; };
16201622
EE99814F295AACE10074AE68 /* RequestConverter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RequestConverter.swift; sourceTree = "<group>"; };
16211623
EEA6583D2966B41E00112DF0 /* products-load-all-without-data.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "products-load-all-without-data.json"; sourceTree = "<group>"; };
16221624
EEA6583F2966C05D00112DF0 /* product-search-sku-without-data.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "product-search-sku-without-data.json"; sourceTree = "<group>"; };
@@ -1955,6 +1957,7 @@
19551957
B557D9E5209753AA005962F4 /* Networking */ = {
19561958
isa = PBXGroup;
19571959
children = (
1960+
DE66C5512976507100DAA978 /* CookieNonce */,
19581961
EE54C899294777D000A9BF61 /* ApplicationPassword */,
19591962
B5A0369F214C0F4C00774E2C /* Internal */,
19601963
B5BB1D0A20A204F400112D92 /* Extensions */,
@@ -2749,6 +2752,14 @@
27492752
path = Product;
27502753
sourceTree = "<group>";
27512754
};
2755+
DE66C5512976507100DAA978 /* CookieNonce */ = {
2756+
isa = PBXGroup;
2757+
children = (
2758+
DE66C5522976508300DAA978 /* CookieNonceAuthenticator.swift */,
2759+
);
2760+
path = CookieNonce;
2761+
sourceTree = "<group>";
2762+
};
27522763
DE97C3902861B8CD0042E973 /* Encoder */ = {
27532764
isa = PBXGroup;
27542765
children = (
@@ -2783,10 +2794,10 @@
27832794
EE54C899294777D000A9BF61 /* ApplicationPassword */ = {
27842795
isa = PBXGroup;
27852796
children = (
2786-
DEFBA7532949CE6600C35BA9 /* RequestProcessor.swift */,
2797+
DEFBA7532949CE6600C35BA9 /* ApplicationPasswordRequestProcessor.swift */,
27872798
EE54C89E2947782E00A9BF61 /* ApplicationPasswordUseCase.swift */,
27882799
EE71CC3C2951A8EA0074D908 /* ApplicationPasswordStorage.swift */,
2789-
EE99814D295AA7430074AE68 /* RequestAuthenticator.swift */,
2800+
EE99814D295AA7430074AE68 /* ApplicationPasswordAuthenticator.swift */,
27902801
EE99814F295AACE10074AE68 /* RequestConverter.swift */,
27912802
);
27922803
path = ApplicationPassword;
@@ -2833,7 +2844,7 @@
28332844
isa = PBXGroup;
28342845
children = (
28352846
EE8DE431294B17CD005054E7 /* DefaultApplicationPasswordUseCaseTests.swift */,
2836-
EE76762E2962B85E000066FA /* RequestProcessorTests.swift */,
2847+
EE76762E2962B85E000066FA /* ApplicationPasswordRequestProcessorTests.swift */,
28372848
);
28382849
path = ApplicationPassword;
28392850
sourceTree = "<group>";
@@ -3334,7 +3345,7 @@
33343345
457A574025D1817E000797AD /* ShippingLabelAddressVerification.swift in Sources */,
33353346
74ABA1D1213F22CA00FFAD30 /* TopEarnersStatsRemote.swift in Sources */,
33363347
DEC51AF127699E7A009F3DF4 /* SystemStatus+Page.swift in Sources */,
3337-
EE99814E295AA7430074AE68 /* RequestAuthenticator.swift in Sources */,
3348+
EE99814E295AA7430074AE68 /* ApplicationPasswordAuthenticator.swift in Sources */,
33383349
025CA2C0238EB8CB00B05C81 /* ProductShippingClass.swift in Sources */,
33393350
02C1CEF424C6A02B00703EBA /* ProductVariationMapper.swift in Sources */,
33403351
3105470C262E27F000C5C02B /* WCPayPaymentIntentStatusEnum.swift in Sources */,
@@ -3349,6 +3360,7 @@
33493360
451A97E9260B657D0059D135 /* ShippingLabelPredefinedOption.swift in Sources */,
33503361
02C2548425635BD000A04423 /* ShippingLabelPaperSize.swift in Sources */,
33513362
CE132BBC223859710029DB6C /* ProductTag.swift in Sources */,
3363+
DE66C5532976508300DAA978 /* CookieNonceAuthenticator.swift in Sources */,
33523364
26650332261FFA1A0079A159 /* ProductAddOnEnvelope.swift in Sources */,
33533365
D88D5A47230BC838007B6E01 /* ProductReview.swift in Sources */,
33543366
DEFBA74E29485A7600C35BA9 /* RESTRequest.swift in Sources */,
@@ -3365,7 +3377,7 @@
33653377
020D07B823D852BB00FD9580 /* Media.swift in Sources */,
33663378
B5BB1D0C20A2050300112D92 /* DateFormatter+Woo.swift in Sources */,
33673379
743E84EE2217244C00FAC9D7 /* ShipmentTrackingListMapper.swift in Sources */,
3368-
DEFBA7542949CE6600C35BA9 /* RequestProcessor.swift in Sources */,
3380+
DEFBA7542949CE6600C35BA9 /* ApplicationPasswordRequestProcessor.swift in Sources */,
33693381
451A97E5260B631E0059D135 /* ShippingLabelPredefinedPackage.swift in Sources */,
33703382
BAB373722795A1FB00837B4A /* OrderTaxLine.swift in Sources */,
33713383
EE54C89F2947782E00A9BF61 /* ApplicationPasswordUseCase.swift in Sources */,
@@ -3757,7 +3769,7 @@
37573769
D800DA0A25EFEB9C001E13CE /* WCPayRemoteTests.swift in Sources */,
37583770
E13BAD5328F8625600217769 /* InAppPurchasesRemoteTests.swift in Sources */,
37593771
CC851D1425E52AB500249E9C /* Decimal+ExtensionsTests.swift in Sources */,
3760-
EE76762F2962B85E000066FA /* RequestProcessorTests.swift in Sources */,
3772+
EE76762F2962B85E000066FA /* ApplicationPasswordRequestProcessorTests.swift in Sources */,
37613773
B554FA8B2180B1D500C54DFF /* NotificationsRemoteTests.swift in Sources */,
37623774
B518662A20A09C6F00037A38 /* OrdersRemoteTests.swift in Sources */,
37633775
02EF166E292F0C5800D90AD6 /* PaymentRemoteTests.swift in Sources */,

Networking/Networking/ApplicationPassword/RequestAuthenticator.swift renamed to Networking/Networking/ApplicationPassword/ApplicationPasswordAuthenticator.swift

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
enum RequestAuthenticatorError: Error {
1+
enum ApplicationPasswordAuthenticatorError: Error {
22
case applicationPasswordUseCaseNotAvailable
33
case applicationPasswordNotAvailable
44
}
55

6-
protocol RequestAuthenticator {
6+
protocol ApplicationPasswordAuthenticator {
77
/// Credentials to authenticate the URLRequest
88
///
99
var credentials: Credentials? { get }
@@ -26,7 +26,7 @@ protocol RequestAuthenticator {
2626

2727
/// Authenticates request
2828
///
29-
public struct DefaultRequestAuthenticator: RequestAuthenticator {
29+
public struct DefaultApplicationPasswordAuthenticator: ApplicationPasswordAuthenticator {
3030
/// Credentials to authenticate the URLRequest
3131
///
3232
let credentials: Credentials?
@@ -71,7 +71,7 @@ public struct DefaultRequestAuthenticator: RequestAuthenticator {
7171
///
7272
func generateApplicationPassword() async throws {
7373
guard let applicationPasswordUseCase else {
74-
throw RequestAuthenticatorError.applicationPasswordUseCaseNotAvailable
74+
throw ApplicationPasswordAuthenticatorError.applicationPasswordUseCaseNotAvailable
7575
}
7676
let _ = try await applicationPasswordUseCase.generateNewPassword()
7777
return
@@ -84,7 +84,7 @@ public struct DefaultRequestAuthenticator: RequestAuthenticator {
8484
}
8585
}
8686

87-
private extension DefaultRequestAuthenticator {
87+
private extension DefaultApplicationPasswordAuthenticator {
8888
/// To check whether the given URLRequest is a REST API request
8989
///
9090
func isRestAPIRequest(_ urlRequest: URLRequest) -> Bool {
@@ -110,7 +110,7 @@ private extension DefaultRequestAuthenticator {
110110
///
111111
func authenticateUsingApplicationPasswordIfPossible(_ urlRequest: URLRequest) throws -> URLRequest {
112112
guard let applicationPassword = applicationPasswordUseCase?.applicationPassword else {
113-
throw RequestAuthenticatorError.applicationPasswordNotAvailable
113+
throw ApplicationPasswordAuthenticatorError.applicationPasswordNotAvailable
114114
}
115115

116116
return AuthenticatedRESTRequest(applicationPassword: applicationPassword, request: urlRequest).asURLRequest()

Networking/Networking/ApplicationPassword/RequestProcessor.swift renamed to Networking/Networking/ApplicationPassword/ApplicationPasswordRequestProcessor.swift

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,29 +3,29 @@ import Foundation
33

44
/// Authenticates and retries requests
55
///
6-
final class RequestProcessor {
6+
final class ApplicationPasswordRequestProcessor {
77
private var requestsToRetry = [RequestRetryCompletion]()
88

99
private var isAuthenticating = false
1010

11-
private let requestAuthenticator: RequestAuthenticator
11+
private let requestAuthenticator: ApplicationPasswordAuthenticator
1212

13-
init(requestAuthenticator: RequestAuthenticator) {
13+
init(requestAuthenticator: ApplicationPasswordAuthenticator) {
1414
self.requestAuthenticator = requestAuthenticator
1515
}
1616
}
1717

1818
// MARK: Request Authentication
1919
//
20-
extension RequestProcessor: RequestAdapter {
20+
extension ApplicationPasswordRequestProcessor: RequestAdapter {
2121
func adapt(_ urlRequest: URLRequest) throws -> URLRequest {
2222
return try requestAuthenticator.authenticate(urlRequest)
2323
}
2424
}
2525

2626
// MARK: Retrying Request
2727
//
28-
extension RequestProcessor: RequestRetrier {
28+
extension ApplicationPasswordRequestProcessor: RequestRetrier {
2929
func should(_ manager: Alamofire.SessionManager,
3030
retry request: Alamofire.Request,
3131
with error: Error,
@@ -48,7 +48,7 @@ extension RequestProcessor: RequestRetrier {
4848

4949
// MARK: Helpers
5050
//
51-
private extension RequestProcessor {
51+
private extension ApplicationPasswordRequestProcessor {
5252
func generateApplicationPassword() {
5353
Task(priority: .medium) {
5454
isAuthenticating = true
@@ -66,7 +66,7 @@ private extension RequestProcessor {
6666

6767
func shouldRetry(_ error: Error) -> Bool {
6868
// Need to generate application password
69-
if .applicationPasswordNotAvailable == error as? RequestAuthenticatorError {
69+
if .applicationPasswordNotAvailable == error as? ApplicationPasswordAuthenticatorError {
7070
return true
7171
}
7272

0 commit comments

Comments
 (0)