Skip to content

Commit 3aeb7d8

Browse files
committed
[swift6][client] Add new hooks to OpenAPIInterceptor
1 parent 50d146a commit 3aeb7d8

1 file changed

Lines changed: 7 additions & 2 deletions

File tree

samples/client/petstore/swift6/urlsessionLibrary/SwaggerClientTests/SwaggerClient/BearerTokenHandler.swift

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import Foundation
1010
import PetstoreClient
1111

12-
public class BearerOpenAPIInterceptor: OpenAPIInterceptor {
12+
public final class BearerOpenAPIInterceptor: OpenAPIInterceptor {
1313
public init() {}
1414

1515
public func intercept<T>(urlRequest: URLRequest, urlSession: URLSessionProtocol, requestBuilder: RequestBuilder<T>, completion: @escaping (Result<URLRequest, any Error>) -> Void) {
@@ -54,7 +54,12 @@ public class BearerOpenAPIInterceptor: OpenAPIInterceptor {
5454
}
5555
}
5656

57-
private var bearerToken: String? = nil
57+
private let lock = NSRecursiveLock()
58+
nonisolated(unsafe) private var _bearerToken: String? = nil
59+
private var bearerToken: String? {
60+
get { lock.withLock { _bearerToken } }
61+
set { lock.withLock { _bearerToken = newValue } }
62+
}
5863

5964
func refreshTokenIfDoesntExist(completionHandler: @escaping (String) -> Void) {
6065
if let bearerToken = bearerToken {

0 commit comments

Comments
 (0)