From 1e66f2fbc9eb67a7ff463eeb486e0bdfe0abb3b0 Mon Sep 17 00:00:00 2001 From: Bruno Coelho <4brunu@users.noreply.github.com> Date: Tue, 11 Oct 2022 11:08:15 +0100 Subject: [PATCH] [swift][client] fix xcode warning (#13647) * [swift][client] fix xcode warning * [swift][client] fix xcode warning --- .../src/main/resources/swift5/Models.mustache | 11 +- .../src/main/resources/swift5/api.mustache | 9 +- .../Classes/OpenAPIs/Models.swift | 5 + .../OpenAPIs/APIs/AnotherFakeAPI.swift | 9 +- .../Classes/OpenAPIs/APIs/FakeAPI.swift | 108 ++++++++++-------- .../APIs/FakeClassnameTags123API.swift | 9 +- .../Classes/OpenAPIs/APIs/PetAPI.swift | 81 +++++++------ .../Classes/OpenAPIs/APIs/StoreAPI.swift | 36 +++--- .../Classes/OpenAPIs/APIs/UserAPI.swift | 72 ++++++------ .../Classes/OpenAPIs/Models.swift | 7 +- .../Classes/OpenAPIs/Models.swift | 5 + .../Classes/OpenAPIs/Models.swift | 5 + .../Classes/OpenAPIs/Models.swift | 5 + .../Classes/OpenAPIs/Models.swift | 5 + .../Classes/OpenAPIs/Models.swift | 5 + .../Classes/OpenAPIs/Models.swift | 5 + .../Classes/OpenAPIs/Models.swift | 5 + .../Classes/OpenAPIs/Models.swift | 5 + .../Classes/OpenAPIs/Models.swift | 5 + .../Classes/OpenAPIs/Models.swift | 5 + .../Classes/OpenAPIs/Models.swift | 5 + .../Sources/PetstoreClient/Models.swift | 5 + .../Classes/OpenAPIs/Models.swift | 5 + 23 files changed, 266 insertions(+), 146 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/swift5/Models.mustache b/modules/openapi-generator/src/main/resources/swift5/Models.mustache index 989103d11f7..776a36f9236 100644 --- a/modules/openapi-generator/src/main/resources/swift5/Models.mustache +++ b/modules/openapi-generator/src/main/resources/swift5/Models.mustache @@ -106,15 +106,20 @@ extension NullEncodable: Codable where Wrapped: Codable { } } -{{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} final class RequestTask { +{{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} final class RequestTask{{#useAsyncAwait}}: @unchecked Sendable{{/useAsyncAwait}} { + private var lock = NSRecursiveLock() {{#useAlamofire}} private var request: Request? internal func set(request: Request) { + lock.lock() + defer { lock.unlock() } self.request = request } {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} func cancel() { + lock.lock() + defer { lock.unlock() } request?.cancel() request = nil } @@ -123,10 +128,14 @@ extension NullEncodable: Codable where Wrapped: Codable { private var task: URLSessionTask? internal func set(task: URLSessionTask) { + lock.lock() + defer { lock.unlock() } self.task = task } {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}public{{/nonPublicApi}} func cancel() { + lock.lock() + defer { lock.unlock() } task?.cancel() task = nil } diff --git a/modules/openapi-generator/src/main/resources/swift5/api.mustache b/modules/openapi-generator/src/main/resources/swift5/api.mustache index 6021e7fb763..8ae155fc073 100644 --- a/modules/openapi-generator/src/main/resources/swift5/api.mustache +++ b/modules/openapi-generator/src/main/resources/swift5/api.mustache @@ -211,7 +211,8 @@ extension {{projectName}}API { {{/isDeprecated}} @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) {{#nonPublicApi}}internal{{/nonPublicApi}}{{^nonPublicApi}}open{{/nonPublicApi}} class func {{operationId}}({{#allParams}}{{paramName}}: {{#isEnum}}{{#isContainer}}[{{enumName}}_{{operationId}}]{{/isContainer}}{{^isContainer}}{{enumName}}_{{operationId}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}? = nil{{/required}}{{^-last}}, {{/-last}}{{/allParams}}) async throws{{#returnType}} -> {{{returnType}}}{{#returnType}}{{#isResponseOptional}}?{{/isResponseOptional}}{{/returnType}}{{/returnType}} { - var requestTask: RequestTask? + let requestBuilder = {{operationId}}WithRequestBuilder({{#allParams}}{{paramName}}: {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}) + let requestTask = requestBuilder.requestTask return try await withTaskCancellationHandler { try Task.checkCancellation() return try await withCheckedThrowingContinuation { continuation in @@ -220,7 +221,7 @@ extension {{projectName}}API { return } - requestTask = {{operationId}}WithRequestBuilder({{#allParams}}{{paramName}}: {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}).execute { result in + requestBuilder.execute { result in switch result { {{#returnType}} case let .success(response): @@ -235,8 +236,8 @@ extension {{projectName}}API { } } } - } onCancel: { [requestTask] in - requestTask?.cancel() + } onCancel: { + requestTask.cancel() } } {{/useAsyncAwait}} diff --git a/samples/client/petstore/swift5/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift b/samples/client/petstore/swift5/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift index f950dbd27f6..28189fb486d 100644 --- a/samples/client/petstore/swift5/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift +++ b/samples/client/petstore/swift5/alamofireLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift @@ -107,13 +107,18 @@ open class Response { } public final class RequestTask { + private var lock = NSRecursiveLock() private var request: Request? internal func set(request: Request) { + lock.lock() + defer { lock.unlock() } self.request = request } public func cancel() { + lock.lock() + defer { lock.unlock() } request?.cancel() request = nil } diff --git a/samples/client/petstore/swift5/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift b/samples/client/petstore/swift5/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift index 5c45ba718d9..367592cea4d 100644 --- a/samples/client/petstore/swift5/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift +++ b/samples/client/petstore/swift5/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/AnotherFakeAPI.swift @@ -20,7 +20,8 @@ open class AnotherFakeAPI { */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func call123testSpecialTags(body: Client) async throws -> Client { - var requestTask: RequestTask? + let requestBuilder = call123testSpecialTagsWithRequestBuilder(body: body) + let requestTask = requestBuilder.requestTask return try await withTaskCancellationHandler { try Task.checkCancellation() return try await withCheckedThrowingContinuation { continuation in @@ -29,7 +30,7 @@ open class AnotherFakeAPI { return } - requestTask = call123testSpecialTagsWithRequestBuilder(body: body).execute { result in + requestBuilder.execute { result in switch result { case let .success(response): continuation.resume(returning: response.body) @@ -38,8 +39,8 @@ open class AnotherFakeAPI { } } } - } onCancel: { [requestTask] in - requestTask?.cancel() + } onCancel: { + requestTask.cancel() } } diff --git a/samples/client/petstore/swift5/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift b/samples/client/petstore/swift5/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift index bb164b6e432..3e34a66f7df 100644 --- a/samples/client/petstore/swift5/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift +++ b/samples/client/petstore/swift5/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeAPI.swift @@ -19,7 +19,8 @@ open class FakeAPI { */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func fakeOuterBooleanSerialize(body: Bool? = nil) async throws -> Bool { - var requestTask: RequestTask? + let requestBuilder = fakeOuterBooleanSerializeWithRequestBuilder(body: body) + let requestTask = requestBuilder.requestTask return try await withTaskCancellationHandler { try Task.checkCancellation() return try await withCheckedThrowingContinuation { continuation in @@ -28,7 +29,7 @@ open class FakeAPI { return } - requestTask = fakeOuterBooleanSerializeWithRequestBuilder(body: body).execute { result in + requestBuilder.execute { result in switch result { case let .success(response): continuation.resume(returning: response.body) @@ -37,8 +38,8 @@ open class FakeAPI { } } } - } onCancel: { [requestTask] in - requestTask?.cancel() + } onCancel: { + requestTask.cancel() } } @@ -73,7 +74,8 @@ open class FakeAPI { */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func fakeOuterCompositeSerialize(body: OuterComposite? = nil) async throws -> OuterComposite { - var requestTask: RequestTask? + let requestBuilder = fakeOuterCompositeSerializeWithRequestBuilder(body: body) + let requestTask = requestBuilder.requestTask return try await withTaskCancellationHandler { try Task.checkCancellation() return try await withCheckedThrowingContinuation { continuation in @@ -82,7 +84,7 @@ open class FakeAPI { return } - requestTask = fakeOuterCompositeSerializeWithRequestBuilder(body: body).execute { result in + requestBuilder.execute { result in switch result { case let .success(response): continuation.resume(returning: response.body) @@ -91,8 +93,8 @@ open class FakeAPI { } } } - } onCancel: { [requestTask] in - requestTask?.cancel() + } onCancel: { + requestTask.cancel() } } @@ -127,7 +129,8 @@ open class FakeAPI { */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func fakeOuterNumberSerialize(body: Double? = nil) async throws -> Double { - var requestTask: RequestTask? + let requestBuilder = fakeOuterNumberSerializeWithRequestBuilder(body: body) + let requestTask = requestBuilder.requestTask return try await withTaskCancellationHandler { try Task.checkCancellation() return try await withCheckedThrowingContinuation { continuation in @@ -136,7 +139,7 @@ open class FakeAPI { return } - requestTask = fakeOuterNumberSerializeWithRequestBuilder(body: body).execute { result in + requestBuilder.execute { result in switch result { case let .success(response): continuation.resume(returning: response.body) @@ -145,8 +148,8 @@ open class FakeAPI { } } } - } onCancel: { [requestTask] in - requestTask?.cancel() + } onCancel: { + requestTask.cancel() } } @@ -181,7 +184,8 @@ open class FakeAPI { */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func fakeOuterStringSerialize(body: String? = nil) async throws -> String { - var requestTask: RequestTask? + let requestBuilder = fakeOuterStringSerializeWithRequestBuilder(body: body) + let requestTask = requestBuilder.requestTask return try await withTaskCancellationHandler { try Task.checkCancellation() return try await withCheckedThrowingContinuation { continuation in @@ -190,7 +194,7 @@ open class FakeAPI { return } - requestTask = fakeOuterStringSerializeWithRequestBuilder(body: body).execute { result in + requestBuilder.execute { result in switch result { case let .success(response): continuation.resume(returning: response.body) @@ -199,8 +203,8 @@ open class FakeAPI { } } } - } onCancel: { [requestTask] in - requestTask?.cancel() + } onCancel: { + requestTask.cancel() } } @@ -235,7 +239,8 @@ open class FakeAPI { */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func testBodyWithFileSchema(body: FileSchemaTestClass) async throws { - var requestTask: RequestTask? + let requestBuilder = testBodyWithFileSchemaWithRequestBuilder(body: body) + let requestTask = requestBuilder.requestTask return try await withTaskCancellationHandler { try Task.checkCancellation() return try await withCheckedThrowingContinuation { continuation in @@ -244,7 +249,7 @@ open class FakeAPI { return } - requestTask = testBodyWithFileSchemaWithRequestBuilder(body: body).execute { result in + requestBuilder.execute { result in switch result { case .success: continuation.resume(returning: ()) @@ -253,8 +258,8 @@ open class FakeAPI { } } } - } onCancel: { [requestTask] in - requestTask?.cancel() + } onCancel: { + requestTask.cancel() } } @@ -290,7 +295,8 @@ open class FakeAPI { */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func testBodyWithQueryParams(query: String, body: User) async throws { - var requestTask: RequestTask? + let requestBuilder = testBodyWithQueryParamsWithRequestBuilder(query: query, body: body) + let requestTask = requestBuilder.requestTask return try await withTaskCancellationHandler { try Task.checkCancellation() return try await withCheckedThrowingContinuation { continuation in @@ -299,7 +305,7 @@ open class FakeAPI { return } - requestTask = testBodyWithQueryParamsWithRequestBuilder(query: query, body: body).execute { result in + requestBuilder.execute { result in switch result { case .success: continuation.resume(returning: ()) @@ -308,8 +314,8 @@ open class FakeAPI { } } } - } onCancel: { [requestTask] in - requestTask?.cancel() + } onCancel: { + requestTask.cancel() } } @@ -348,7 +354,8 @@ open class FakeAPI { */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func testClientModel(body: Client) async throws -> Client { - var requestTask: RequestTask? + let requestBuilder = testClientModelWithRequestBuilder(body: body) + let requestTask = requestBuilder.requestTask return try await withTaskCancellationHandler { try Task.checkCancellation() return try await withCheckedThrowingContinuation { continuation in @@ -357,7 +364,7 @@ open class FakeAPI { return } - requestTask = testClientModelWithRequestBuilder(body: body).execute { result in + requestBuilder.execute { result in switch result { case let .success(response): continuation.resume(returning: response.body) @@ -366,8 +373,8 @@ open class FakeAPI { } } } - } onCancel: { [requestTask] in - requestTask?.cancel() + } onCancel: { + requestTask.cancel() } } @@ -417,7 +424,8 @@ open class FakeAPI { */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func testEndpointParameters(number: Double, double: Double, patternWithoutDelimiter: String, byte: Data, integer: Int? = nil, int32: Int? = nil, int64: Int64? = nil, float: Float? = nil, string: String? = nil, binary: URL? = nil, date: Date? = nil, dateTime: Date? = nil, password: String? = nil, callback: String? = nil) async throws { - var requestTask: RequestTask? + let requestBuilder = testEndpointParametersWithRequestBuilder(number: number, double: double, patternWithoutDelimiter: patternWithoutDelimiter, byte: byte, integer: integer, int32: int32, int64: int64, float: float, string: string, binary: binary, date: date, dateTime: dateTime, password: password, callback: callback) + let requestTask = requestBuilder.requestTask return try await withTaskCancellationHandler { try Task.checkCancellation() return try await withCheckedThrowingContinuation { continuation in @@ -426,7 +434,7 @@ open class FakeAPI { return } - requestTask = testEndpointParametersWithRequestBuilder(number: number, double: double, patternWithoutDelimiter: patternWithoutDelimiter, byte: byte, integer: integer, int32: int32, int64: int64, float: float, string: string, binary: binary, date: date, dateTime: dateTime, password: password, callback: callback).execute { result in + requestBuilder.execute { result in switch result { case .success: continuation.resume(returning: ()) @@ -435,8 +443,8 @@ open class FakeAPI { } } } - } onCancel: { [requestTask] in - requestTask?.cancel() + } onCancel: { + requestTask.cancel() } } @@ -581,7 +589,8 @@ open class FakeAPI { */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func testEnumParameters(enumHeaderStringArray: [EnumHeaderStringArray_testEnumParameters]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [EnumQueryStringArray_testEnumParameters]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [EnumFormStringArray_testEnumParameters]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil) async throws { - var requestTask: RequestTask? + let requestBuilder = testEnumParametersWithRequestBuilder(enumHeaderStringArray: enumHeaderStringArray, enumHeaderString: enumHeaderString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble, enumFormStringArray: enumFormStringArray, enumFormString: enumFormString) + let requestTask = requestBuilder.requestTask return try await withTaskCancellationHandler { try Task.checkCancellation() return try await withCheckedThrowingContinuation { continuation in @@ -590,7 +599,7 @@ open class FakeAPI { return } - requestTask = testEnumParametersWithRequestBuilder(enumHeaderStringArray: enumHeaderStringArray, enumHeaderString: enumHeaderString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble, enumFormStringArray: enumFormStringArray, enumFormString: enumFormString).execute { result in + requestBuilder.execute { result in switch result { case .success: continuation.resume(returning: ()) @@ -599,8 +608,8 @@ open class FakeAPI { } } } - } onCancel: { [requestTask] in - requestTask?.cancel() + } onCancel: { + requestTask.cancel() } } @@ -663,7 +672,8 @@ open class FakeAPI { */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func testGroupParameters(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil) async throws { - var requestTask: RequestTask? + let requestBuilder = testGroupParametersWithRequestBuilder(requiredStringGroup: requiredStringGroup, requiredBooleanGroup: requiredBooleanGroup, requiredInt64Group: requiredInt64Group, stringGroup: stringGroup, booleanGroup: booleanGroup, int64Group: int64Group) + let requestTask = requestBuilder.requestTask return try await withTaskCancellationHandler { try Task.checkCancellation() return try await withCheckedThrowingContinuation { continuation in @@ -672,7 +682,7 @@ open class FakeAPI { return } - requestTask = testGroupParametersWithRequestBuilder(requiredStringGroup: requiredStringGroup, requiredBooleanGroup: requiredBooleanGroup, requiredInt64Group: requiredInt64Group, stringGroup: stringGroup, booleanGroup: booleanGroup, int64Group: int64Group).execute { result in + requestBuilder.execute { result in switch result { case .success: continuation.resume(returning: ()) @@ -681,8 +691,8 @@ open class FakeAPI { } } } - } onCancel: { [requestTask] in - requestTask?.cancel() + } onCancel: { + requestTask.cancel() } } @@ -731,7 +741,8 @@ open class FakeAPI { */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func testInlineAdditionalProperties(param: [String: String]) async throws { - var requestTask: RequestTask? + let requestBuilder = testInlineAdditionalPropertiesWithRequestBuilder(param: param) + let requestTask = requestBuilder.requestTask return try await withTaskCancellationHandler { try Task.checkCancellation() return try await withCheckedThrowingContinuation { continuation in @@ -740,7 +751,7 @@ open class FakeAPI { return } - requestTask = testInlineAdditionalPropertiesWithRequestBuilder(param: param).execute { result in + requestBuilder.execute { result in switch result { case .success: continuation.resume(returning: ()) @@ -749,8 +760,8 @@ open class FakeAPI { } } } - } onCancel: { [requestTask] in - requestTask?.cancel() + } onCancel: { + requestTask.cancel() } } @@ -787,7 +798,8 @@ open class FakeAPI { */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func testJsonFormData(param: String, param2: String) async throws { - var requestTask: RequestTask? + let requestBuilder = testJsonFormDataWithRequestBuilder(param: param, param2: param2) + let requestTask = requestBuilder.requestTask return try await withTaskCancellationHandler { try Task.checkCancellation() return try await withCheckedThrowingContinuation { continuation in @@ -796,7 +808,7 @@ open class FakeAPI { return } - requestTask = testJsonFormDataWithRequestBuilder(param: param, param2: param2).execute { result in + requestBuilder.execute { result in switch result { case .success: continuation.resume(returning: ()) @@ -805,8 +817,8 @@ open class FakeAPI { } } } - } onCancel: { [requestTask] in - requestTask?.cancel() + } onCancel: { + requestTask.cancel() } } diff --git a/samples/client/petstore/swift5/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift b/samples/client/petstore/swift5/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift index 74975561bb0..d6a2f24469c 100644 --- a/samples/client/petstore/swift5/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift +++ b/samples/client/petstore/swift5/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/FakeClassnameTags123API.swift @@ -20,7 +20,8 @@ open class FakeClassnameTags123API { */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func testClassname(body: Client) async throws -> Client { - var requestTask: RequestTask? + let requestBuilder = testClassnameWithRequestBuilder(body: body) + let requestTask = requestBuilder.requestTask return try await withTaskCancellationHandler { try Task.checkCancellation() return try await withCheckedThrowingContinuation { continuation in @@ -29,7 +30,7 @@ open class FakeClassnameTags123API { return } - requestTask = testClassnameWithRequestBuilder(body: body).execute { result in + requestBuilder.execute { result in switch result { case let .success(response): continuation.resume(returning: response.body) @@ -38,8 +39,8 @@ open class FakeClassnameTags123API { } } } - } onCancel: { [requestTask] in - requestTask?.cancel() + } onCancel: { + requestTask.cancel() } } diff --git a/samples/client/petstore/swift5/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift b/samples/client/petstore/swift5/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift index 5a3ff6c4600..9c86f63bd84 100644 --- a/samples/client/petstore/swift5/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift +++ b/samples/client/petstore/swift5/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/PetAPI.swift @@ -20,7 +20,8 @@ open class PetAPI { */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func addPet(body: Pet) async throws { - var requestTask: RequestTask? + let requestBuilder = addPetWithRequestBuilder(body: body) + let requestTask = requestBuilder.requestTask return try await withTaskCancellationHandler { try Task.checkCancellation() return try await withCheckedThrowingContinuation { continuation in @@ -29,7 +30,7 @@ open class PetAPI { return } - requestTask = addPetWithRequestBuilder(body: body).execute { result in + requestBuilder.execute { result in switch result { case .success: continuation.resume(returning: ()) @@ -38,8 +39,8 @@ open class PetAPI { } } } - } onCancel: { [requestTask] in - requestTask?.cancel() + } onCancel: { + requestTask.cancel() } } @@ -82,7 +83,8 @@ open class PetAPI { */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func deletePet(petId: Int64, apiKey: String? = nil) async throws { - var requestTask: RequestTask? + let requestBuilder = deletePetWithRequestBuilder(petId: petId, apiKey: apiKey) + let requestTask = requestBuilder.requestTask return try await withTaskCancellationHandler { try Task.checkCancellation() return try await withCheckedThrowingContinuation { continuation in @@ -91,7 +93,7 @@ open class PetAPI { return } - requestTask = deletePetWithRequestBuilder(petId: petId, apiKey: apiKey).execute { result in + requestBuilder.execute { result in switch result { case .success: continuation.resume(returning: ()) @@ -100,8 +102,8 @@ open class PetAPI { } } } - } onCancel: { [requestTask] in - requestTask?.cancel() + } onCancel: { + requestTask.cancel() } } @@ -153,7 +155,8 @@ open class PetAPI { */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func findPetsByStatus(status: [Status_findPetsByStatus]) async throws -> [Pet] { - var requestTask: RequestTask? + let requestBuilder = findPetsByStatusWithRequestBuilder(status: status) + let requestTask = requestBuilder.requestTask return try await withTaskCancellationHandler { try Task.checkCancellation() return try await withCheckedThrowingContinuation { continuation in @@ -162,7 +165,7 @@ open class PetAPI { return } - requestTask = findPetsByStatusWithRequestBuilder(status: status).execute { result in + requestBuilder.execute { result in switch result { case let .success(response): continuation.resume(returning: response.body) @@ -171,8 +174,8 @@ open class PetAPI { } } } - } onCancel: { [requestTask] in - requestTask?.cancel() + } onCancel: { + requestTask.cancel() } } @@ -216,7 +219,8 @@ open class PetAPI { @available(*, deprecated, message: "This operation is deprecated.") @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func findPetsByTags(tags: [String]) async throws -> [Pet] { - var requestTask: RequestTask? + let requestBuilder = findPetsByTagsWithRequestBuilder(tags: tags) + let requestTask = requestBuilder.requestTask return try await withTaskCancellationHandler { try Task.checkCancellation() return try await withCheckedThrowingContinuation { continuation in @@ -225,7 +229,7 @@ open class PetAPI { return } - requestTask = findPetsByTagsWithRequestBuilder(tags: tags).execute { result in + requestBuilder.execute { result in switch result { case let .success(response): continuation.resume(returning: response.body) @@ -234,8 +238,8 @@ open class PetAPI { } } } - } onCancel: { [requestTask] in - requestTask?.cancel() + } onCancel: { + requestTask.cancel() } } @@ -279,7 +283,8 @@ open class PetAPI { */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func getPetById(petId: Int64) async throws -> Pet { - var requestTask: RequestTask? + let requestBuilder = getPetByIdWithRequestBuilder(petId: petId) + let requestTask = requestBuilder.requestTask return try await withTaskCancellationHandler { try Task.checkCancellation() return try await withCheckedThrowingContinuation { continuation in @@ -288,7 +293,7 @@ open class PetAPI { return } - requestTask = getPetByIdWithRequestBuilder(petId: petId).execute { result in + requestBuilder.execute { result in switch result { case let .success(response): continuation.resume(returning: response.body) @@ -297,8 +302,8 @@ open class PetAPI { } } } - } onCancel: { [requestTask] in - requestTask?.cancel() + } onCancel: { + requestTask.cancel() } } @@ -341,7 +346,8 @@ open class PetAPI { */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func updatePet(body: Pet) async throws { - var requestTask: RequestTask? + let requestBuilder = updatePetWithRequestBuilder(body: body) + let requestTask = requestBuilder.requestTask return try await withTaskCancellationHandler { try Task.checkCancellation() return try await withCheckedThrowingContinuation { continuation in @@ -350,7 +356,7 @@ open class PetAPI { return } - requestTask = updatePetWithRequestBuilder(body: body).execute { result in + requestBuilder.execute { result in switch result { case .success: continuation.resume(returning: ()) @@ -359,8 +365,8 @@ open class PetAPI { } } } - } onCancel: { [requestTask] in - requestTask?.cancel() + } onCancel: { + requestTask.cancel() } } @@ -401,7 +407,8 @@ open class PetAPI { */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func updatePetWithForm(petId: Int64, name: String? = nil, status: String? = nil) async throws { - var requestTask: RequestTask? + let requestBuilder = updatePetWithFormWithRequestBuilder(petId: petId, name: name, status: status) + let requestTask = requestBuilder.requestTask return try await withTaskCancellationHandler { try Task.checkCancellation() return try await withCheckedThrowingContinuation { continuation in @@ -410,7 +417,7 @@ open class PetAPI { return } - requestTask = updatePetWithFormWithRequestBuilder(petId: petId, name: name, status: status).execute { result in + requestBuilder.execute { result in switch result { case .success: continuation.resume(returning: ()) @@ -419,8 +426,8 @@ open class PetAPI { } } } - } onCancel: { [requestTask] in - requestTask?.cancel() + } onCancel: { + requestTask.cancel() } } @@ -472,7 +479,8 @@ open class PetAPI { */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func uploadFile(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil) async throws -> ApiResponse { - var requestTask: RequestTask? + let requestBuilder = uploadFileWithRequestBuilder(petId: petId, additionalMetadata: additionalMetadata, file: file) + let requestTask = requestBuilder.requestTask return try await withTaskCancellationHandler { try Task.checkCancellation() return try await withCheckedThrowingContinuation { continuation in @@ -481,7 +489,7 @@ open class PetAPI { return } - requestTask = uploadFileWithRequestBuilder(petId: petId, additionalMetadata: additionalMetadata, file: file).execute { result in + requestBuilder.execute { result in switch result { case let .success(response): continuation.resume(returning: response.body) @@ -490,8 +498,8 @@ open class PetAPI { } } } - } onCancel: { [requestTask] in - requestTask?.cancel() + } onCancel: { + requestTask.cancel() } } @@ -543,7 +551,8 @@ open class PetAPI { */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func uploadFileWithRequiredFile(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil) async throws -> ApiResponse { - var requestTask: RequestTask? + let requestBuilder = uploadFileWithRequiredFileWithRequestBuilder(petId: petId, requiredFile: requiredFile, additionalMetadata: additionalMetadata) + let requestTask = requestBuilder.requestTask return try await withTaskCancellationHandler { try Task.checkCancellation() return try await withCheckedThrowingContinuation { continuation in @@ -552,7 +561,7 @@ open class PetAPI { return } - requestTask = uploadFileWithRequiredFileWithRequestBuilder(petId: petId, requiredFile: requiredFile, additionalMetadata: additionalMetadata).execute { result in + requestBuilder.execute { result in switch result { case let .success(response): continuation.resume(returning: response.body) @@ -561,8 +570,8 @@ open class PetAPI { } } } - } onCancel: { [requestTask] in - requestTask?.cancel() + } onCancel: { + requestTask.cancel() } } diff --git a/samples/client/petstore/swift5/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift b/samples/client/petstore/swift5/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift index 872314015ad..503083b5df3 100644 --- a/samples/client/petstore/swift5/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift +++ b/samples/client/petstore/swift5/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/StoreAPI.swift @@ -20,7 +20,8 @@ open class StoreAPI { */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func deleteOrder(orderId: String) async throws { - var requestTask: RequestTask? + let requestBuilder = deleteOrderWithRequestBuilder(orderId: orderId) + let requestTask = requestBuilder.requestTask return try await withTaskCancellationHandler { try Task.checkCancellation() return try await withCheckedThrowingContinuation { continuation in @@ -29,7 +30,7 @@ open class StoreAPI { return } - requestTask = deleteOrderWithRequestBuilder(orderId: orderId).execute { result in + requestBuilder.execute { result in switch result { case .success: continuation.resume(returning: ()) @@ -38,8 +39,8 @@ open class StoreAPI { } } } - } onCancel: { [requestTask] in - requestTask?.cancel() + } onCancel: { + requestTask.cancel() } } @@ -78,7 +79,8 @@ open class StoreAPI { */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func getInventory() async throws -> [String: Int] { - var requestTask: RequestTask? + let requestBuilder = getInventoryWithRequestBuilder() + let requestTask = requestBuilder.requestTask return try await withTaskCancellationHandler { try Task.checkCancellation() return try await withCheckedThrowingContinuation { continuation in @@ -87,7 +89,7 @@ open class StoreAPI { return } - requestTask = getInventoryWithRequestBuilder().execute { result in + requestBuilder.execute { result in switch result { case let .success(response): continuation.resume(returning: response.body) @@ -96,8 +98,8 @@ open class StoreAPI { } } } - } onCancel: { [requestTask] in - requestTask?.cancel() + } onCancel: { + requestTask.cancel() } } @@ -136,7 +138,8 @@ open class StoreAPI { */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func getOrderById(orderId: Int64) async throws -> Order { - var requestTask: RequestTask? + let requestBuilder = getOrderByIdWithRequestBuilder(orderId: orderId) + let requestTask = requestBuilder.requestTask return try await withTaskCancellationHandler { try Task.checkCancellation() return try await withCheckedThrowingContinuation { continuation in @@ -145,7 +148,7 @@ open class StoreAPI { return } - requestTask = getOrderByIdWithRequestBuilder(orderId: orderId).execute { result in + requestBuilder.execute { result in switch result { case let .success(response): continuation.resume(returning: response.body) @@ -154,8 +157,8 @@ open class StoreAPI { } } } - } onCancel: { [requestTask] in - requestTask?.cancel() + } onCancel: { + requestTask.cancel() } } @@ -195,7 +198,8 @@ open class StoreAPI { */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func placeOrder(body: Order) async throws -> Order { - var requestTask: RequestTask? + let requestBuilder = placeOrderWithRequestBuilder(body: body) + let requestTask = requestBuilder.requestTask return try await withTaskCancellationHandler { try Task.checkCancellation() return try await withCheckedThrowingContinuation { continuation in @@ -204,7 +208,7 @@ open class StoreAPI { return } - requestTask = placeOrderWithRequestBuilder(body: body).execute { result in + requestBuilder.execute { result in switch result { case let .success(response): continuation.resume(returning: response.body) @@ -213,8 +217,8 @@ open class StoreAPI { } } } - } onCancel: { [requestTask] in - requestTask?.cancel() + } onCancel: { + requestTask.cancel() } } diff --git a/samples/client/petstore/swift5/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift b/samples/client/petstore/swift5/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift index bdad4d220b9..19c707b3ee1 100644 --- a/samples/client/petstore/swift5/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift +++ b/samples/client/petstore/swift5/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/APIs/UserAPI.swift @@ -20,7 +20,8 @@ open class UserAPI { */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func createUser(body: User) async throws { - var requestTask: RequestTask? + let requestBuilder = createUserWithRequestBuilder(body: body) + let requestTask = requestBuilder.requestTask return try await withTaskCancellationHandler { try Task.checkCancellation() return try await withCheckedThrowingContinuation { continuation in @@ -29,7 +30,7 @@ open class UserAPI { return } - requestTask = createUserWithRequestBuilder(body: body).execute { result in + requestBuilder.execute { result in switch result { case .success: continuation.resume(returning: ()) @@ -38,8 +39,8 @@ open class UserAPI { } } } - } onCancel: { [requestTask] in - requestTask?.cancel() + } onCancel: { + requestTask.cancel() } } @@ -76,7 +77,8 @@ open class UserAPI { */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func createUsersWithArrayInput(body: [User]) async throws { - var requestTask: RequestTask? + let requestBuilder = createUsersWithArrayInputWithRequestBuilder(body: body) + let requestTask = requestBuilder.requestTask return try await withTaskCancellationHandler { try Task.checkCancellation() return try await withCheckedThrowingContinuation { continuation in @@ -85,7 +87,7 @@ open class UserAPI { return } - requestTask = createUsersWithArrayInputWithRequestBuilder(body: body).execute { result in + requestBuilder.execute { result in switch result { case .success: continuation.resume(returning: ()) @@ -94,8 +96,8 @@ open class UserAPI { } } } - } onCancel: { [requestTask] in - requestTask?.cancel() + } onCancel: { + requestTask.cancel() } } @@ -131,7 +133,8 @@ open class UserAPI { */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func createUsersWithListInput(body: [User]) async throws { - var requestTask: RequestTask? + let requestBuilder = createUsersWithListInputWithRequestBuilder(body: body) + let requestTask = requestBuilder.requestTask return try await withTaskCancellationHandler { try Task.checkCancellation() return try await withCheckedThrowingContinuation { continuation in @@ -140,7 +143,7 @@ open class UserAPI { return } - requestTask = createUsersWithListInputWithRequestBuilder(body: body).execute { result in + requestBuilder.execute { result in switch result { case .success: continuation.resume(returning: ()) @@ -149,8 +152,8 @@ open class UserAPI { } } } - } onCancel: { [requestTask] in - requestTask?.cancel() + } onCancel: { + requestTask.cancel() } } @@ -186,7 +189,8 @@ open class UserAPI { */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func deleteUser(username: String) async throws { - var requestTask: RequestTask? + let requestBuilder = deleteUserWithRequestBuilder(username: username) + let requestTask = requestBuilder.requestTask return try await withTaskCancellationHandler { try Task.checkCancellation() return try await withCheckedThrowingContinuation { continuation in @@ -195,7 +199,7 @@ open class UserAPI { return } - requestTask = deleteUserWithRequestBuilder(username: username).execute { result in + requestBuilder.execute { result in switch result { case .success: continuation.resume(returning: ()) @@ -204,8 +208,8 @@ open class UserAPI { } } } - } onCancel: { [requestTask] in - requestTask?.cancel() + } onCancel: { + requestTask.cancel() } } @@ -245,7 +249,8 @@ open class UserAPI { */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func getUserByName(username: String) async throws -> User { - var requestTask: RequestTask? + let requestBuilder = getUserByNameWithRequestBuilder(username: username) + let requestTask = requestBuilder.requestTask return try await withTaskCancellationHandler { try Task.checkCancellation() return try await withCheckedThrowingContinuation { continuation in @@ -254,7 +259,7 @@ open class UserAPI { return } - requestTask = getUserByNameWithRequestBuilder(username: username).execute { result in + requestBuilder.execute { result in switch result { case let .success(response): continuation.resume(returning: response.body) @@ -263,8 +268,8 @@ open class UserAPI { } } } - } onCancel: { [requestTask] in - requestTask?.cancel() + } onCancel: { + requestTask.cancel() } } @@ -304,7 +309,8 @@ open class UserAPI { */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func loginUser(username: String, password: String) async throws -> String { - var requestTask: RequestTask? + let requestBuilder = loginUserWithRequestBuilder(username: username, password: password) + let requestTask = requestBuilder.requestTask return try await withTaskCancellationHandler { try Task.checkCancellation() return try await withCheckedThrowingContinuation { continuation in @@ -313,7 +319,7 @@ open class UserAPI { return } - requestTask = loginUserWithRequestBuilder(username: username, password: password).execute { result in + requestBuilder.execute { result in switch result { case let .success(response): continuation.resume(returning: response.body) @@ -322,8 +328,8 @@ open class UserAPI { } } } - } onCancel: { [requestTask] in - requestTask?.cancel() + } onCancel: { + requestTask.cancel() } } @@ -364,7 +370,8 @@ open class UserAPI { */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func logoutUser() async throws { - var requestTask: RequestTask? + let requestBuilder = logoutUserWithRequestBuilder() + let requestTask = requestBuilder.requestTask return try await withTaskCancellationHandler { try Task.checkCancellation() return try await withCheckedThrowingContinuation { continuation in @@ -373,7 +380,7 @@ open class UserAPI { return } - requestTask = logoutUserWithRequestBuilder().execute { result in + requestBuilder.execute { result in switch result { case .success: continuation.resume(returning: ()) @@ -382,8 +389,8 @@ open class UserAPI { } } } - } onCancel: { [requestTask] in - requestTask?.cancel() + } onCancel: { + requestTask.cancel() } } @@ -419,7 +426,8 @@ open class UserAPI { */ @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) open class func updateUser(username: String, body: User) async throws { - var requestTask: RequestTask? + let requestBuilder = updateUserWithRequestBuilder(username: username, body: body) + let requestTask = requestBuilder.requestTask return try await withTaskCancellationHandler { try Task.checkCancellation() return try await withCheckedThrowingContinuation { continuation in @@ -428,7 +436,7 @@ open class UserAPI { return } - requestTask = updateUserWithRequestBuilder(username: username, body: body).execute { result in + requestBuilder.execute { result in switch result { case .success: continuation.resume(returning: ()) @@ -437,8 +445,8 @@ open class UserAPI { } } } - } onCancel: { [requestTask] in - requestTask?.cancel() + } onCancel: { + requestTask.cancel() } } diff --git a/samples/client/petstore/swift5/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift b/samples/client/petstore/swift5/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift index 21aad0cf649..eb916234ab3 100644 --- a/samples/client/petstore/swift5/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift +++ b/samples/client/petstore/swift5/asyncAwaitLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift @@ -105,14 +105,19 @@ open class Response { } } -public final class RequestTask { +public final class RequestTask: @unchecked Sendable { + private var lock = NSRecursiveLock() private var task: URLSessionTask? internal func set(task: URLSessionTask) { + lock.lock() + defer { lock.unlock() } self.task = task } public func cancel() { + lock.lock() + defer { lock.unlock() } task?.cancel() task = nil } diff --git a/samples/client/petstore/swift5/combineLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift b/samples/client/petstore/swift5/combineLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift index 21aad0cf649..50cd5bff5f2 100644 --- a/samples/client/petstore/swift5/combineLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift +++ b/samples/client/petstore/swift5/combineLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift @@ -106,13 +106,18 @@ open class Response { } public final class RequestTask { + private var lock = NSRecursiveLock() private var task: URLSessionTask? internal func set(task: URLSessionTask) { + lock.lock() + defer { lock.unlock() } self.task = task } public func cancel() { + lock.lock() + defer { lock.unlock() } task?.cancel() task = nil } diff --git a/samples/client/petstore/swift5/default/PetstoreClient/Classes/OpenAPIs/Models.swift b/samples/client/petstore/swift5/default/PetstoreClient/Classes/OpenAPIs/Models.swift index 21aad0cf649..50cd5bff5f2 100644 --- a/samples/client/petstore/swift5/default/PetstoreClient/Classes/OpenAPIs/Models.swift +++ b/samples/client/petstore/swift5/default/PetstoreClient/Classes/OpenAPIs/Models.swift @@ -106,13 +106,18 @@ open class Response { } public final class RequestTask { + private var lock = NSRecursiveLock() private var task: URLSessionTask? internal func set(task: URLSessionTask) { + lock.lock() + defer { lock.unlock() } self.task = task } public func cancel() { + lock.lock() + defer { lock.unlock() } task?.cancel() task = nil } diff --git a/samples/client/petstore/swift5/deprecated/PetstoreClient/Classes/OpenAPIs/Models.swift b/samples/client/petstore/swift5/deprecated/PetstoreClient/Classes/OpenAPIs/Models.swift index 21aad0cf649..50cd5bff5f2 100644 --- a/samples/client/petstore/swift5/deprecated/PetstoreClient/Classes/OpenAPIs/Models.swift +++ b/samples/client/petstore/swift5/deprecated/PetstoreClient/Classes/OpenAPIs/Models.swift @@ -106,13 +106,18 @@ open class Response { } public final class RequestTask { + private var lock = NSRecursiveLock() private var task: URLSessionTask? internal func set(task: URLSessionTask) { + lock.lock() + defer { lock.unlock() } self.task = task } public func cancel() { + lock.lock() + defer { lock.unlock() } task?.cancel() task = nil } diff --git a/samples/client/petstore/swift5/frozenEnums/PetstoreClient/Classes/OpenAPIs/Models.swift b/samples/client/petstore/swift5/frozenEnums/PetstoreClient/Classes/OpenAPIs/Models.swift index 21aad0cf649..50cd5bff5f2 100644 --- a/samples/client/petstore/swift5/frozenEnums/PetstoreClient/Classes/OpenAPIs/Models.swift +++ b/samples/client/petstore/swift5/frozenEnums/PetstoreClient/Classes/OpenAPIs/Models.swift @@ -106,13 +106,18 @@ open class Response { } public final class RequestTask { + private var lock = NSRecursiveLock() private var task: URLSessionTask? internal func set(task: URLSessionTask) { + lock.lock() + defer { lock.unlock() } self.task = task } public func cancel() { + lock.lock() + defer { lock.unlock() } task?.cancel() task = nil } diff --git a/samples/client/petstore/swift5/nonPublicApi/PetstoreClient/Classes/OpenAPIs/Models.swift b/samples/client/petstore/swift5/nonPublicApi/PetstoreClient/Classes/OpenAPIs/Models.swift index e7032122ba7..9e20efc58ff 100644 --- a/samples/client/petstore/swift5/nonPublicApi/PetstoreClient/Classes/OpenAPIs/Models.swift +++ b/samples/client/petstore/swift5/nonPublicApi/PetstoreClient/Classes/OpenAPIs/Models.swift @@ -106,13 +106,18 @@ internal class Response { } internal final class RequestTask { + private var lock = NSRecursiveLock() private var task: URLSessionTask? internal func set(task: URLSessionTask) { + lock.lock() + defer { lock.unlock() } self.task = task } internal func cancel() { + lock.lock() + defer { lock.unlock() } task?.cancel() task = nil } diff --git a/samples/client/petstore/swift5/objcCompatible/PetstoreClient/Classes/OpenAPIs/Models.swift b/samples/client/petstore/swift5/objcCompatible/PetstoreClient/Classes/OpenAPIs/Models.swift index 21aad0cf649..50cd5bff5f2 100644 --- a/samples/client/petstore/swift5/objcCompatible/PetstoreClient/Classes/OpenAPIs/Models.swift +++ b/samples/client/petstore/swift5/objcCompatible/PetstoreClient/Classes/OpenAPIs/Models.swift @@ -106,13 +106,18 @@ open class Response { } public final class RequestTask { + private var lock = NSRecursiveLock() private var task: URLSessionTask? internal func set(task: URLSessionTask) { + lock.lock() + defer { lock.unlock() } self.task = task } public func cancel() { + lock.lock() + defer { lock.unlock() } task?.cancel() task = nil } diff --git a/samples/client/petstore/swift5/oneOf/PetstoreClient/Classes/OpenAPIs/Models.swift b/samples/client/petstore/swift5/oneOf/PetstoreClient/Classes/OpenAPIs/Models.swift index 21aad0cf649..50cd5bff5f2 100644 --- a/samples/client/petstore/swift5/oneOf/PetstoreClient/Classes/OpenAPIs/Models.swift +++ b/samples/client/petstore/swift5/oneOf/PetstoreClient/Classes/OpenAPIs/Models.swift @@ -106,13 +106,18 @@ open class Response { } public final class RequestTask { + private var lock = NSRecursiveLock() private var task: URLSessionTask? internal func set(task: URLSessionTask) { + lock.lock() + defer { lock.unlock() } self.task = task } public func cancel() { + lock.lock() + defer { lock.unlock() } task?.cancel() task = nil } diff --git a/samples/client/petstore/swift5/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift b/samples/client/petstore/swift5/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift index 21aad0cf649..50cd5bff5f2 100644 --- a/samples/client/petstore/swift5/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift +++ b/samples/client/petstore/swift5/promisekitLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift @@ -106,13 +106,18 @@ open class Response { } public final class RequestTask { + private var lock = NSRecursiveLock() private var task: URLSessionTask? internal func set(task: URLSessionTask) { + lock.lock() + defer { lock.unlock() } self.task = task } public func cancel() { + lock.lock() + defer { lock.unlock() } task?.cancel() task = nil } diff --git a/samples/client/petstore/swift5/readonlyProperties/PetstoreClient/Classes/OpenAPIs/Models.swift b/samples/client/petstore/swift5/readonlyProperties/PetstoreClient/Classes/OpenAPIs/Models.swift index 21aad0cf649..50cd5bff5f2 100644 --- a/samples/client/petstore/swift5/readonlyProperties/PetstoreClient/Classes/OpenAPIs/Models.swift +++ b/samples/client/petstore/swift5/readonlyProperties/PetstoreClient/Classes/OpenAPIs/Models.swift @@ -106,13 +106,18 @@ open class Response { } public final class RequestTask { + private var lock = NSRecursiveLock() private var task: URLSessionTask? internal func set(task: URLSessionTask) { + lock.lock() + defer { lock.unlock() } self.task = task } public func cancel() { + lock.lock() + defer { lock.unlock() } task?.cancel() task = nil } diff --git a/samples/client/petstore/swift5/resultLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift b/samples/client/petstore/swift5/resultLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift index 21aad0cf649..50cd5bff5f2 100644 --- a/samples/client/petstore/swift5/resultLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift +++ b/samples/client/petstore/swift5/resultLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift @@ -106,13 +106,18 @@ open class Response { } public final class RequestTask { + private var lock = NSRecursiveLock() private var task: URLSessionTask? internal func set(task: URLSessionTask) { + lock.lock() + defer { lock.unlock() } self.task = task } public func cancel() { + lock.lock() + defer { lock.unlock() } task?.cancel() task = nil } diff --git a/samples/client/petstore/swift5/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift b/samples/client/petstore/swift5/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift index 21aad0cf649..50cd5bff5f2 100644 --- a/samples/client/petstore/swift5/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift +++ b/samples/client/petstore/swift5/rxswiftLibrary/PetstoreClient/Classes/OpenAPIs/Models.swift @@ -106,13 +106,18 @@ open class Response { } public final class RequestTask { + private var lock = NSRecursiveLock() private var task: URLSessionTask? internal func set(task: URLSessionTask) { + lock.lock() + defer { lock.unlock() } self.task = task } public func cancel() { + lock.lock() + defer { lock.unlock() } task?.cancel() task = nil } diff --git a/samples/client/petstore/swift5/urlsessionLibrary/Sources/PetstoreClient/Models.swift b/samples/client/petstore/swift5/urlsessionLibrary/Sources/PetstoreClient/Models.swift index 21aad0cf649..50cd5bff5f2 100644 --- a/samples/client/petstore/swift5/urlsessionLibrary/Sources/PetstoreClient/Models.swift +++ b/samples/client/petstore/swift5/urlsessionLibrary/Sources/PetstoreClient/Models.swift @@ -106,13 +106,18 @@ open class Response { } public final class RequestTask { + private var lock = NSRecursiveLock() private var task: URLSessionTask? internal func set(task: URLSessionTask) { + lock.lock() + defer { lock.unlock() } self.task = task } public func cancel() { + lock.lock() + defer { lock.unlock() } task?.cancel() task = nil } diff --git a/samples/client/petstore/swift5/x-swift-hashable/PetstoreClient/Classes/OpenAPIs/Models.swift b/samples/client/petstore/swift5/x-swift-hashable/PetstoreClient/Classes/OpenAPIs/Models.swift index 21aad0cf649..50cd5bff5f2 100644 --- a/samples/client/petstore/swift5/x-swift-hashable/PetstoreClient/Classes/OpenAPIs/Models.swift +++ b/samples/client/petstore/swift5/x-swift-hashable/PetstoreClient/Classes/OpenAPIs/Models.swift @@ -106,13 +106,18 @@ open class Response { } public final class RequestTask { + private var lock = NSRecursiveLock() private var task: URLSessionTask? internal func set(task: URLSessionTask) { + lock.lock() + defer { lock.unlock() } self.task = task } public func cancel() { + lock.lock() + defer { lock.unlock() } task?.cancel() task = nil }