mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-12-11 03:22:42 +00:00
Merge remote-tracking branch 'origin/master' into 6.0.x
This commit is contained in:
@@ -27,6 +27,7 @@ open class RequestBuilder<T> {
|
||||
public let parameters: [String: Any]?
|
||||
public let method: String
|
||||
public let URLString: String
|
||||
public let requestTask: RequestTask = RequestTask()
|
||||
|
||||
/// Optional block to obtain a reference to the request's progress instance when available.
|
||||
/// With the URLSession http client the request's progress only works on iOS 11.0, macOS 10.13, macCatalyst 13.0, tvOS 11.0, watchOS 4.0.
|
||||
@@ -49,8 +50,8 @@ open class RequestBuilder<T> {
|
||||
}
|
||||
|
||||
@discardableResult
|
||||
open func execute(_ apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, _ completion: @escaping (_ result: Swift.Result<Response<T>, ErrorResponse>) -> Void) -> URLSessionTask? {
|
||||
return nil
|
||||
open func execute(_ apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, _ completion: @escaping (_ result: Swift.Result<Response<T>, ErrorResponse>) -> Void) -> RequestTask {
|
||||
return requestTask
|
||||
}
|
||||
|
||||
public func addHeader(name: String, value: String) -> Self {
|
||||
|
||||
@@ -25,9 +25,9 @@ open class AnotherFakeAPI {
|
||||
#if canImport(Combine)
|
||||
@available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
|
||||
open class func call123testSpecialTags(body: Client, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue) -> AnyPublisher<Client, Error> {
|
||||
var task: URLSessionTask?
|
||||
var requestTask: RequestTask?
|
||||
return Future<Client, Error> { promise in
|
||||
task = call123testSpecialTagsWithRequestBuilder(body: body).execute(apiResponseQueue) { result in
|
||||
requestTask = call123testSpecialTagsWithRequestBuilder(body: body).execute(apiResponseQueue) { result in
|
||||
switch result {
|
||||
case let .success(response):
|
||||
promise(.success(response.body))
|
||||
@@ -37,7 +37,7 @@ open class AnotherFakeAPI {
|
||||
}
|
||||
}
|
||||
.handleEvents(receiveCancel: {
|
||||
task?.cancel()
|
||||
requestTask?.cancel()
|
||||
})
|
||||
.eraseToAnyPublisher()
|
||||
}
|
||||
|
||||
@@ -24,9 +24,9 @@ open class FakeAPI {
|
||||
#if canImport(Combine)
|
||||
@available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
|
||||
open class func fakeOuterBooleanSerialize(body: Bool? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue) -> AnyPublisher<Bool, Error> {
|
||||
var task: URLSessionTask?
|
||||
var requestTask: RequestTask?
|
||||
return Future<Bool, Error> { promise in
|
||||
task = fakeOuterBooleanSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result in
|
||||
requestTask = fakeOuterBooleanSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result in
|
||||
switch result {
|
||||
case let .success(response):
|
||||
promise(.success(response.body))
|
||||
@@ -36,7 +36,7 @@ open class FakeAPI {
|
||||
}
|
||||
}
|
||||
.handleEvents(receiveCancel: {
|
||||
task?.cancel()
|
||||
requestTask?.cancel()
|
||||
})
|
||||
.eraseToAnyPublisher()
|
||||
}
|
||||
@@ -75,9 +75,9 @@ open class FakeAPI {
|
||||
#if canImport(Combine)
|
||||
@available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
|
||||
open class func fakeOuterCompositeSerialize(body: OuterComposite? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue) -> AnyPublisher<OuterComposite, Error> {
|
||||
var task: URLSessionTask?
|
||||
var requestTask: RequestTask?
|
||||
return Future<OuterComposite, Error> { promise in
|
||||
task = fakeOuterCompositeSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result in
|
||||
requestTask = fakeOuterCompositeSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result in
|
||||
switch result {
|
||||
case let .success(response):
|
||||
promise(.success(response.body))
|
||||
@@ -87,7 +87,7 @@ open class FakeAPI {
|
||||
}
|
||||
}
|
||||
.handleEvents(receiveCancel: {
|
||||
task?.cancel()
|
||||
requestTask?.cancel()
|
||||
})
|
||||
.eraseToAnyPublisher()
|
||||
}
|
||||
@@ -126,9 +126,9 @@ open class FakeAPI {
|
||||
#if canImport(Combine)
|
||||
@available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
|
||||
open class func fakeOuterNumberSerialize(body: Double? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue) -> AnyPublisher<Double, Error> {
|
||||
var task: URLSessionTask?
|
||||
var requestTask: RequestTask?
|
||||
return Future<Double, Error> { promise in
|
||||
task = fakeOuterNumberSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result in
|
||||
requestTask = fakeOuterNumberSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result in
|
||||
switch result {
|
||||
case let .success(response):
|
||||
promise(.success(response.body))
|
||||
@@ -138,7 +138,7 @@ open class FakeAPI {
|
||||
}
|
||||
}
|
||||
.handleEvents(receiveCancel: {
|
||||
task?.cancel()
|
||||
requestTask?.cancel()
|
||||
})
|
||||
.eraseToAnyPublisher()
|
||||
}
|
||||
@@ -177,9 +177,9 @@ open class FakeAPI {
|
||||
#if canImport(Combine)
|
||||
@available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
|
||||
open class func fakeOuterStringSerialize(body: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue) -> AnyPublisher<String, Error> {
|
||||
var task: URLSessionTask?
|
||||
var requestTask: RequestTask?
|
||||
return Future<String, Error> { promise in
|
||||
task = fakeOuterStringSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result in
|
||||
requestTask = fakeOuterStringSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result in
|
||||
switch result {
|
||||
case let .success(response):
|
||||
promise(.success(response.body))
|
||||
@@ -189,7 +189,7 @@ open class FakeAPI {
|
||||
}
|
||||
}
|
||||
.handleEvents(receiveCancel: {
|
||||
task?.cancel()
|
||||
requestTask?.cancel()
|
||||
})
|
||||
.eraseToAnyPublisher()
|
||||
}
|
||||
@@ -228,9 +228,9 @@ open class FakeAPI {
|
||||
#if canImport(Combine)
|
||||
@available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
|
||||
open class func testBodyWithFileSchema(body: FileSchemaTestClass, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue) -> AnyPublisher<Void, Error> {
|
||||
var task: URLSessionTask?
|
||||
var requestTask: RequestTask?
|
||||
return Future<Void, Error> { promise in
|
||||
task = testBodyWithFileSchemaWithRequestBuilder(body: body).execute(apiResponseQueue) { result in
|
||||
requestTask = testBodyWithFileSchemaWithRequestBuilder(body: body).execute(apiResponseQueue) { result in
|
||||
switch result {
|
||||
case .success:
|
||||
promise(.success(()))
|
||||
@@ -240,7 +240,7 @@ open class FakeAPI {
|
||||
}
|
||||
}
|
||||
.handleEvents(receiveCancel: {
|
||||
task?.cancel()
|
||||
requestTask?.cancel()
|
||||
})
|
||||
.eraseToAnyPublisher()
|
||||
}
|
||||
@@ -280,9 +280,9 @@ open class FakeAPI {
|
||||
#if canImport(Combine)
|
||||
@available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
|
||||
open class func testBodyWithQueryParams(query: String, body: User, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue) -> AnyPublisher<Void, Error> {
|
||||
var task: URLSessionTask?
|
||||
var requestTask: RequestTask?
|
||||
return Future<Void, Error> { promise in
|
||||
task = testBodyWithQueryParamsWithRequestBuilder(query: query, body: body).execute(apiResponseQueue) { result in
|
||||
requestTask = testBodyWithQueryParamsWithRequestBuilder(query: query, body: body).execute(apiResponseQueue) { result in
|
||||
switch result {
|
||||
case .success:
|
||||
promise(.success(()))
|
||||
@@ -292,7 +292,7 @@ open class FakeAPI {
|
||||
}
|
||||
}
|
||||
.handleEvents(receiveCancel: {
|
||||
task?.cancel()
|
||||
requestTask?.cancel()
|
||||
})
|
||||
.eraseToAnyPublisher()
|
||||
}
|
||||
@@ -335,9 +335,9 @@ open class FakeAPI {
|
||||
#if canImport(Combine)
|
||||
@available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
|
||||
open class func testClientModel(body: Client, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue) -> AnyPublisher<Client, Error> {
|
||||
var task: URLSessionTask?
|
||||
var requestTask: RequestTask?
|
||||
return Future<Client, Error> { promise in
|
||||
task = testClientModelWithRequestBuilder(body: body).execute(apiResponseQueue) { result in
|
||||
requestTask = testClientModelWithRequestBuilder(body: body).execute(apiResponseQueue) { result in
|
||||
switch result {
|
||||
case let .success(response):
|
||||
promise(.success(response.body))
|
||||
@@ -347,7 +347,7 @@ open class FakeAPI {
|
||||
}
|
||||
}
|
||||
.handleEvents(receiveCancel: {
|
||||
task?.cancel()
|
||||
requestTask?.cancel()
|
||||
})
|
||||
.eraseToAnyPublisher()
|
||||
}
|
||||
@@ -401,9 +401,9 @@ open class FakeAPI {
|
||||
#if canImport(Combine)
|
||||
@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, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue) -> AnyPublisher<Void, Error> {
|
||||
var task: URLSessionTask?
|
||||
var requestTask: RequestTask?
|
||||
return Future<Void, Error> { promise in
|
||||
task = 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(apiResponseQueue) { result in
|
||||
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(apiResponseQueue) { result in
|
||||
switch result {
|
||||
case .success:
|
||||
promise(.success(()))
|
||||
@@ -413,7 +413,7 @@ open class FakeAPI {
|
||||
}
|
||||
}
|
||||
.handleEvents(receiveCancel: {
|
||||
task?.cancel()
|
||||
requestTask?.cancel()
|
||||
})
|
||||
.eraseToAnyPublisher()
|
||||
}
|
||||
@@ -562,9 +562,9 @@ open class FakeAPI {
|
||||
#if canImport(Combine)
|
||||
@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, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue) -> AnyPublisher<Void, Error> {
|
||||
var task: URLSessionTask?
|
||||
var requestTask: RequestTask?
|
||||
return Future<Void, Error> { promise in
|
||||
task = testEnumParametersWithRequestBuilder(enumHeaderStringArray: enumHeaderStringArray, enumHeaderString: enumHeaderString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble, enumFormStringArray: enumFormStringArray, enumFormString: enumFormString).execute(apiResponseQueue) { result in
|
||||
requestTask = testEnumParametersWithRequestBuilder(enumHeaderStringArray: enumHeaderStringArray, enumHeaderString: enumHeaderString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble, enumFormStringArray: enumFormStringArray, enumFormString: enumFormString).execute(apiResponseQueue) { result in
|
||||
switch result {
|
||||
case .success:
|
||||
promise(.success(()))
|
||||
@@ -574,7 +574,7 @@ open class FakeAPI {
|
||||
}
|
||||
}
|
||||
.handleEvents(receiveCancel: {
|
||||
task?.cancel()
|
||||
requestTask?.cancel()
|
||||
})
|
||||
.eraseToAnyPublisher()
|
||||
}
|
||||
@@ -641,9 +641,9 @@ open class FakeAPI {
|
||||
#if canImport(Combine)
|
||||
@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, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue) -> AnyPublisher<Void, Error> {
|
||||
var task: URLSessionTask?
|
||||
var requestTask: RequestTask?
|
||||
return Future<Void, Error> { promise in
|
||||
task = testGroupParametersWithRequestBuilder(requiredStringGroup: requiredStringGroup, requiredBooleanGroup: requiredBooleanGroup, requiredInt64Group: requiredInt64Group, stringGroup: stringGroup, booleanGroup: booleanGroup, int64Group: int64Group).execute(apiResponseQueue) { result in
|
||||
requestTask = testGroupParametersWithRequestBuilder(requiredStringGroup: requiredStringGroup, requiredBooleanGroup: requiredBooleanGroup, requiredInt64Group: requiredInt64Group, stringGroup: stringGroup, booleanGroup: booleanGroup, int64Group: int64Group).execute(apiResponseQueue) { result in
|
||||
switch result {
|
||||
case .success:
|
||||
promise(.success(()))
|
||||
@@ -653,7 +653,7 @@ open class FakeAPI {
|
||||
}
|
||||
}
|
||||
.handleEvents(receiveCancel: {
|
||||
task?.cancel()
|
||||
requestTask?.cancel()
|
||||
})
|
||||
.eraseToAnyPublisher()
|
||||
}
|
||||
@@ -706,9 +706,9 @@ open class FakeAPI {
|
||||
#if canImport(Combine)
|
||||
@available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
|
||||
open class func testInlineAdditionalProperties(param: [String: String], apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue) -> AnyPublisher<Void, Error> {
|
||||
var task: URLSessionTask?
|
||||
var requestTask: RequestTask?
|
||||
return Future<Void, Error> { promise in
|
||||
task = testInlineAdditionalPropertiesWithRequestBuilder(param: param).execute(apiResponseQueue) { result in
|
||||
requestTask = testInlineAdditionalPropertiesWithRequestBuilder(param: param).execute(apiResponseQueue) { result in
|
||||
switch result {
|
||||
case .success:
|
||||
promise(.success(()))
|
||||
@@ -718,7 +718,7 @@ open class FakeAPI {
|
||||
}
|
||||
}
|
||||
.handleEvents(receiveCancel: {
|
||||
task?.cancel()
|
||||
requestTask?.cancel()
|
||||
})
|
||||
.eraseToAnyPublisher()
|
||||
}
|
||||
@@ -759,9 +759,9 @@ open class FakeAPI {
|
||||
#if canImport(Combine)
|
||||
@available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
|
||||
open class func testJsonFormData(param: String, param2: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue) -> AnyPublisher<Void, Error> {
|
||||
var task: URLSessionTask?
|
||||
var requestTask: RequestTask?
|
||||
return Future<Void, Error> { promise in
|
||||
task = testJsonFormDataWithRequestBuilder(param: param, param2: param2).execute(apiResponseQueue) { result in
|
||||
requestTask = testJsonFormDataWithRequestBuilder(param: param, param2: param2).execute(apiResponseQueue) { result in
|
||||
switch result {
|
||||
case .success:
|
||||
promise(.success(()))
|
||||
@@ -771,7 +771,7 @@ open class FakeAPI {
|
||||
}
|
||||
}
|
||||
.handleEvents(receiveCancel: {
|
||||
task?.cancel()
|
||||
requestTask?.cancel()
|
||||
})
|
||||
.eraseToAnyPublisher()
|
||||
}
|
||||
|
||||
@@ -25,9 +25,9 @@ open class FakeClassnameTags123API {
|
||||
#if canImport(Combine)
|
||||
@available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
|
||||
open class func testClassname(body: Client, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue) -> AnyPublisher<Client, Error> {
|
||||
var task: URLSessionTask?
|
||||
var requestTask: RequestTask?
|
||||
return Future<Client, Error> { promise in
|
||||
task = testClassnameWithRequestBuilder(body: body).execute(apiResponseQueue) { result in
|
||||
requestTask = testClassnameWithRequestBuilder(body: body).execute(apiResponseQueue) { result in
|
||||
switch result {
|
||||
case let .success(response):
|
||||
promise(.success(response.body))
|
||||
@@ -37,7 +37,7 @@ open class FakeClassnameTags123API {
|
||||
}
|
||||
}
|
||||
.handleEvents(receiveCancel: {
|
||||
task?.cancel()
|
||||
requestTask?.cancel()
|
||||
})
|
||||
.eraseToAnyPublisher()
|
||||
}
|
||||
|
||||
@@ -25,9 +25,9 @@ open class PetAPI {
|
||||
#if canImport(Combine)
|
||||
@available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
|
||||
open class func addPet(body: Pet, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue) -> AnyPublisher<Void, Error> {
|
||||
var task: URLSessionTask?
|
||||
var requestTask: RequestTask?
|
||||
return Future<Void, Error> { promise in
|
||||
task = addPetWithRequestBuilder(body: body).execute(apiResponseQueue) { result in
|
||||
requestTask = addPetWithRequestBuilder(body: body).execute(apiResponseQueue) { result in
|
||||
switch result {
|
||||
case .success:
|
||||
promise(.success(()))
|
||||
@@ -37,7 +37,7 @@ open class PetAPI {
|
||||
}
|
||||
}
|
||||
.handleEvents(receiveCancel: {
|
||||
task?.cancel()
|
||||
requestTask?.cancel()
|
||||
})
|
||||
.eraseToAnyPublisher()
|
||||
}
|
||||
@@ -81,9 +81,9 @@ open class PetAPI {
|
||||
#if canImport(Combine)
|
||||
@available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
|
||||
open class func deletePet(petId: Int64, apiKey: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue) -> AnyPublisher<Void, Error> {
|
||||
var task: URLSessionTask?
|
||||
var requestTask: RequestTask?
|
||||
return Future<Void, Error> { promise in
|
||||
task = deletePetWithRequestBuilder(petId: petId, apiKey: apiKey).execute(apiResponseQueue) { result in
|
||||
requestTask = deletePetWithRequestBuilder(petId: petId, apiKey: apiKey).execute(apiResponseQueue) { result in
|
||||
switch result {
|
||||
case .success:
|
||||
promise(.success(()))
|
||||
@@ -93,7 +93,7 @@ open class PetAPI {
|
||||
}
|
||||
}
|
||||
.handleEvents(receiveCancel: {
|
||||
task?.cancel()
|
||||
requestTask?.cancel()
|
||||
})
|
||||
.eraseToAnyPublisher()
|
||||
}
|
||||
@@ -149,9 +149,9 @@ open class PetAPI {
|
||||
#if canImport(Combine)
|
||||
@available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
|
||||
open class func findPetsByStatus(status: [Status_findPetsByStatus], apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue) -> AnyPublisher<[Pet], Error> {
|
||||
var task: URLSessionTask?
|
||||
var requestTask: RequestTask?
|
||||
return Future<[Pet], Error> { promise in
|
||||
task = findPetsByStatusWithRequestBuilder(status: status).execute(apiResponseQueue) { result in
|
||||
requestTask = findPetsByStatusWithRequestBuilder(status: status).execute(apiResponseQueue) { result in
|
||||
switch result {
|
||||
case let .success(response):
|
||||
promise(.success(response.body))
|
||||
@@ -161,7 +161,7 @@ open class PetAPI {
|
||||
}
|
||||
}
|
||||
.handleEvents(receiveCancel: {
|
||||
task?.cancel()
|
||||
requestTask?.cancel()
|
||||
})
|
||||
.eraseToAnyPublisher()
|
||||
}
|
||||
@@ -209,9 +209,9 @@ 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], apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue) -> AnyPublisher<[Pet], Error> {
|
||||
var task: URLSessionTask?
|
||||
var requestTask: RequestTask?
|
||||
return Future<[Pet], Error> { promise in
|
||||
task = findPetsByTagsWithRequestBuilder(tags: tags).execute(apiResponseQueue) { result in
|
||||
requestTask = findPetsByTagsWithRequestBuilder(tags: tags).execute(apiResponseQueue) { result in
|
||||
switch result {
|
||||
case let .success(response):
|
||||
promise(.success(response.body))
|
||||
@@ -221,7 +221,7 @@ open class PetAPI {
|
||||
}
|
||||
}
|
||||
.handleEvents(receiveCancel: {
|
||||
task?.cancel()
|
||||
requestTask?.cancel()
|
||||
})
|
||||
.eraseToAnyPublisher()
|
||||
}
|
||||
@@ -269,9 +269,9 @@ open class PetAPI {
|
||||
#if canImport(Combine)
|
||||
@available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
|
||||
open class func getPetById(petId: Int64, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue) -> AnyPublisher<Pet, Error> {
|
||||
var task: URLSessionTask?
|
||||
var requestTask: RequestTask?
|
||||
return Future<Pet, Error> { promise in
|
||||
task = getPetByIdWithRequestBuilder(petId: petId).execute(apiResponseQueue) { result in
|
||||
requestTask = getPetByIdWithRequestBuilder(petId: petId).execute(apiResponseQueue) { result in
|
||||
switch result {
|
||||
case let .success(response):
|
||||
promise(.success(response.body))
|
||||
@@ -281,7 +281,7 @@ open class PetAPI {
|
||||
}
|
||||
}
|
||||
.handleEvents(receiveCancel: {
|
||||
task?.cancel()
|
||||
requestTask?.cancel()
|
||||
})
|
||||
.eraseToAnyPublisher()
|
||||
}
|
||||
@@ -328,9 +328,9 @@ open class PetAPI {
|
||||
#if canImport(Combine)
|
||||
@available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
|
||||
open class func updatePet(body: Pet, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue) -> AnyPublisher<Void, Error> {
|
||||
var task: URLSessionTask?
|
||||
var requestTask: RequestTask?
|
||||
return Future<Void, Error> { promise in
|
||||
task = updatePetWithRequestBuilder(body: body).execute(apiResponseQueue) { result in
|
||||
requestTask = updatePetWithRequestBuilder(body: body).execute(apiResponseQueue) { result in
|
||||
switch result {
|
||||
case .success:
|
||||
promise(.success(()))
|
||||
@@ -340,7 +340,7 @@ open class PetAPI {
|
||||
}
|
||||
}
|
||||
.handleEvents(receiveCancel: {
|
||||
task?.cancel()
|
||||
requestTask?.cancel()
|
||||
})
|
||||
.eraseToAnyPublisher()
|
||||
}
|
||||
@@ -385,9 +385,9 @@ open class PetAPI {
|
||||
#if canImport(Combine)
|
||||
@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, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue) -> AnyPublisher<Void, Error> {
|
||||
var task: URLSessionTask?
|
||||
var requestTask: RequestTask?
|
||||
return Future<Void, Error> { promise in
|
||||
task = updatePetWithFormWithRequestBuilder(petId: petId, name: name, status: status).execute(apiResponseQueue) { result in
|
||||
requestTask = updatePetWithFormWithRequestBuilder(petId: petId, name: name, status: status).execute(apiResponseQueue) { result in
|
||||
switch result {
|
||||
case .success:
|
||||
promise(.success(()))
|
||||
@@ -397,7 +397,7 @@ open class PetAPI {
|
||||
}
|
||||
}
|
||||
.handleEvents(receiveCancel: {
|
||||
task?.cancel()
|
||||
requestTask?.cancel()
|
||||
})
|
||||
.eraseToAnyPublisher()
|
||||
}
|
||||
@@ -453,9 +453,9 @@ open class PetAPI {
|
||||
#if canImport(Combine)
|
||||
@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, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue) -> AnyPublisher<ApiResponse, Error> {
|
||||
var task: URLSessionTask?
|
||||
var requestTask: RequestTask?
|
||||
return Future<ApiResponse, Error> { promise in
|
||||
task = uploadFileWithRequestBuilder(petId: petId, additionalMetadata: additionalMetadata, file: file).execute(apiResponseQueue) { result in
|
||||
requestTask = uploadFileWithRequestBuilder(petId: petId, additionalMetadata: additionalMetadata, file: file).execute(apiResponseQueue) { result in
|
||||
switch result {
|
||||
case let .success(response):
|
||||
promise(.success(response.body))
|
||||
@@ -465,7 +465,7 @@ open class PetAPI {
|
||||
}
|
||||
}
|
||||
.handleEvents(receiveCancel: {
|
||||
task?.cancel()
|
||||
requestTask?.cancel()
|
||||
})
|
||||
.eraseToAnyPublisher()
|
||||
}
|
||||
@@ -521,9 +521,9 @@ open class PetAPI {
|
||||
#if canImport(Combine)
|
||||
@available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
|
||||
open class func uploadFileWithRequiredFile(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue) -> AnyPublisher<ApiResponse, Error> {
|
||||
var task: URLSessionTask?
|
||||
var requestTask: RequestTask?
|
||||
return Future<ApiResponse, Error> { promise in
|
||||
task = uploadFileWithRequiredFileWithRequestBuilder(petId: petId, requiredFile: requiredFile, additionalMetadata: additionalMetadata).execute(apiResponseQueue) { result in
|
||||
requestTask = uploadFileWithRequiredFileWithRequestBuilder(petId: petId, requiredFile: requiredFile, additionalMetadata: additionalMetadata).execute(apiResponseQueue) { result in
|
||||
switch result {
|
||||
case let .success(response):
|
||||
promise(.success(response.body))
|
||||
@@ -533,7 +533,7 @@ open class PetAPI {
|
||||
}
|
||||
}
|
||||
.handleEvents(receiveCancel: {
|
||||
task?.cancel()
|
||||
requestTask?.cancel()
|
||||
})
|
||||
.eraseToAnyPublisher()
|
||||
}
|
||||
|
||||
@@ -25,9 +25,9 @@ open class StoreAPI {
|
||||
#if canImport(Combine)
|
||||
@available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
|
||||
open class func deleteOrder(orderId: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue) -> AnyPublisher<Void, Error> {
|
||||
var task: URLSessionTask?
|
||||
var requestTask: RequestTask?
|
||||
return Future<Void, Error> { promise in
|
||||
task = deleteOrderWithRequestBuilder(orderId: orderId).execute(apiResponseQueue) { result in
|
||||
requestTask = deleteOrderWithRequestBuilder(orderId: orderId).execute(apiResponseQueue) { result in
|
||||
switch result {
|
||||
case .success:
|
||||
promise(.success(()))
|
||||
@@ -37,7 +37,7 @@ open class StoreAPI {
|
||||
}
|
||||
}
|
||||
.handleEvents(receiveCancel: {
|
||||
task?.cancel()
|
||||
requestTask?.cancel()
|
||||
})
|
||||
.eraseToAnyPublisher()
|
||||
}
|
||||
@@ -80,9 +80,9 @@ open class StoreAPI {
|
||||
#if canImport(Combine)
|
||||
@available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
|
||||
open class func getInventory(apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue) -> AnyPublisher<[String: Int], Error> {
|
||||
var task: URLSessionTask?
|
||||
var requestTask: RequestTask?
|
||||
return Future<[String: Int], Error> { promise in
|
||||
task = getInventoryWithRequestBuilder().execute(apiResponseQueue) { result in
|
||||
requestTask = getInventoryWithRequestBuilder().execute(apiResponseQueue) { result in
|
||||
switch result {
|
||||
case let .success(response):
|
||||
promise(.success(response.body))
|
||||
@@ -92,7 +92,7 @@ open class StoreAPI {
|
||||
}
|
||||
}
|
||||
.handleEvents(receiveCancel: {
|
||||
task?.cancel()
|
||||
requestTask?.cancel()
|
||||
})
|
||||
.eraseToAnyPublisher()
|
||||
}
|
||||
@@ -135,9 +135,9 @@ open class StoreAPI {
|
||||
#if canImport(Combine)
|
||||
@available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
|
||||
open class func getOrderById(orderId: Int64, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue) -> AnyPublisher<Order, Error> {
|
||||
var task: URLSessionTask?
|
||||
var requestTask: RequestTask?
|
||||
return Future<Order, Error> { promise in
|
||||
task = getOrderByIdWithRequestBuilder(orderId: orderId).execute(apiResponseQueue) { result in
|
||||
requestTask = getOrderByIdWithRequestBuilder(orderId: orderId).execute(apiResponseQueue) { result in
|
||||
switch result {
|
||||
case let .success(response):
|
||||
promise(.success(response.body))
|
||||
@@ -147,7 +147,7 @@ open class StoreAPI {
|
||||
}
|
||||
}
|
||||
.handleEvents(receiveCancel: {
|
||||
task?.cancel()
|
||||
requestTask?.cancel()
|
||||
})
|
||||
.eraseToAnyPublisher()
|
||||
}
|
||||
@@ -191,9 +191,9 @@ open class StoreAPI {
|
||||
#if canImport(Combine)
|
||||
@available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
|
||||
open class func placeOrder(body: Order, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue) -> AnyPublisher<Order, Error> {
|
||||
var task: URLSessionTask?
|
||||
var requestTask: RequestTask?
|
||||
return Future<Order, Error> { promise in
|
||||
task = placeOrderWithRequestBuilder(body: body).execute(apiResponseQueue) { result in
|
||||
requestTask = placeOrderWithRequestBuilder(body: body).execute(apiResponseQueue) { result in
|
||||
switch result {
|
||||
case let .success(response):
|
||||
promise(.success(response.body))
|
||||
@@ -203,7 +203,7 @@ open class StoreAPI {
|
||||
}
|
||||
}
|
||||
.handleEvents(receiveCancel: {
|
||||
task?.cancel()
|
||||
requestTask?.cancel()
|
||||
})
|
||||
.eraseToAnyPublisher()
|
||||
}
|
||||
|
||||
@@ -25,9 +25,9 @@ open class UserAPI {
|
||||
#if canImport(Combine)
|
||||
@available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
|
||||
open class func createUser(body: User, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue) -> AnyPublisher<Void, Error> {
|
||||
var task: URLSessionTask?
|
||||
var requestTask: RequestTask?
|
||||
return Future<Void, Error> { promise in
|
||||
task = createUserWithRequestBuilder(body: body).execute(apiResponseQueue) { result in
|
||||
requestTask = createUserWithRequestBuilder(body: body).execute(apiResponseQueue) { result in
|
||||
switch result {
|
||||
case .success:
|
||||
promise(.success(()))
|
||||
@@ -37,7 +37,7 @@ open class UserAPI {
|
||||
}
|
||||
}
|
||||
.handleEvents(receiveCancel: {
|
||||
task?.cancel()
|
||||
requestTask?.cancel()
|
||||
})
|
||||
.eraseToAnyPublisher()
|
||||
}
|
||||
@@ -78,9 +78,9 @@ open class UserAPI {
|
||||
#if canImport(Combine)
|
||||
@available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
|
||||
open class func createUsersWithArrayInput(body: [User], apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue) -> AnyPublisher<Void, Error> {
|
||||
var task: URLSessionTask?
|
||||
var requestTask: RequestTask?
|
||||
return Future<Void, Error> { promise in
|
||||
task = createUsersWithArrayInputWithRequestBuilder(body: body).execute(apiResponseQueue) { result in
|
||||
requestTask = createUsersWithArrayInputWithRequestBuilder(body: body).execute(apiResponseQueue) { result in
|
||||
switch result {
|
||||
case .success:
|
||||
promise(.success(()))
|
||||
@@ -90,7 +90,7 @@ open class UserAPI {
|
||||
}
|
||||
}
|
||||
.handleEvents(receiveCancel: {
|
||||
task?.cancel()
|
||||
requestTask?.cancel()
|
||||
})
|
||||
.eraseToAnyPublisher()
|
||||
}
|
||||
@@ -130,9 +130,9 @@ open class UserAPI {
|
||||
#if canImport(Combine)
|
||||
@available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
|
||||
open class func createUsersWithListInput(body: [User], apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue) -> AnyPublisher<Void, Error> {
|
||||
var task: URLSessionTask?
|
||||
var requestTask: RequestTask?
|
||||
return Future<Void, Error> { promise in
|
||||
task = createUsersWithListInputWithRequestBuilder(body: body).execute(apiResponseQueue) { result in
|
||||
requestTask = createUsersWithListInputWithRequestBuilder(body: body).execute(apiResponseQueue) { result in
|
||||
switch result {
|
||||
case .success:
|
||||
promise(.success(()))
|
||||
@@ -142,7 +142,7 @@ open class UserAPI {
|
||||
}
|
||||
}
|
||||
.handleEvents(receiveCancel: {
|
||||
task?.cancel()
|
||||
requestTask?.cancel()
|
||||
})
|
||||
.eraseToAnyPublisher()
|
||||
}
|
||||
@@ -182,9 +182,9 @@ open class UserAPI {
|
||||
#if canImport(Combine)
|
||||
@available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
|
||||
open class func deleteUser(username: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue) -> AnyPublisher<Void, Error> {
|
||||
var task: URLSessionTask?
|
||||
var requestTask: RequestTask?
|
||||
return Future<Void, Error> { promise in
|
||||
task = deleteUserWithRequestBuilder(username: username).execute(apiResponseQueue) { result in
|
||||
requestTask = deleteUserWithRequestBuilder(username: username).execute(apiResponseQueue) { result in
|
||||
switch result {
|
||||
case .success:
|
||||
promise(.success(()))
|
||||
@@ -194,7 +194,7 @@ open class UserAPI {
|
||||
}
|
||||
}
|
||||
.handleEvents(receiveCancel: {
|
||||
task?.cancel()
|
||||
requestTask?.cancel()
|
||||
})
|
||||
.eraseToAnyPublisher()
|
||||
}
|
||||
@@ -238,9 +238,9 @@ open class UserAPI {
|
||||
#if canImport(Combine)
|
||||
@available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
|
||||
open class func getUserByName(username: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue) -> AnyPublisher<User, Error> {
|
||||
var task: URLSessionTask?
|
||||
var requestTask: RequestTask?
|
||||
return Future<User, Error> { promise in
|
||||
task = getUserByNameWithRequestBuilder(username: username).execute(apiResponseQueue) { result in
|
||||
requestTask = getUserByNameWithRequestBuilder(username: username).execute(apiResponseQueue) { result in
|
||||
switch result {
|
||||
case let .success(response):
|
||||
promise(.success(response.body))
|
||||
@@ -250,7 +250,7 @@ open class UserAPI {
|
||||
}
|
||||
}
|
||||
.handleEvents(receiveCancel: {
|
||||
task?.cancel()
|
||||
requestTask?.cancel()
|
||||
})
|
||||
.eraseToAnyPublisher()
|
||||
}
|
||||
@@ -294,9 +294,9 @@ open class UserAPI {
|
||||
#if canImport(Combine)
|
||||
@available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
|
||||
open class func loginUser(username: String, password: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue) -> AnyPublisher<String, Error> {
|
||||
var task: URLSessionTask?
|
||||
var requestTask: RequestTask?
|
||||
return Future<String, Error> { promise in
|
||||
task = loginUserWithRequestBuilder(username: username, password: password).execute(apiResponseQueue) { result in
|
||||
requestTask = loginUserWithRequestBuilder(username: username, password: password).execute(apiResponseQueue) { result in
|
||||
switch result {
|
||||
case let .success(response):
|
||||
promise(.success(response.body))
|
||||
@@ -306,7 +306,7 @@ open class UserAPI {
|
||||
}
|
||||
}
|
||||
.handleEvents(receiveCancel: {
|
||||
task?.cancel()
|
||||
requestTask?.cancel()
|
||||
})
|
||||
.eraseToAnyPublisher()
|
||||
}
|
||||
@@ -351,9 +351,9 @@ open class UserAPI {
|
||||
#if canImport(Combine)
|
||||
@available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
|
||||
open class func logoutUser(apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue) -> AnyPublisher<Void, Error> {
|
||||
var task: URLSessionTask?
|
||||
var requestTask: RequestTask?
|
||||
return Future<Void, Error> { promise in
|
||||
task = logoutUserWithRequestBuilder().execute(apiResponseQueue) { result in
|
||||
requestTask = logoutUserWithRequestBuilder().execute(apiResponseQueue) { result in
|
||||
switch result {
|
||||
case .success:
|
||||
promise(.success(()))
|
||||
@@ -363,7 +363,7 @@ open class UserAPI {
|
||||
}
|
||||
}
|
||||
.handleEvents(receiveCancel: {
|
||||
task?.cancel()
|
||||
requestTask?.cancel()
|
||||
})
|
||||
.eraseToAnyPublisher()
|
||||
}
|
||||
@@ -403,9 +403,9 @@ open class UserAPI {
|
||||
#if canImport(Combine)
|
||||
@available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
|
||||
open class func updateUser(username: String, body: User, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue) -> AnyPublisher<Void, Error> {
|
||||
var task: URLSessionTask?
|
||||
var requestTask: RequestTask?
|
||||
return Future<Void, Error> { promise in
|
||||
task = updateUserWithRequestBuilder(username: username, body: body).execute(apiResponseQueue) { result in
|
||||
requestTask = updateUserWithRequestBuilder(username: username, body: body).execute(apiResponseQueue) { result in
|
||||
switch result {
|
||||
case .success:
|
||||
promise(.success(()))
|
||||
@@ -415,7 +415,7 @@ open class UserAPI {
|
||||
}
|
||||
}
|
||||
.handleEvents(receiveCancel: {
|
||||
task?.cancel()
|
||||
requestTask?.cancel()
|
||||
})
|
||||
.eraseToAnyPublisher()
|
||||
}
|
||||
|
||||
@@ -36,6 +36,36 @@ extension CaseIterableDefaultsLast {
|
||||
}
|
||||
}
|
||||
|
||||
/// A flexible type that can be encoded (`.encodeNull` or `.encodeValue`)
|
||||
/// or not encoded (`.encodeNothing`). Intended for request payloads.
|
||||
public enum NullEncodable<Wrapped: Hashable>: Hashable {
|
||||
case encodeNothing
|
||||
case encodeNull
|
||||
case encodeValue(Wrapped)
|
||||
}
|
||||
|
||||
extension NullEncodable: Codable where Wrapped: Codable {
|
||||
public init(from decoder: Decoder) throws {
|
||||
let container = try decoder.singleValueContainer()
|
||||
if let value = try? container.decode(Wrapped.self) {
|
||||
self = .encodeValue(value)
|
||||
} else if container.decodeNil() {
|
||||
self = .encodeNull
|
||||
} else {
|
||||
self = .encodeNothing
|
||||
}
|
||||
}
|
||||
|
||||
public func encode(to encoder: Encoder) throws {
|
||||
var container = encoder.singleValueContainer()
|
||||
switch self {
|
||||
case .encodeNothing: return
|
||||
case .encodeNull: try container.encodeNil()
|
||||
case .encodeValue(let wrapped): try container.encode(wrapped)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public enum ErrorResponse: Error {
|
||||
case error(Int, Data?, URLResponse?, Error)
|
||||
}
|
||||
@@ -78,3 +108,16 @@ open class Response<T> {
|
||||
self.init(statusCode: response.statusCode, header: header, body: body)
|
||||
}
|
||||
}
|
||||
|
||||
public final class RequestTask {
|
||||
private var task: URLSessionTask?
|
||||
|
||||
internal func set(task: URLSessionTask) {
|
||||
self.task = task
|
||||
}
|
||||
|
||||
public func cancel() {
|
||||
task?.cancel()
|
||||
task = nil
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,11 +14,11 @@ import AnyCodable
|
||||
public struct Name: Codable, Hashable {
|
||||
|
||||
public var name: Int
|
||||
public var snakeCase: Int?
|
||||
public var snakeCase: NullEncodable<Int> = .encodeValue(11033)
|
||||
public var property: String?
|
||||
public var _123number: Int?
|
||||
|
||||
public init(name: Int, snakeCase: Int? = nil, property: String? = nil, _123number: Int? = nil) {
|
||||
public init(name: Int, snakeCase: NullEncodable<Int> = .encodeValue(11033), property: String? = nil, _123number: Int? = nil) {
|
||||
self.name = name
|
||||
self.snakeCase = snakeCase
|
||||
self.property = property
|
||||
@@ -37,7 +37,10 @@ public struct Name: Codable, Hashable {
|
||||
public func encode(to encoder: Encoder) throws {
|
||||
var container = encoder.container(keyedBy: CodingKeys.self)
|
||||
try container.encode(name, forKey: .name)
|
||||
try container.encodeIfPresent(snakeCase, forKey: .snakeCase)
|
||||
switch snakeCase {
|
||||
case .encodeNothing: break
|
||||
case .encodeNull, .encodeValue: try container.encode(snakeCase, forKey: .snakeCase)
|
||||
}
|
||||
try container.encodeIfPresent(property, forKey: .property)
|
||||
try container.encodeIfPresent(_123number, forKey: ._123number)
|
||||
}
|
||||
|
||||
@@ -23,9 +23,9 @@ public struct Pet: Codable, Hashable {
|
||||
public var photoUrls: [String]
|
||||
public var tags: [Tag]?
|
||||
/** pet status in the store */
|
||||
public var status: Status?
|
||||
public var status: NullEncodable<Status>
|
||||
|
||||
public init(id: Int64? = nil, category: Category? = nil, name: String, photoUrls: [String], tags: [Tag]? = nil, status: Status? = nil) {
|
||||
public init(id: Int64? = nil, category: Category? = nil, name: String, photoUrls: [String], tags: [Tag]? = nil, status: NullEncodable<Status> = .encodeNull) {
|
||||
self.id = id
|
||||
self.category = category
|
||||
self.name = name
|
||||
@@ -52,7 +52,10 @@ public struct Pet: Codable, Hashable {
|
||||
try container.encode(name, forKey: .name)
|
||||
try container.encode(photoUrls, forKey: .photoUrls)
|
||||
try container.encodeIfPresent(tags, forKey: .tags)
|
||||
try container.encodeIfPresent(status, forKey: .status)
|
||||
switch status {
|
||||
case .encodeNothing: break
|
||||
case .encodeNull, .encodeValue: try container.encode(status, forKey: .status)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -100,7 +100,7 @@ open class URLSessionRequestBuilder<T>: RequestBuilder<T> {
|
||||
}
|
||||
|
||||
@discardableResult
|
||||
override open func execute(_ apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, _ completion: @escaping (_ result: Swift.Result<Response<T>, ErrorResponse>) -> Void) -> URLSessionTask? {
|
||||
override open func execute(_ apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, _ completion: @escaping (_ result: Swift.Result<Response<T>, ErrorResponse>) -> Void) -> RequestTask {
|
||||
let urlSession = createURLSession()
|
||||
|
||||
guard let xMethod = HTTPMethod(rawValue: method) else {
|
||||
@@ -172,14 +172,14 @@ open class URLSessionRequestBuilder<T>: RequestBuilder<T> {
|
||||
|
||||
dataTask.resume()
|
||||
|
||||
return dataTask
|
||||
requestTask.set(task: dataTask)
|
||||
} catch {
|
||||
apiResponseQueue.async {
|
||||
completion(.failure(ErrorResponse.error(415, nil, nil, error)))
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
return requestTask
|
||||
}
|
||||
|
||||
fileprivate func processRequestResponse(urlRequest: URLRequest, data: Data?, response: URLResponse?, error: Error?, completion: @escaping (_ result: Swift.Result<Response<T>, ErrorResponse>) -> Void) {
|
||||
@@ -477,6 +477,15 @@ private class FormDataEncoding: ParameterEncoding {
|
||||
)
|
||||
}
|
||||
|
||||
case let data as Data:
|
||||
|
||||
urlRequest = configureDataUploadRequest(
|
||||
urlRequest: urlRequest,
|
||||
boundary: boundary,
|
||||
name: key,
|
||||
data: data
|
||||
)
|
||||
|
||||
default:
|
||||
fatalError("Unprocessable value \(value) with key \(key)")
|
||||
}
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
"repositoryURL": "https://github.com/Flight-School/AnyCodable",
|
||||
"state": {
|
||||
"branch": null,
|
||||
"revision": "876d162385e9862ae8b3c8d65dc301312b040005",
|
||||
"version": "0.6.0"
|
||||
"revision": "b1a7a8a6186f2fcb28f7bda67cfc545de48b3c80",
|
||||
"version": "0.6.2"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
@@ -30,9 +30,9 @@ class PetAPITests: XCTestCase {
|
||||
|
||||
func test1CreatePet() {
|
||||
let expectation = self.expectation(description: "testCreatePet")
|
||||
let category = PetstoreClient.Category(id: 1234, name: "eyeColor")
|
||||
let category = Category(id: 1234, name: "eyeColor")
|
||||
let tags = [Tag(id: 1234, name: "New York"), Tag(id: 124321, name: "Jose")]
|
||||
let newPet = Pet(id: 1000, category: category, name: "Fluffy", photoUrls: ["https://petstore.com/sample/photo1.jpg", "https://petstore.com/sample/photo2.jpg"], tags: tags, status: .available)
|
||||
let newPet = Pet(id: 1000, category: category, name: "Fluffy", photoUrls: ["https://petstore.com/sample/photo1.jpg", "https://petstore.com/sample/photo2.jpg"], tags: tags, status: .encodeValue(.available))
|
||||
|
||||
PetAPI.addPet(body: newPet).sink(receiveCompletion: { (completion) in
|
||||
switch completion {
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
pod install
|
||||
|
||||
xcodebuild -workspace "SwaggerClient.xcworkspace" -scheme "SwaggerClient" test -destination "platform=iOS Simulator,name=iPhone 8,OS=latest" | xcpretty && exit ${PIPESTATUS[0]}
|
||||
xcodebuild clean build-for-testing -workspace "SwaggerClient.xcworkspace" -scheme "SwaggerClient" -destination "platform=iOS Simulator,name=iPhone 8,OS=latest" | xcpretty && exit ${PIPESTATUS[0]}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**name** | **Int** | |
|
||||
**snakeCase** | **Int** | | [optional] [readonly]
|
||||
**snakeCase** | **Int** | | [optional] [readonly] [default to .encodeValue(11033)]
|
||||
**property** | **String** | | [optional]
|
||||
**_123number** | **Int** | | [optional] [readonly]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user