forked from loafle/openapi-generator-original
Fix OpenAPI link in broken Swift4/5 README templates (#6035)
* Fix Swift README templates * Update Swift4/5 samples
This commit is contained in:
parent
4ed3421a77
commit
bafed337b5
@ -5,7 +5,7 @@
|
|||||||
{{/appDescriptionWithNewLines}}
|
{{/appDescriptionWithNewLines}}
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [openapi-spec from a remote server, you can easily generate an API client.
|
This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [openapi-spec](https://github.com/OAI/OpenAPI-Specification) from a remote server, you can easily generate an API client.
|
||||||
|
|
||||||
- API version: {{appVersion}}
|
- API version: {{appVersion}}
|
||||||
- Package version: {{packageVersion}}
|
- Package version: {{packageVersion}}
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
{{/appDescriptionWithNewLines}}
|
{{/appDescriptionWithNewLines}}
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [openapi-spec from a remote server, you can easily generate an API client.
|
This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [openapi-spec](https://github.com/OAI/OpenAPI-Specification) from a remote server, you can easily generate an API client.
|
||||||
|
|
||||||
- API version: {{appVersion}}
|
- API version: {{appVersion}}
|
||||||
- Package version: {{packageVersion}}
|
- Package version: {{packageVersion}}
|
||||||
|
@ -1 +1 @@
|
|||||||
4.3.0-SNAPSHOT
|
4.3.1-SNAPSHOT
|
@ -299,8 +299,6 @@
|
|||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
LastUpgradeCheck = 1020;
|
LastUpgradeCheck = 1020;
|
||||||
TargetAttributes = {
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
buildConfigurationList = ECAB17FF35111B5E14DAAC08 /* Build configuration list for PBXProject "PetstoreClient" */;
|
buildConfigurationList = ECAB17FF35111B5E14DAAC08 /* Build configuration list for PBXProject "PetstoreClient" */;
|
||||||
compatibilityVersion = "Xcode 10.0";
|
compatibilityVersion = "Xcode 10.0";
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [openapi-spec from a remote server, you can easily generate an API client.
|
This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [openapi-spec](https://github.com/OAI/OpenAPI-Specification) from a remote server, you can easily generate an API client.
|
||||||
|
|
||||||
- API version: 1.0.0
|
- API version: 1.0.0
|
||||||
- Package version:
|
- Package version:
|
||||||
|
@ -1 +1 @@
|
|||||||
4.3.0-SNAPSHOT
|
4.3.1-SNAPSHOT
|
@ -299,8 +299,6 @@
|
|||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
LastUpgradeCheck = 1020;
|
LastUpgradeCheck = 1020;
|
||||||
TargetAttributes = {
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
buildConfigurationList = ECAB17FF35111B5E14DAAC08 /* Build configuration list for PBXProject "PetstoreClient" */;
|
buildConfigurationList = ECAB17FF35111B5E14DAAC08 /* Build configuration list for PBXProject "PetstoreClient" */;
|
||||||
compatibilityVersion = "Xcode 10.0";
|
compatibilityVersion = "Xcode 10.0";
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [openapi-spec from a remote server, you can easily generate an API client.
|
This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [openapi-spec](https://github.com/OAI/OpenAPI-Specification) from a remote server, you can easily generate an API client.
|
||||||
|
|
||||||
- API version: 1.0.0
|
- API version: 1.0.0
|
||||||
- Package version:
|
- Package version:
|
||||||
|
@ -1 +1 @@
|
|||||||
4.3.0-SNAPSHOT
|
4.3.1-SNAPSHOT
|
@ -299,8 +299,6 @@
|
|||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
LastUpgradeCheck = 1020;
|
LastUpgradeCheck = 1020;
|
||||||
TargetAttributes = {
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
buildConfigurationList = ECAB17FF35111B5E14DAAC08 /* Build configuration list for PBXProject "PetstoreClient" */;
|
buildConfigurationList = ECAB17FF35111B5E14DAAC08 /* Build configuration list for PBXProject "PetstoreClient" */;
|
||||||
compatibilityVersion = "Xcode 10.0";
|
compatibilityVersion = "Xcode 10.0";
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [openapi-spec from a remote server, you can easily generate an API client.
|
This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [openapi-spec](https://github.com/OAI/OpenAPI-Specification) from a remote server, you can easily generate an API client.
|
||||||
|
|
||||||
- API version: 1.0.0
|
- API version: 1.0.0
|
||||||
- Package version:
|
- Package version:
|
||||||
|
@ -1 +1 @@
|
|||||||
4.3.0-SNAPSHOT
|
4.3.1-SNAPSHOT
|
@ -303,8 +303,6 @@
|
|||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
LastUpgradeCheck = 1020;
|
LastUpgradeCheck = 1020;
|
||||||
TargetAttributes = {
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
buildConfigurationList = ECAB17FF35111B5E14DAAC08 /* Build configuration list for PBXProject "PetstoreClient" */;
|
buildConfigurationList = ECAB17FF35111B5E14DAAC08 /* Build configuration list for PBXProject "PetstoreClient" */;
|
||||||
compatibilityVersion = "Xcode 10.0";
|
compatibilityVersion = "Xcode 10.0";
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [openapi-spec from a remote server, you can easily generate an API client.
|
This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [openapi-spec](https://github.com/OAI/OpenAPI-Specification) from a remote server, you can easily generate an API client.
|
||||||
|
|
||||||
- API version: 1.0.0
|
- API version: 1.0.0
|
||||||
- Package version:
|
- Package version:
|
||||||
|
@ -1 +1 @@
|
|||||||
4.3.0-SNAPSHOT
|
4.3.1-SNAPSHOT
|
@ -302,8 +302,6 @@
|
|||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
LastUpgradeCheck = 1020;
|
LastUpgradeCheck = 1020;
|
||||||
TargetAttributes = {
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
buildConfigurationList = ECAB17FF35111B5E14DAAC08 /* Build configuration list for PBXProject "PetstoreClient" */;
|
buildConfigurationList = ECAB17FF35111B5E14DAAC08 /* Build configuration list for PBXProject "PetstoreClient" */;
|
||||||
compatibilityVersion = "Xcode 10.0";
|
compatibilityVersion = "Xcode 10.0";
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [openapi-spec from a remote server, you can easily generate an API client.
|
This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [openapi-spec](https://github.com/OAI/OpenAPI-Specification) from a remote server, you can easily generate an API client.
|
||||||
|
|
||||||
- API version: 1.0.0
|
- API version: 1.0.0
|
||||||
- Package version:
|
- Package version:
|
||||||
|
@ -1 +1 @@
|
|||||||
4.3.0-SNAPSHOT
|
4.3.1-SNAPSHOT
|
@ -303,8 +303,6 @@
|
|||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
LastUpgradeCheck = 1020;
|
LastUpgradeCheck = 1020;
|
||||||
TargetAttributes = {
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
buildConfigurationList = ECAB17FF35111B5E14DAAC08 /* Build configuration list for PBXProject "PetstoreClient" */;
|
buildConfigurationList = ECAB17FF35111B5E14DAAC08 /* Build configuration list for PBXProject "PetstoreClient" */;
|
||||||
compatibilityVersion = "Xcode 10.0";
|
compatibilityVersion = "Xcode 10.0";
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [openapi-spec from a remote server, you can easily generate an API client.
|
This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [openapi-spec](https://github.com/OAI/OpenAPI-Specification) from a remote server, you can easily generate an API client.
|
||||||
|
|
||||||
- API version: 1.0.0
|
- API version: 1.0.0
|
||||||
- Package version:
|
- Package version:
|
||||||
|
@ -1 +1 @@
|
|||||||
4.3.0-SNAPSHOT
|
4.3.1-SNAPSHOT
|
@ -299,8 +299,6 @@
|
|||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
LastUpgradeCheck = 1020;
|
LastUpgradeCheck = 1020;
|
||||||
TargetAttributes = {
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
buildConfigurationList = ECAB17FF35111B5E14DAAC08 /* Build configuration list for PBXProject "PetstoreClient" */;
|
buildConfigurationList = ECAB17FF35111B5E14DAAC08 /* Build configuration list for PBXProject "PetstoreClient" */;
|
||||||
compatibilityVersion = "Xcode 10.0";
|
compatibilityVersion = "Xcode 10.0";
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [openapi-spec from a remote server, you can easily generate an API client.
|
This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [openapi-spec](https://github.com/OAI/OpenAPI-Specification) from a remote server, you can easily generate an API client.
|
||||||
|
|
||||||
- API version: 1.0.0
|
- API version: 1.0.0
|
||||||
- Package version:
|
- Package version:
|
||||||
|
@ -305,14 +305,13 @@
|
|||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
LastUpgradeCheck = 1020;
|
LastUpgradeCheck = 1020;
|
||||||
TargetAttributes = {
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
buildConfigurationList = ECAB17FF35111B5E14DAAC08 /* Build configuration list for PBXProject "PetstoreClient" */;
|
buildConfigurationList = ECAB17FF35111B5E14DAAC08 /* Build configuration list for PBXProject "PetstoreClient" */;
|
||||||
compatibilityVersion = "Xcode 10.0";
|
compatibilityVersion = "Xcode 10.0";
|
||||||
developmentRegion = en;
|
developmentRegion = en;
|
||||||
hasScannedForEncodings = 0;
|
hasScannedForEncodings = 0;
|
||||||
knownRegions = (
|
knownRegions = (
|
||||||
|
Base,
|
||||||
en,
|
en,
|
||||||
);
|
);
|
||||||
mainGroup = 5FBA6AE5F64CD737F88B4565;
|
mainGroup = 5FBA6AE5F64CD737F88B4565;
|
||||||
@ -568,7 +567,7 @@
|
|||||||
3B2C02AFB91CB5C82766ED5C /* Release */,
|
3B2C02AFB91CB5C82766ED5C /* Release */,
|
||||||
);
|
);
|
||||||
defaultConfigurationIsVisible = 0;
|
defaultConfigurationIsVisible = 0;
|
||||||
defaultConfigurationName = Debug;
|
defaultConfigurationName = "";
|
||||||
};
|
};
|
||||||
ECAB17FF35111B5E14DAAC08 /* Build configuration list for PBXProject "PetstoreClient" */ = {
|
ECAB17FF35111B5E14DAAC08 /* Build configuration list for PBXProject "PetstoreClient" */ = {
|
||||||
isa = XCConfigurationList;
|
isa = XCConfigurationList;
|
||||||
|
@ -2,6 +2,6 @@
|
|||||||
<Workspace
|
<Workspace
|
||||||
version = "1.0">
|
version = "1.0">
|
||||||
<FileRef
|
<FileRef
|
||||||
location = "self:PetstoreClient.xcodeproj">
|
location = "self:">
|
||||||
</FileRef>
|
</FileRef>
|
||||||
</Workspace>
|
</Workspace>
|
||||||
|
@ -41,6 +41,10 @@
|
|||||||
</MacroExpansion>
|
</MacroExpansion>
|
||||||
<CommandLineArguments>
|
<CommandLineArguments>
|
||||||
</CommandLineArguments>
|
</CommandLineArguments>
|
||||||
|
<AdditionalOptions>
|
||||||
|
</AdditionalOptions>
|
||||||
|
<CodeCoverageTargets>
|
||||||
|
</CodeCoverageTargets>
|
||||||
</TestAction>
|
</TestAction>
|
||||||
<LaunchAction
|
<LaunchAction
|
||||||
buildConfiguration = "Debug"
|
buildConfiguration = "Debug"
|
||||||
@ -63,6 +67,8 @@
|
|||||||
</MacroExpansion>
|
</MacroExpansion>
|
||||||
<CommandLineArguments>
|
<CommandLineArguments>
|
||||||
</CommandLineArguments>
|
</CommandLineArguments>
|
||||||
|
<AdditionalOptions>
|
||||||
|
</AdditionalOptions>
|
||||||
</LaunchAction>
|
</LaunchAction>
|
||||||
<ProfileAction
|
<ProfileAction
|
||||||
buildConfiguration = "Release"
|
buildConfiguration = "Release"
|
||||||
|
@ -41,7 +41,7 @@ open class RequestBuilder<T> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
open func execute(_ apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, _ completion: @escaping (_ result: Result<Response<T>, Error>) -> Void) { }
|
open func execute(_ apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, _ completion: @escaping (_ result: Swift.Result<Response<T>, Error>) -> Void) { }
|
||||||
|
|
||||||
public func addHeader(name: String, value: String) -> Self {
|
public func addHeader(name: String, value: String) -> Self {
|
||||||
if !value.isEmpty {
|
if !value.isEmpty {
|
||||||
|
@ -38,11 +38,11 @@ open class CodableHelper {
|
|||||||
set { self.customJSONEncoder = newValue }
|
set { self.customJSONEncoder = newValue }
|
||||||
}
|
}
|
||||||
|
|
||||||
open class func decode<T>(_ type: T.Type, from data: Data) -> Result<T, Error> where T: Decodable {
|
open class func decode<T>(_ type: T.Type, from data: Data) -> Swift.Result<T, Error> where T: Decodable {
|
||||||
return Result { try self.jsonDecoder.decode(type, from: data) }
|
return Swift.Result { try self.jsonDecoder.decode(type, from: data) }
|
||||||
}
|
}
|
||||||
|
|
||||||
open class func encode<T>(_ value: T) -> Result<Data, Error> where T: Encodable {
|
open class func encode<T>(_ value: T) -> Swift.Result<Data, Error> where T: Encodable {
|
||||||
return Result { try self.jsonEncoder.encode(value) }
|
return Swift.Result { try self.jsonEncoder.encode(value) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [openapi-spec from a remote server, you can easily generate an API client.
|
This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [openapi-spec](https://github.com/OAI/OpenAPI-Specification) from a remote server, you can easily generate an API client.
|
||||||
|
|
||||||
- API version: 1.0.0
|
- API version: 1.0.0
|
||||||
- Package version:
|
- Package version:
|
||||||
|
@ -265,14 +265,13 @@
|
|||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
LastUpgradeCheck = 1020;
|
LastUpgradeCheck = 1020;
|
||||||
TargetAttributes = {
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
buildConfigurationList = ECAB17FF35111B5E14DAAC08 /* Build configuration list for PBXProject "PetstoreClient" */;
|
buildConfigurationList = ECAB17FF35111B5E14DAAC08 /* Build configuration list for PBXProject "PetstoreClient" */;
|
||||||
compatibilityVersion = "Xcode 10.0";
|
compatibilityVersion = "Xcode 10.0";
|
||||||
developmentRegion = en;
|
developmentRegion = en;
|
||||||
hasScannedForEncodings = 0;
|
hasScannedForEncodings = 0;
|
||||||
knownRegions = (
|
knownRegions = (
|
||||||
|
Base,
|
||||||
en,
|
en,
|
||||||
);
|
);
|
||||||
mainGroup = 5FBA6AE5F64CD737F88B4565;
|
mainGroup = 5FBA6AE5F64CD737F88B4565;
|
||||||
@ -520,7 +519,7 @@
|
|||||||
3B2C02AFB91CB5C82766ED5C /* Release */,
|
3B2C02AFB91CB5C82766ED5C /* Release */,
|
||||||
);
|
);
|
||||||
defaultConfigurationIsVisible = 0;
|
defaultConfigurationIsVisible = 0;
|
||||||
defaultConfigurationName = Debug;
|
defaultConfigurationName = "";
|
||||||
};
|
};
|
||||||
ECAB17FF35111B5E14DAAC08 /* Build configuration list for PBXProject "PetstoreClient" */ = {
|
ECAB17FF35111B5E14DAAC08 /* Build configuration list for PBXProject "PetstoreClient" */ = {
|
||||||
isa = XCConfigurationList;
|
isa = XCConfigurationList;
|
||||||
|
@ -2,6 +2,6 @@
|
|||||||
<Workspace
|
<Workspace
|
||||||
version = "1.0">
|
version = "1.0">
|
||||||
<FileRef
|
<FileRef
|
||||||
location = "self:PetstoreClient.xcodeproj">
|
location = "self:">
|
||||||
</FileRef>
|
</FileRef>
|
||||||
</Workspace>
|
</Workspace>
|
||||||
|
@ -41,6 +41,10 @@
|
|||||||
</MacroExpansion>
|
</MacroExpansion>
|
||||||
<CommandLineArguments>
|
<CommandLineArguments>
|
||||||
</CommandLineArguments>
|
</CommandLineArguments>
|
||||||
|
<AdditionalOptions>
|
||||||
|
</AdditionalOptions>
|
||||||
|
<CodeCoverageTargets>
|
||||||
|
</CodeCoverageTargets>
|
||||||
</TestAction>
|
</TestAction>
|
||||||
<LaunchAction
|
<LaunchAction
|
||||||
buildConfiguration = "Debug"
|
buildConfiguration = "Debug"
|
||||||
@ -63,6 +67,8 @@
|
|||||||
</MacroExpansion>
|
</MacroExpansion>
|
||||||
<CommandLineArguments>
|
<CommandLineArguments>
|
||||||
</CommandLineArguments>
|
</CommandLineArguments>
|
||||||
|
<AdditionalOptions>
|
||||||
|
</AdditionalOptions>
|
||||||
</LaunchAction>
|
</LaunchAction>
|
||||||
<ProfileAction
|
<ProfileAction
|
||||||
buildConfiguration = "Release"
|
buildConfiguration = "Release"
|
||||||
|
@ -43,7 +43,7 @@ open class RequestBuilder<T> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
open func execute(_ apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, _ completion: @escaping (_ result: Result<Response<T>, Error>) -> Void) { }
|
open func execute(_ apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, _ completion: @escaping (_ result: Swift.Result<Response<T>, Error>) -> Void) { }
|
||||||
|
|
||||||
public func addHeader(name: String, value: String) -> Self {
|
public func addHeader(name: String, value: String) -> Self {
|
||||||
if !value.isEmpty {
|
if !value.isEmpty {
|
||||||
|
@ -38,11 +38,11 @@ open class CodableHelper {
|
|||||||
set { self.customJSONEncoder = newValue }
|
set { self.customJSONEncoder = newValue }
|
||||||
}
|
}
|
||||||
|
|
||||||
open class func decode<T>(_ type: T.Type, from data: Data) -> Result<T, Error> where T: Decodable {
|
open class func decode<T>(_ type: T.Type, from data: Data) -> Swift.Result<T, Error> where T: Decodable {
|
||||||
return Result { try self.jsonDecoder.decode(type, from: data) }
|
return Swift.Result { try self.jsonDecoder.decode(type, from: data) }
|
||||||
}
|
}
|
||||||
|
|
||||||
open class func encode<T>(_ value: T) -> Result<Data, Error> where T: Encodable {
|
open class func encode<T>(_ value: T) -> Swift.Result<Data, Error> where T: Encodable {
|
||||||
return Result { try self.jsonEncoder.encode(value) }
|
return Swift.Result { try self.jsonEncoder.encode(value) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -102,7 +102,7 @@ open class URLSessionRequestBuilder<T>: RequestBuilder<T> {
|
|||||||
return modifiedRequest
|
return modifiedRequest
|
||||||
}
|
}
|
||||||
|
|
||||||
override open func execute(_ apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, _ completion: @escaping (_ result: Result<Response<T>, Error>) -> Void) {
|
override open func execute(_ apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, _ completion: @escaping (_ result: Swift.Result<Response<T>, Error>) -> Void) {
|
||||||
let urlSessionId: String = UUID().uuidString
|
let urlSessionId: String = UUID().uuidString
|
||||||
// Create a new manager for each request to customize its request header
|
// Create a new manager for each request to customize its request header
|
||||||
let urlSession = createURLSession()
|
let urlSession = createURLSession()
|
||||||
@ -180,7 +180,7 @@ open class URLSessionRequestBuilder<T>: RequestBuilder<T> {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fileprivate func processRequestResponse(urlRequest: URLRequest, data: Data?, response: URLResponse?, error: Error?, completion: @escaping (_ result: Result<Response<T>, Error>) -> Void) {
|
fileprivate func processRequestResponse(urlRequest: URLRequest, data: Data?, response: URLResponse?, error: Error?, completion: @escaping (_ result: Swift.Result<Response<T>, Error>) -> Void) {
|
||||||
|
|
||||||
if let error = error {
|
if let error = error {
|
||||||
completion(.failure(ErrorResponse.error(-1, data, error)))
|
completion(.failure(ErrorResponse.error(-1, data, error)))
|
||||||
@ -312,7 +312,7 @@ open class URLSessionRequestBuilder<T>: RequestBuilder<T> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
open class URLSessionDecodableRequestBuilder<T: Decodable>: URLSessionRequestBuilder<T> {
|
open class URLSessionDecodableRequestBuilder<T: Decodable>: URLSessionRequestBuilder<T> {
|
||||||
override fileprivate func processRequestResponse(urlRequest: URLRequest, data: Data?, response: URLResponse?, error: Error?, completion: @escaping (_ result: Result<Response<T>, Error>) -> Void) {
|
override fileprivate func processRequestResponse(urlRequest: URLRequest, data: Data?, response: URLResponse?, error: Error?, completion: @escaping (_ result: Swift.Result<Response<T>, Error>) -> Void) {
|
||||||
|
|
||||||
if let error = error {
|
if let error = error {
|
||||||
completion(.failure(ErrorResponse.error(-1, data, error)))
|
completion(.failure(ErrorResponse.error(-1, data, error)))
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [openapi-spec from a remote server, you can easily generate an API client.
|
This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [openapi-spec](https://github.com/OAI/OpenAPI-Specification) from a remote server, you can easily generate an API client.
|
||||||
|
|
||||||
- API version: 1.0.0
|
- API version: 1.0.0
|
||||||
- Package version:
|
- Package version:
|
||||||
|
@ -14,7 +14,7 @@ let package = Package(
|
|||||||
// Products define the executables and libraries produced by a package, and make them visible to other packages.
|
// Products define the executables and libraries produced by a package, and make them visible to other packages.
|
||||||
.library(
|
.library(
|
||||||
name: "PetstoreClient",
|
name: "PetstoreClient",
|
||||||
targets: ["PetstoreClient"]),
|
targets: ["PetstoreClient"])
|
||||||
],
|
],
|
||||||
dependencies: [
|
dependencies: [
|
||||||
// Dependencies declare other packages that this package depends on.
|
// Dependencies declare other packages that this package depends on.
|
||||||
@ -26,6 +26,6 @@ let package = Package(
|
|||||||
name: "PetstoreClient",
|
name: "PetstoreClient",
|
||||||
dependencies: [],
|
dependencies: [],
|
||||||
path: "PetstoreClient/Classes"
|
path: "PetstoreClient/Classes"
|
||||||
),
|
)
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
@ -265,14 +265,13 @@
|
|||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
LastUpgradeCheck = 1020;
|
LastUpgradeCheck = 1020;
|
||||||
TargetAttributes = {
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
buildConfigurationList = ECAB17FF35111B5E14DAAC08 /* Build configuration list for PBXProject "PetstoreClient" */;
|
buildConfigurationList = ECAB17FF35111B5E14DAAC08 /* Build configuration list for PBXProject "PetstoreClient" */;
|
||||||
compatibilityVersion = "Xcode 10.0";
|
compatibilityVersion = "Xcode 10.0";
|
||||||
developmentRegion = en;
|
developmentRegion = en;
|
||||||
hasScannedForEncodings = 0;
|
hasScannedForEncodings = 0;
|
||||||
knownRegions = (
|
knownRegions = (
|
||||||
|
Base,
|
||||||
en,
|
en,
|
||||||
);
|
);
|
||||||
mainGroup = 5FBA6AE5F64CD737F88B4565;
|
mainGroup = 5FBA6AE5F64CD737F88B4565;
|
||||||
@ -520,7 +519,7 @@
|
|||||||
3B2C02AFB91CB5C82766ED5C /* Release */,
|
3B2C02AFB91CB5C82766ED5C /* Release */,
|
||||||
);
|
);
|
||||||
defaultConfigurationIsVisible = 0;
|
defaultConfigurationIsVisible = 0;
|
||||||
defaultConfigurationName = Debug;
|
defaultConfigurationName = "";
|
||||||
};
|
};
|
||||||
ECAB17FF35111B5E14DAAC08 /* Build configuration list for PBXProject "PetstoreClient" */ = {
|
ECAB17FF35111B5E14DAAC08 /* Build configuration list for PBXProject "PetstoreClient" */ = {
|
||||||
isa = XCConfigurationList;
|
isa = XCConfigurationList;
|
||||||
|
@ -2,6 +2,6 @@
|
|||||||
<Workspace
|
<Workspace
|
||||||
version = "1.0">
|
version = "1.0">
|
||||||
<FileRef
|
<FileRef
|
||||||
location = "self:PetstoreClient.xcodeproj">
|
location = "self:">
|
||||||
</FileRef>
|
</FileRef>
|
||||||
</Workspace>
|
</Workspace>
|
||||||
|
@ -41,6 +41,10 @@
|
|||||||
</MacroExpansion>
|
</MacroExpansion>
|
||||||
<CommandLineArguments>
|
<CommandLineArguments>
|
||||||
</CommandLineArguments>
|
</CommandLineArguments>
|
||||||
|
<AdditionalOptions>
|
||||||
|
</AdditionalOptions>
|
||||||
|
<CodeCoverageTargets>
|
||||||
|
</CodeCoverageTargets>
|
||||||
</TestAction>
|
</TestAction>
|
||||||
<LaunchAction
|
<LaunchAction
|
||||||
buildConfiguration = "Debug"
|
buildConfiguration = "Debug"
|
||||||
@ -63,6 +67,8 @@
|
|||||||
</MacroExpansion>
|
</MacroExpansion>
|
||||||
<CommandLineArguments>
|
<CommandLineArguments>
|
||||||
</CommandLineArguments>
|
</CommandLineArguments>
|
||||||
|
<AdditionalOptions>
|
||||||
|
</AdditionalOptions>
|
||||||
</LaunchAction>
|
</LaunchAction>
|
||||||
<ProfileAction
|
<ProfileAction
|
||||||
buildConfiguration = "Release"
|
buildConfiguration = "Release"
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
public struct APIHelper {
|
public struct APIHelper {
|
||||||
public static func rejectNil(_ source: [String:Any?]) -> [String:Any]? {
|
public static func rejectNil(_ source: [String: Any?]) -> [String: Any]? {
|
||||||
let destination = source.reduce(into: [String: Any]()) { (result, item) in
|
let destination = source.reduce(into: [String: Any]()) { (result, item) in
|
||||||
if let value = item.value {
|
if let value = item.value {
|
||||||
result[item.key] = value
|
result[item.key] = value
|
||||||
@ -20,17 +20,17 @@ public struct APIHelper {
|
|||||||
return destination
|
return destination
|
||||||
}
|
}
|
||||||
|
|
||||||
public static func rejectNilHeaders(_ source: [String:Any?]) -> [String:String] {
|
public static func rejectNilHeaders(_ source: [String: Any?]) -> [String: String] {
|
||||||
return source.reduce(into: [String: String]()) { (result, item) in
|
return source.reduce(into: [String: String]()) { (result, item) in
|
||||||
if let collection = item.value as? Array<Any?> {
|
if let collection = item.value as? [Any?] {
|
||||||
result[item.key] = collection.filter({ $0 != nil }).map{ "\($0!)" }.joined(separator: ",")
|
result[item.key] = collection.filter({ $0 != nil }).map { "\($0!)" }.joined(separator: ",")
|
||||||
} else if let value: Any = item.value {
|
} else if let value: Any = item.value {
|
||||||
result[item.key] = "\(value)"
|
result[item.key] = "\(value)"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static func convertBoolToString(_ source: [String: Any]?) -> [String:Any]? {
|
public static func convertBoolToString(_ source: [String: Any]?) -> [String: Any]? {
|
||||||
guard let source = source else {
|
guard let source = source else {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -46,15 +46,15 @@ public struct APIHelper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static func mapValueToPathItem(_ source: Any) -> Any {
|
public static func mapValueToPathItem(_ source: Any) -> Any {
|
||||||
if let collection = source as? Array<Any?> {
|
if let collection = source as? [Any?] {
|
||||||
return collection.filter({ $0 != nil }).map({"\($0!)"}).joined(separator: ",")
|
return collection.filter({ $0 != nil }).map({"\($0!)"}).joined(separator: ",")
|
||||||
}
|
}
|
||||||
return source
|
return source
|
||||||
}
|
}
|
||||||
|
|
||||||
public static func mapValuesToQueryItems(_ source: [String:Any?]) -> [URLQueryItem]? {
|
public static func mapValuesToQueryItems(_ source: [String: Any?]) -> [URLQueryItem]? {
|
||||||
let destination = source.filter({ $0.value != nil}).reduce(into: [URLQueryItem]()) { (result, item) in
|
let destination = source.filter({ $0.value != nil}).reduce(into: [URLQueryItem]()) { (result, item) in
|
||||||
if let collection = item.value as? Array<Any?> {
|
if let collection = item.value as? [Any?] {
|
||||||
let value = collection.filter({ $0 != nil }).map({"\($0!)"}).joined(separator: ",")
|
let value = collection.filter({ $0 != nil }).map({"\($0!)"}).joined(separator: ",")
|
||||||
result.append(URLQueryItem(name: item.key, value: value))
|
result.append(URLQueryItem(name: item.key, value: value))
|
||||||
} else if let value = item.value {
|
} else if let value = item.value {
|
||||||
@ -68,4 +68,3 @@ public struct APIHelper {
|
|||||||
return destination
|
return destination
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9,15 +9,15 @@ import Foundation
|
|||||||
open class PetstoreClientAPI {
|
open class PetstoreClientAPI {
|
||||||
public static var basePath = "http://petstore.swagger.io:80/v2"
|
public static var basePath = "http://petstore.swagger.io:80/v2"
|
||||||
public static var credential: URLCredential?
|
public static var credential: URLCredential?
|
||||||
public static var customHeaders: [String:String] = [:]
|
public static var customHeaders: [String: String] = [:]
|
||||||
public static var requestBuilderFactory: RequestBuilderFactory = URLSessionRequestBuilderFactory()
|
public static var requestBuilderFactory: RequestBuilderFactory = URLSessionRequestBuilderFactory()
|
||||||
public static var apiResponseQueue: DispatchQueue = .main
|
public static var apiResponseQueue: DispatchQueue = .main
|
||||||
}
|
}
|
||||||
|
|
||||||
open class RequestBuilder<T> {
|
open class RequestBuilder<T> {
|
||||||
var credential: URLCredential?
|
var credential: URLCredential?
|
||||||
var headers: [String:String]
|
var headers: [String: String]
|
||||||
public let parameters: [String:Any]?
|
public let parameters: [String: Any]?
|
||||||
public let isBody: Bool
|
public let isBody: Bool
|
||||||
public let method: String
|
public let method: String
|
||||||
public let URLString: String
|
public let URLString: String
|
||||||
@ -25,9 +25,9 @@ open class RequestBuilder<T> {
|
|||||||
/// Optional block to obtain a reference to the request's progress instance when available.
|
/// 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.
|
/// 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.
|
||||||
/// If you need to get the request's progress in older OS versions, please use Alamofire http client.
|
/// If you need to get the request's progress in older OS versions, please use Alamofire http client.
|
||||||
public var onProgressReady: ((Progress) -> ())?
|
public var onProgressReady: ((Progress) -> Void)?
|
||||||
|
|
||||||
required public init(method: String, URLString: String, parameters: [String:Any]?, isBody: Bool, headers: [String:String] = [:]) {
|
required public init(method: String, URLString: String, parameters: [String: Any]?, isBody: Bool, headers: [String: String] = [:]) {
|
||||||
self.method = method
|
self.method = method
|
||||||
self.URLString = URLString
|
self.URLString = URLString
|
||||||
self.parameters = parameters
|
self.parameters = parameters
|
||||||
@ -37,7 +37,7 @@ open class RequestBuilder<T> {
|
|||||||
addHeaders(PetstoreClientAPI.customHeaders)
|
addHeaders(PetstoreClientAPI.customHeaders)
|
||||||
}
|
}
|
||||||
|
|
||||||
open func addHeaders(_ aHeaders:[String:String]) {
|
open func addHeaders(_ aHeaders: [String: String]) {
|
||||||
for (header, value) in aHeaders {
|
for (header, value) in aHeaders {
|
||||||
headers[header] = value
|
headers[header] = value
|
||||||
}
|
}
|
||||||
@ -60,5 +60,5 @@ open class RequestBuilder<T> {
|
|||||||
|
|
||||||
public protocol RequestBuilderFactory {
|
public protocol RequestBuilderFactory {
|
||||||
func getNonDecodableBuilder<T>() -> RequestBuilder<T>.Type
|
func getNonDecodableBuilder<T>() -> RequestBuilder<T>.Type
|
||||||
func getBuilder<T:Decodable>() -> RequestBuilder<T>.Type
|
func getBuilder<T: Decodable>() -> RequestBuilder<T>.Type
|
||||||
}
|
}
|
||||||
|
@ -7,8 +7,6 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
open class AnotherFakeAPI {
|
open class AnotherFakeAPI {
|
||||||
/**
|
/**
|
||||||
To test special tags
|
To test special tags
|
||||||
@ -17,7 +15,7 @@ open class AnotherFakeAPI {
|
|||||||
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
||||||
- parameter completion: completion handler to receive the data and the error objects
|
- parameter completion: completion handler to receive the data and the error objects
|
||||||
*/
|
*/
|
||||||
open class func call123testSpecialTags(body: Client, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Client?,_ error: Error?) -> Void)) {
|
open class func call123testSpecialTags(body: Client, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Client?, _ error: Error?) -> Void)) {
|
||||||
call123testSpecialTagsWithRequestBuilder(body: body).execute(apiResponseQueue) { result -> Void in
|
call123testSpecialTagsWithRequestBuilder(body: body).execute(apiResponseQueue) { result -> Void in
|
||||||
switch result {
|
switch result {
|
||||||
case let .success(response):
|
case let .success(response):
|
||||||
|
@ -7,8 +7,6 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
open class FakeAPI {
|
open class FakeAPI {
|
||||||
/**
|
/**
|
||||||
|
|
||||||
@ -16,7 +14,7 @@ open class FakeAPI {
|
|||||||
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
||||||
- parameter completion: completion handler to receive the data and the error objects
|
- parameter completion: completion handler to receive the data and the error objects
|
||||||
*/
|
*/
|
||||||
open class func fakeOuterBooleanSerialize(body: Bool? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Bool?,_ error: Error?) -> Void)) {
|
open class func fakeOuterBooleanSerialize(body: Bool? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Bool?, _ error: Error?) -> Void)) {
|
||||||
fakeOuterBooleanSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result -> Void in
|
fakeOuterBooleanSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result -> Void in
|
||||||
switch result {
|
switch result {
|
||||||
case let .success(response):
|
case let .success(response):
|
||||||
@ -51,7 +49,7 @@ open class FakeAPI {
|
|||||||
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
||||||
- parameter completion: completion handler to receive the data and the error objects
|
- parameter completion: completion handler to receive the data and the error objects
|
||||||
*/
|
*/
|
||||||
open class func fakeOuterCompositeSerialize(body: OuterComposite? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: OuterComposite?,_ error: Error?) -> Void)) {
|
open class func fakeOuterCompositeSerialize(body: OuterComposite? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: OuterComposite?, _ error: Error?) -> Void)) {
|
||||||
fakeOuterCompositeSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result -> Void in
|
fakeOuterCompositeSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result -> Void in
|
||||||
switch result {
|
switch result {
|
||||||
case let .success(response):
|
case let .success(response):
|
||||||
@ -86,7 +84,7 @@ open class FakeAPI {
|
|||||||
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
||||||
- parameter completion: completion handler to receive the data and the error objects
|
- parameter completion: completion handler to receive the data and the error objects
|
||||||
*/
|
*/
|
||||||
open class func fakeOuterNumberSerialize(body: Double? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Double?,_ error: Error?) -> Void)) {
|
open class func fakeOuterNumberSerialize(body: Double? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Double?, _ error: Error?) -> Void)) {
|
||||||
fakeOuterNumberSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result -> Void in
|
fakeOuterNumberSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result -> Void in
|
||||||
switch result {
|
switch result {
|
||||||
case let .success(response):
|
case let .success(response):
|
||||||
@ -121,7 +119,7 @@ open class FakeAPI {
|
|||||||
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
||||||
- parameter completion: completion handler to receive the data and the error objects
|
- parameter completion: completion handler to receive the data and the error objects
|
||||||
*/
|
*/
|
||||||
open class func fakeOuterStringSerialize(body: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: String?,_ error: Error?) -> Void)) {
|
open class func fakeOuterStringSerialize(body: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: String?, _ error: Error?) -> Void)) {
|
||||||
fakeOuterStringSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result -> Void in
|
fakeOuterStringSerializeWithRequestBuilder(body: body).execute(apiResponseQueue) { result -> Void in
|
||||||
switch result {
|
switch result {
|
||||||
case let .success(response):
|
case let .success(response):
|
||||||
@ -156,7 +154,7 @@ open class FakeAPI {
|
|||||||
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
||||||
- parameter completion: completion handler to receive the data and the error objects
|
- parameter completion: completion handler to receive the data and the error objects
|
||||||
*/
|
*/
|
||||||
open class func testBodyWithFileSchema(body: FileSchemaTestClass, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Void?,_ error: Error?) -> Void)) {
|
open class func testBodyWithFileSchema(body: FileSchemaTestClass, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Void?, _ error: Error?) -> Void)) {
|
||||||
testBodyWithFileSchemaWithRequestBuilder(body: body).execute(apiResponseQueue) { result -> Void in
|
testBodyWithFileSchemaWithRequestBuilder(body: body).execute(apiResponseQueue) { result -> Void in
|
||||||
switch result {
|
switch result {
|
||||||
case .success:
|
case .success:
|
||||||
@ -192,7 +190,7 @@ open class FakeAPI {
|
|||||||
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
||||||
- parameter completion: completion handler to receive the data and the error objects
|
- parameter completion: completion handler to receive the data and the error objects
|
||||||
*/
|
*/
|
||||||
open class func testBodyWithQueryParams(query: String, body: User, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Void?,_ error: Error?) -> Void)) {
|
open class func testBodyWithQueryParams(query: String, body: User, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Void?, _ error: Error?) -> Void)) {
|
||||||
testBodyWithQueryParamsWithRequestBuilder(query: query, body: body).execute(apiResponseQueue) { result -> Void in
|
testBodyWithQueryParamsWithRequestBuilder(query: query, body: body).execute(apiResponseQueue) { result -> Void in
|
||||||
switch result {
|
switch result {
|
||||||
case .success:
|
case .success:
|
||||||
@ -231,7 +229,7 @@ open class FakeAPI {
|
|||||||
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
||||||
- parameter completion: completion handler to receive the data and the error objects
|
- parameter completion: completion handler to receive the data and the error objects
|
||||||
*/
|
*/
|
||||||
open class func testClientModel(body: Client, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Client?,_ error: Error?) -> Void)) {
|
open class func testClientModel(body: Client, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Client?, _ error: Error?) -> Void)) {
|
||||||
testClientModelWithRequestBuilder(body: body).execute(apiResponseQueue) { result -> Void in
|
testClientModelWithRequestBuilder(body: body).execute(apiResponseQueue) { result -> Void in
|
||||||
switch result {
|
switch result {
|
||||||
case let .success(response):
|
case let .success(response):
|
||||||
@ -281,7 +279,7 @@ open class FakeAPI {
|
|||||||
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
||||||
- parameter completion: completion handler to receive the data and the error objects
|
- parameter completion: completion handler to receive the data and the error objects
|
||||||
*/
|
*/
|
||||||
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, completion: @escaping ((_ data: Void?,_ error: Error?) -> Void)) {
|
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, completion: @escaping ((_ data: Void?, _ error: Error?) -> Void)) {
|
||||||
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 -> Void in
|
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 -> Void in
|
||||||
switch result {
|
switch result {
|
||||||
case .success:
|
case .success:
|
||||||
@ -318,7 +316,7 @@ open class FakeAPI {
|
|||||||
open class func testEndpointParametersWithRequestBuilder(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) -> RequestBuilder<Void> {
|
open class func testEndpointParametersWithRequestBuilder(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) -> RequestBuilder<Void> {
|
||||||
let path = "/fake"
|
let path = "/fake"
|
||||||
let URLString = PetstoreClientAPI.basePath + path
|
let URLString = PetstoreClientAPI.basePath + path
|
||||||
let formParams: [String:Any?] = [
|
let formParams: [String: Any?] = [
|
||||||
"integer": integer?.encodeToJSON(),
|
"integer": integer?.encodeToJSON(),
|
||||||
"int32": int32?.encodeToJSON(),
|
"int32": int32?.encodeToJSON(),
|
||||||
"int64": int64?.encodeToJSON(),
|
"int64": int64?.encodeToJSON(),
|
||||||
@ -337,7 +335,7 @@ open class FakeAPI {
|
|||||||
|
|
||||||
let nonNullParameters = APIHelper.rejectNil(formParams)
|
let nonNullParameters = APIHelper.rejectNil(formParams)
|
||||||
let parameters = APIHelper.convertBoolToString(nonNullParameters)
|
let parameters = APIHelper.convertBoolToString(nonNullParameters)
|
||||||
|
|
||||||
let url = URLComponents(string: URLString)
|
let url = URLComponents(string: URLString)
|
||||||
|
|
||||||
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getNonDecodableBuilder()
|
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getNonDecodableBuilder()
|
||||||
@ -426,7 +424,7 @@ open class FakeAPI {
|
|||||||
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
||||||
- parameter completion: completion handler to receive the data and the error objects
|
- parameter completion: completion handler to receive the data and the error objects
|
||||||
*/
|
*/
|
||||||
open class func testEnumParameters(enumHeaderStringArray: [String]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [String]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [String]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Void?,_ error: Error?) -> Void)) {
|
open class func testEnumParameters(enumHeaderStringArray: [String]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [String]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [String]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Void?, _ error: Error?) -> Void)) {
|
||||||
testEnumParametersWithRequestBuilder(enumHeaderStringArray: enumHeaderStringArray, enumHeaderString: enumHeaderString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble, enumFormStringArray: enumFormStringArray, enumFormString: enumFormString).execute(apiResponseQueue) { result -> Void in
|
testEnumParametersWithRequestBuilder(enumHeaderStringArray: enumHeaderStringArray, enumHeaderString: enumHeaderString, enumQueryStringArray: enumQueryStringArray, enumQueryString: enumQueryString, enumQueryInteger: enumQueryInteger, enumQueryDouble: enumQueryDouble, enumFormStringArray: enumFormStringArray, enumFormString: enumFormString).execute(apiResponseQueue) { result -> Void in
|
||||||
switch result {
|
switch result {
|
||||||
case .success:
|
case .success:
|
||||||
@ -454,19 +452,19 @@ open class FakeAPI {
|
|||||||
open class func testEnumParametersWithRequestBuilder(enumHeaderStringArray: [String]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [String]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [String]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil) -> RequestBuilder<Void> {
|
open class func testEnumParametersWithRequestBuilder(enumHeaderStringArray: [String]? = nil, enumHeaderString: EnumHeaderString_testEnumParameters? = nil, enumQueryStringArray: [String]? = nil, enumQueryString: EnumQueryString_testEnumParameters? = nil, enumQueryInteger: EnumQueryInteger_testEnumParameters? = nil, enumQueryDouble: EnumQueryDouble_testEnumParameters? = nil, enumFormStringArray: [String]? = nil, enumFormString: EnumFormString_testEnumParameters? = nil) -> RequestBuilder<Void> {
|
||||||
let path = "/fake"
|
let path = "/fake"
|
||||||
let URLString = PetstoreClientAPI.basePath + path
|
let URLString = PetstoreClientAPI.basePath + path
|
||||||
let formParams: [String:Any?] = [
|
let formParams: [String: Any?] = [
|
||||||
"enum_form_string_array": enumFormStringArray?.encodeToJSON(),
|
"enum_form_string_array": enumFormStringArray?.encodeToJSON(),
|
||||||
"enum_form_string": enumFormString?.encodeToJSON()
|
"enum_form_string": enumFormString?.encodeToJSON()
|
||||||
]
|
]
|
||||||
|
|
||||||
let nonNullParameters = APIHelper.rejectNil(formParams)
|
let nonNullParameters = APIHelper.rejectNil(formParams)
|
||||||
let parameters = APIHelper.convertBoolToString(nonNullParameters)
|
let parameters = APIHelper.convertBoolToString(nonNullParameters)
|
||||||
|
|
||||||
var url = URLComponents(string: URLString)
|
var url = URLComponents(string: URLString)
|
||||||
url?.queryItems = APIHelper.mapValuesToQueryItems([
|
url?.queryItems = APIHelper.mapValuesToQueryItems([
|
||||||
"enum_query_string_array": enumQueryStringArray?.encodeToJSON(),
|
"enum_query_string_array": enumQueryStringArray?.encodeToJSON(),
|
||||||
"enum_query_string": enumQueryString?.encodeToJSON(),
|
"enum_query_string": enumQueryString?.encodeToJSON(),
|
||||||
"enum_query_integer": enumQueryInteger?.encodeToJSON(),
|
"enum_query_integer": enumQueryInteger?.encodeToJSON(),
|
||||||
"enum_query_double": enumQueryDouble?.encodeToJSON()
|
"enum_query_double": enumQueryDouble?.encodeToJSON()
|
||||||
])
|
])
|
||||||
let nillableHeaders: [String: Any?] = [
|
let nillableHeaders: [String: Any?] = [
|
||||||
@ -492,7 +490,7 @@ open class FakeAPI {
|
|||||||
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
||||||
- parameter completion: completion handler to receive the data and the error objects
|
- parameter completion: completion handler to receive the data and the error objects
|
||||||
*/
|
*/
|
||||||
open class func testGroupParameters(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Void?,_ error: Error?) -> Void)) {
|
open class func testGroupParameters(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Void?, _ error: Error?) -> Void)) {
|
||||||
testGroupParametersWithRequestBuilder(requiredStringGroup: requiredStringGroup, requiredBooleanGroup: requiredBooleanGroup, requiredInt64Group: requiredInt64Group, stringGroup: stringGroup, booleanGroup: booleanGroup, int64Group: int64Group).execute(apiResponseQueue) { result -> Void in
|
testGroupParametersWithRequestBuilder(requiredStringGroup: requiredStringGroup, requiredBooleanGroup: requiredBooleanGroup, requiredInt64Group: requiredInt64Group, stringGroup: stringGroup, booleanGroup: booleanGroup, int64Group: int64Group).execute(apiResponseQueue) { result -> Void in
|
||||||
switch result {
|
switch result {
|
||||||
case .success:
|
case .success:
|
||||||
@ -518,13 +516,13 @@ open class FakeAPI {
|
|||||||
open class func testGroupParametersWithRequestBuilder(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil) -> RequestBuilder<Void> {
|
open class func testGroupParametersWithRequestBuilder(requiredStringGroup: Int, requiredBooleanGroup: Bool, requiredInt64Group: Int64, stringGroup: Int? = nil, booleanGroup: Bool? = nil, int64Group: Int64? = nil) -> RequestBuilder<Void> {
|
||||||
let path = "/fake"
|
let path = "/fake"
|
||||||
let URLString = PetstoreClientAPI.basePath + path
|
let URLString = PetstoreClientAPI.basePath + path
|
||||||
let parameters: [String:Any]? = nil
|
let parameters: [String: Any]? = nil
|
||||||
|
|
||||||
var url = URLComponents(string: URLString)
|
var url = URLComponents(string: URLString)
|
||||||
url?.queryItems = APIHelper.mapValuesToQueryItems([
|
url?.queryItems = APIHelper.mapValuesToQueryItems([
|
||||||
"required_string_group": requiredStringGroup.encodeToJSON(),
|
"required_string_group": requiredStringGroup.encodeToJSON(),
|
||||||
"required_int64_group": requiredInt64Group.encodeToJSON(),
|
"required_int64_group": requiredInt64Group.encodeToJSON(),
|
||||||
"string_group": stringGroup?.encodeToJSON(),
|
"string_group": stringGroup?.encodeToJSON(),
|
||||||
"int64_group": int64Group?.encodeToJSON()
|
"int64_group": int64Group?.encodeToJSON()
|
||||||
])
|
])
|
||||||
let nillableHeaders: [String: Any?] = [
|
let nillableHeaders: [String: Any?] = [
|
||||||
@ -545,7 +543,7 @@ open class FakeAPI {
|
|||||||
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
||||||
- parameter completion: completion handler to receive the data and the error objects
|
- parameter completion: completion handler to receive the data and the error objects
|
||||||
*/
|
*/
|
||||||
open class func testInlineAdditionalProperties(param: [String:String], apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Void?,_ error: Error?) -> Void)) {
|
open class func testInlineAdditionalProperties(param: [String: String], apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Void?, _ error: Error?) -> Void)) {
|
||||||
testInlineAdditionalPropertiesWithRequestBuilder(param: param).execute(apiResponseQueue) { result -> Void in
|
testInlineAdditionalPropertiesWithRequestBuilder(param: param).execute(apiResponseQueue) { result -> Void in
|
||||||
switch result {
|
switch result {
|
||||||
case .success:
|
case .success:
|
||||||
@ -562,7 +560,7 @@ open class FakeAPI {
|
|||||||
- parameter param: (body) request body
|
- parameter param: (body) request body
|
||||||
- returns: RequestBuilder<Void>
|
- returns: RequestBuilder<Void>
|
||||||
*/
|
*/
|
||||||
open class func testInlineAdditionalPropertiesWithRequestBuilder(param: [String:String]) -> RequestBuilder<Void> {
|
open class func testInlineAdditionalPropertiesWithRequestBuilder(param: [String: String]) -> RequestBuilder<Void> {
|
||||||
let path = "/fake/inline-additionalProperties"
|
let path = "/fake/inline-additionalProperties"
|
||||||
let URLString = PetstoreClientAPI.basePath + path
|
let URLString = PetstoreClientAPI.basePath + path
|
||||||
let parameters = JSONEncodingHelper.encodingParameters(forEncodableObject: param)
|
let parameters = JSONEncodingHelper.encodingParameters(forEncodableObject: param)
|
||||||
@ -582,7 +580,7 @@ open class FakeAPI {
|
|||||||
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
||||||
- parameter completion: completion handler to receive the data and the error objects
|
- parameter completion: completion handler to receive the data and the error objects
|
||||||
*/
|
*/
|
||||||
open class func testJsonFormData(param: String, param2: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Void?,_ error: Error?) -> Void)) {
|
open class func testJsonFormData(param: String, param2: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Void?, _ error: Error?) -> Void)) {
|
||||||
testJsonFormDataWithRequestBuilder(param: param, param2: param2).execute(apiResponseQueue) { result -> Void in
|
testJsonFormDataWithRequestBuilder(param: param, param2: param2).execute(apiResponseQueue) { result -> Void in
|
||||||
switch result {
|
switch result {
|
||||||
case .success:
|
case .success:
|
||||||
@ -603,14 +601,14 @@ open class FakeAPI {
|
|||||||
open class func testJsonFormDataWithRequestBuilder(param: String, param2: String) -> RequestBuilder<Void> {
|
open class func testJsonFormDataWithRequestBuilder(param: String, param2: String) -> RequestBuilder<Void> {
|
||||||
let path = "/fake/jsonFormData"
|
let path = "/fake/jsonFormData"
|
||||||
let URLString = PetstoreClientAPI.basePath + path
|
let URLString = PetstoreClientAPI.basePath + path
|
||||||
let formParams: [String:Any?] = [
|
let formParams: [String: Any?] = [
|
||||||
"param": param.encodeToJSON(),
|
"param": param.encodeToJSON(),
|
||||||
"param2": param2.encodeToJSON()
|
"param2": param2.encodeToJSON()
|
||||||
]
|
]
|
||||||
|
|
||||||
let nonNullParameters = APIHelper.rejectNil(formParams)
|
let nonNullParameters = APIHelper.rejectNil(formParams)
|
||||||
let parameters = APIHelper.convertBoolToString(nonNullParameters)
|
let parameters = APIHelper.convertBoolToString(nonNullParameters)
|
||||||
|
|
||||||
let url = URLComponents(string: URLString)
|
let url = URLComponents(string: URLString)
|
||||||
|
|
||||||
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getNonDecodableBuilder()
|
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getNonDecodableBuilder()
|
||||||
|
@ -7,8 +7,6 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
open class FakeClassnameTags123API {
|
open class FakeClassnameTags123API {
|
||||||
/**
|
/**
|
||||||
To test class name in snake case
|
To test class name in snake case
|
||||||
@ -17,7 +15,7 @@ open class FakeClassnameTags123API {
|
|||||||
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
||||||
- parameter completion: completion handler to receive the data and the error objects
|
- parameter completion: completion handler to receive the data and the error objects
|
||||||
*/
|
*/
|
||||||
open class func testClassname(body: Client, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Client?,_ error: Error?) -> Void)) {
|
open class func testClassname(body: Client, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Client?, _ error: Error?) -> Void)) {
|
||||||
testClassnameWithRequestBuilder(body: body).execute(apiResponseQueue) { result -> Void in
|
testClassnameWithRequestBuilder(body: body).execute(apiResponseQueue) { result -> Void in
|
||||||
switch result {
|
switch result {
|
||||||
case let .success(response):
|
case let .success(response):
|
||||||
|
@ -7,8 +7,6 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
open class PetAPI {
|
open class PetAPI {
|
||||||
/**
|
/**
|
||||||
Add a new pet to the store
|
Add a new pet to the store
|
||||||
@ -17,7 +15,7 @@ open class PetAPI {
|
|||||||
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
||||||
- parameter completion: completion handler to receive the data and the error objects
|
- parameter completion: completion handler to receive the data and the error objects
|
||||||
*/
|
*/
|
||||||
open class func addPet(body: Pet, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Void?,_ error: Error?) -> Void)) {
|
open class func addPet(body: Pet, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Void?, _ error: Error?) -> Void)) {
|
||||||
addPetWithRequestBuilder(body: body).execute(apiResponseQueue) { result -> Void in
|
addPetWithRequestBuilder(body: body).execute(apiResponseQueue) { result -> Void in
|
||||||
switch result {
|
switch result {
|
||||||
case .success:
|
case .success:
|
||||||
@ -57,7 +55,7 @@ open class PetAPI {
|
|||||||
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
||||||
- parameter completion: completion handler to receive the data and the error objects
|
- parameter completion: completion handler to receive the data and the error objects
|
||||||
*/
|
*/
|
||||||
open class func deletePet(petId: Int64, apiKey: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Void?,_ error: Error?) -> Void)) {
|
open class func deletePet(petId: Int64, apiKey: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Void?, _ error: Error?) -> Void)) {
|
||||||
deletePetWithRequestBuilder(petId: petId, apiKey: apiKey).execute(apiResponseQueue) { result -> Void in
|
deletePetWithRequestBuilder(petId: petId, apiKey: apiKey).execute(apiResponseQueue) { result -> Void in
|
||||||
switch result {
|
switch result {
|
||||||
case .success:
|
case .success:
|
||||||
@ -84,8 +82,8 @@ open class PetAPI {
|
|||||||
let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? ""
|
let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? ""
|
||||||
path = path.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil)
|
path = path.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil)
|
||||||
let URLString = PetstoreClientAPI.basePath + path
|
let URLString = PetstoreClientAPI.basePath + path
|
||||||
let parameters: [String:Any]? = nil
|
let parameters: [String: Any]? = nil
|
||||||
|
|
||||||
let url = URLComponents(string: URLString)
|
let url = URLComponents(string: URLString)
|
||||||
let nillableHeaders: [String: Any?] = [
|
let nillableHeaders: [String: Any?] = [
|
||||||
"api_key": apiKey?.encodeToJSON()
|
"api_key": apiKey?.encodeToJSON()
|
||||||
@ -113,7 +111,7 @@ open class PetAPI {
|
|||||||
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
||||||
- parameter completion: completion handler to receive the data and the error objects
|
- parameter completion: completion handler to receive the data and the error objects
|
||||||
*/
|
*/
|
||||||
open class func findPetsByStatus(status: [String], apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: [Pet]?,_ error: Error?) -> Void)) {
|
open class func findPetsByStatus(status: [String], apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: [Pet]?, _ error: Error?) -> Void)) {
|
||||||
findPetsByStatusWithRequestBuilder(status: status).execute(apiResponseQueue) { result -> Void in
|
findPetsByStatusWithRequestBuilder(status: status).execute(apiResponseQueue) { result -> Void in
|
||||||
switch result {
|
switch result {
|
||||||
case let .success(response):
|
case let .success(response):
|
||||||
@ -137,8 +135,8 @@ open class PetAPI {
|
|||||||
open class func findPetsByStatusWithRequestBuilder(status: [String]) -> RequestBuilder<[Pet]> {
|
open class func findPetsByStatusWithRequestBuilder(status: [String]) -> RequestBuilder<[Pet]> {
|
||||||
let path = "/pet/findByStatus"
|
let path = "/pet/findByStatus"
|
||||||
let URLString = PetstoreClientAPI.basePath + path
|
let URLString = PetstoreClientAPI.basePath + path
|
||||||
let parameters: [String:Any]? = nil
|
let parameters: [String: Any]? = nil
|
||||||
|
|
||||||
var url = URLComponents(string: URLString)
|
var url = URLComponents(string: URLString)
|
||||||
url?.queryItems = APIHelper.mapValuesToQueryItems([
|
url?.queryItems = APIHelper.mapValuesToQueryItems([
|
||||||
"status": status.encodeToJSON()
|
"status": status.encodeToJSON()
|
||||||
@ -156,7 +154,7 @@ open class PetAPI {
|
|||||||
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
||||||
- parameter completion: completion handler to receive the data and the error objects
|
- parameter completion: completion handler to receive the data and the error objects
|
||||||
*/
|
*/
|
||||||
open class func findPetsByTags(tags: [String], apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: [Pet]?,_ error: Error?) -> Void)) {
|
open class func findPetsByTags(tags: [String], apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: [Pet]?, _ error: Error?) -> Void)) {
|
||||||
findPetsByTagsWithRequestBuilder(tags: tags).execute(apiResponseQueue) { result -> Void in
|
findPetsByTagsWithRequestBuilder(tags: tags).execute(apiResponseQueue) { result -> Void in
|
||||||
switch result {
|
switch result {
|
||||||
case let .success(response):
|
case let .success(response):
|
||||||
@ -180,8 +178,8 @@ open class PetAPI {
|
|||||||
open class func findPetsByTagsWithRequestBuilder(tags: [String]) -> RequestBuilder<[Pet]> {
|
open class func findPetsByTagsWithRequestBuilder(tags: [String]) -> RequestBuilder<[Pet]> {
|
||||||
let path = "/pet/findByTags"
|
let path = "/pet/findByTags"
|
||||||
let URLString = PetstoreClientAPI.basePath + path
|
let URLString = PetstoreClientAPI.basePath + path
|
||||||
let parameters: [String:Any]? = nil
|
let parameters: [String: Any]? = nil
|
||||||
|
|
||||||
var url = URLComponents(string: URLString)
|
var url = URLComponents(string: URLString)
|
||||||
url?.queryItems = APIHelper.mapValuesToQueryItems([
|
url?.queryItems = APIHelper.mapValuesToQueryItems([
|
||||||
"tags": tags.encodeToJSON()
|
"tags": tags.encodeToJSON()
|
||||||
@ -199,7 +197,7 @@ open class PetAPI {
|
|||||||
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
||||||
- parameter completion: completion handler to receive the data and the error objects
|
- parameter completion: completion handler to receive the data and the error objects
|
||||||
*/
|
*/
|
||||||
open class func getPetById(petId: Int64, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Pet?,_ error: Error?) -> Void)) {
|
open class func getPetById(petId: Int64, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Pet?, _ error: Error?) -> Void)) {
|
||||||
getPetByIdWithRequestBuilder(petId: petId).execute(apiResponseQueue) { result -> Void in
|
getPetByIdWithRequestBuilder(petId: petId).execute(apiResponseQueue) { result -> Void in
|
||||||
switch result {
|
switch result {
|
||||||
case let .success(response):
|
case let .success(response):
|
||||||
@ -226,8 +224,8 @@ open class PetAPI {
|
|||||||
let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? ""
|
let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? ""
|
||||||
path = path.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil)
|
path = path.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil)
|
||||||
let URLString = PetstoreClientAPI.basePath + path
|
let URLString = PetstoreClientAPI.basePath + path
|
||||||
let parameters: [String:Any]? = nil
|
let parameters: [String: Any]? = nil
|
||||||
|
|
||||||
let url = URLComponents(string: URLString)
|
let url = URLComponents(string: URLString)
|
||||||
|
|
||||||
let requestBuilder: RequestBuilder<Pet>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
|
let requestBuilder: RequestBuilder<Pet>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
|
||||||
@ -242,7 +240,7 @@ open class PetAPI {
|
|||||||
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
||||||
- parameter completion: completion handler to receive the data and the error objects
|
- parameter completion: completion handler to receive the data and the error objects
|
||||||
*/
|
*/
|
||||||
open class func updatePet(body: Pet, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Void?,_ error: Error?) -> Void)) {
|
open class func updatePet(body: Pet, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Void?, _ error: Error?) -> Void)) {
|
||||||
updatePetWithRequestBuilder(body: body).execute(apiResponseQueue) { result -> Void in
|
updatePetWithRequestBuilder(body: body).execute(apiResponseQueue) { result -> Void in
|
||||||
switch result {
|
switch result {
|
||||||
case .success:
|
case .success:
|
||||||
@ -283,7 +281,7 @@ open class PetAPI {
|
|||||||
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
||||||
- parameter completion: completion handler to receive the data and the error objects
|
- parameter completion: completion handler to receive the data and the error objects
|
||||||
*/
|
*/
|
||||||
open class func updatePetWithForm(petId: Int64, name: String? = nil, status: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Void?,_ error: Error?) -> Void)) {
|
open class func updatePetWithForm(petId: Int64, name: String? = nil, status: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Void?, _ error: Error?) -> Void)) {
|
||||||
updatePetWithFormWithRequestBuilder(petId: petId, name: name, status: status).execute(apiResponseQueue) { result -> Void in
|
updatePetWithFormWithRequestBuilder(petId: petId, name: name, status: status).execute(apiResponseQueue) { result -> Void in
|
||||||
switch result {
|
switch result {
|
||||||
case .success:
|
case .success:
|
||||||
@ -311,14 +309,14 @@ open class PetAPI {
|
|||||||
let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? ""
|
let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? ""
|
||||||
path = path.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil)
|
path = path.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil)
|
||||||
let URLString = PetstoreClientAPI.basePath + path
|
let URLString = PetstoreClientAPI.basePath + path
|
||||||
let formParams: [String:Any?] = [
|
let formParams: [String: Any?] = [
|
||||||
"name": name?.encodeToJSON(),
|
"name": name?.encodeToJSON(),
|
||||||
"status": status?.encodeToJSON()
|
"status": status?.encodeToJSON()
|
||||||
]
|
]
|
||||||
|
|
||||||
let nonNullParameters = APIHelper.rejectNil(formParams)
|
let nonNullParameters = APIHelper.rejectNil(formParams)
|
||||||
let parameters = APIHelper.convertBoolToString(nonNullParameters)
|
let parameters = APIHelper.convertBoolToString(nonNullParameters)
|
||||||
|
|
||||||
let url = URLComponents(string: URLString)
|
let url = URLComponents(string: URLString)
|
||||||
|
|
||||||
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getNonDecodableBuilder()
|
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getNonDecodableBuilder()
|
||||||
@ -335,7 +333,7 @@ open class PetAPI {
|
|||||||
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
||||||
- parameter completion: completion handler to receive the data and the error objects
|
- parameter completion: completion handler to receive the data and the error objects
|
||||||
*/
|
*/
|
||||||
open class func uploadFile(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: ApiResponse?,_ error: Error?) -> Void)) {
|
open class func uploadFile(petId: Int64, additionalMetadata: String? = nil, file: URL? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: ApiResponse?, _ error: Error?) -> Void)) {
|
||||||
uploadFileWithRequestBuilder(petId: petId, additionalMetadata: additionalMetadata, file: file).execute(apiResponseQueue) { result -> Void in
|
uploadFileWithRequestBuilder(petId: petId, additionalMetadata: additionalMetadata, file: file).execute(apiResponseQueue) { result -> Void in
|
||||||
switch result {
|
switch result {
|
||||||
case let .success(response):
|
case let .success(response):
|
||||||
@ -363,14 +361,14 @@ open class PetAPI {
|
|||||||
let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? ""
|
let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? ""
|
||||||
path = path.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil)
|
path = path.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil)
|
||||||
let URLString = PetstoreClientAPI.basePath + path
|
let URLString = PetstoreClientAPI.basePath + path
|
||||||
let formParams: [String:Any?] = [
|
let formParams: [String: Any?] = [
|
||||||
"additionalMetadata": additionalMetadata?.encodeToJSON(),
|
"additionalMetadata": additionalMetadata?.encodeToJSON(),
|
||||||
"file": file?.encodeToJSON()
|
"file": file?.encodeToJSON()
|
||||||
]
|
]
|
||||||
|
|
||||||
let nonNullParameters = APIHelper.rejectNil(formParams)
|
let nonNullParameters = APIHelper.rejectNil(formParams)
|
||||||
let parameters = APIHelper.convertBoolToString(nonNullParameters)
|
let parameters = APIHelper.convertBoolToString(nonNullParameters)
|
||||||
|
|
||||||
let url = URLComponents(string: URLString)
|
let url = URLComponents(string: URLString)
|
||||||
|
|
||||||
let requestBuilder: RequestBuilder<ApiResponse>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
|
let requestBuilder: RequestBuilder<ApiResponse>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
|
||||||
@ -387,7 +385,7 @@ open class PetAPI {
|
|||||||
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
||||||
- parameter completion: completion handler to receive the data and the error objects
|
- parameter completion: completion handler to receive the data and the error objects
|
||||||
*/
|
*/
|
||||||
open class func uploadFileWithRequiredFile(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: ApiResponse?,_ error: Error?) -> Void)) {
|
open class func uploadFileWithRequiredFile(petId: Int64, requiredFile: URL, additionalMetadata: String? = nil, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: ApiResponse?, _ error: Error?) -> Void)) {
|
||||||
uploadFileWithRequiredFileWithRequestBuilder(petId: petId, requiredFile: requiredFile, additionalMetadata: additionalMetadata).execute(apiResponseQueue) { result -> Void in
|
uploadFileWithRequiredFileWithRequestBuilder(petId: petId, requiredFile: requiredFile, additionalMetadata: additionalMetadata).execute(apiResponseQueue) { result -> Void in
|
||||||
switch result {
|
switch result {
|
||||||
case let .success(response):
|
case let .success(response):
|
||||||
@ -415,14 +413,14 @@ open class PetAPI {
|
|||||||
let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? ""
|
let petIdPostEscape = petIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? ""
|
||||||
path = path.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil)
|
path = path.replacingOccurrences(of: "{petId}", with: petIdPostEscape, options: .literal, range: nil)
|
||||||
let URLString = PetstoreClientAPI.basePath + path
|
let URLString = PetstoreClientAPI.basePath + path
|
||||||
let formParams: [String:Any?] = [
|
let formParams: [String: Any?] = [
|
||||||
"additionalMetadata": additionalMetadata?.encodeToJSON(),
|
"additionalMetadata": additionalMetadata?.encodeToJSON(),
|
||||||
"requiredFile": requiredFile.encodeToJSON()
|
"requiredFile": requiredFile.encodeToJSON()
|
||||||
]
|
]
|
||||||
|
|
||||||
let nonNullParameters = APIHelper.rejectNil(formParams)
|
let nonNullParameters = APIHelper.rejectNil(formParams)
|
||||||
let parameters = APIHelper.convertBoolToString(nonNullParameters)
|
let parameters = APIHelper.convertBoolToString(nonNullParameters)
|
||||||
|
|
||||||
let url = URLComponents(string: URLString)
|
let url = URLComponents(string: URLString)
|
||||||
|
|
||||||
let requestBuilder: RequestBuilder<ApiResponse>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
|
let requestBuilder: RequestBuilder<ApiResponse>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
|
||||||
|
@ -7,8 +7,6 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
open class StoreAPI {
|
open class StoreAPI {
|
||||||
/**
|
/**
|
||||||
Delete purchase order by ID
|
Delete purchase order by ID
|
||||||
@ -17,7 +15,7 @@ open class StoreAPI {
|
|||||||
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
||||||
- parameter completion: completion handler to receive the data and the error objects
|
- parameter completion: completion handler to receive the data and the error objects
|
||||||
*/
|
*/
|
||||||
open class func deleteOrder(orderId: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Void?,_ error: Error?) -> Void)) {
|
open class func deleteOrder(orderId: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Void?, _ error: Error?) -> Void)) {
|
||||||
deleteOrderWithRequestBuilder(orderId: orderId).execute(apiResponseQueue) { result -> Void in
|
deleteOrderWithRequestBuilder(orderId: orderId).execute(apiResponseQueue) { result -> Void in
|
||||||
switch result {
|
switch result {
|
||||||
case .success:
|
case .success:
|
||||||
@ -41,8 +39,8 @@ open class StoreAPI {
|
|||||||
let orderIdPostEscape = orderIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? ""
|
let orderIdPostEscape = orderIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? ""
|
||||||
path = path.replacingOccurrences(of: "{order_id}", with: orderIdPostEscape, options: .literal, range: nil)
|
path = path.replacingOccurrences(of: "{order_id}", with: orderIdPostEscape, options: .literal, range: nil)
|
||||||
let URLString = PetstoreClientAPI.basePath + path
|
let URLString = PetstoreClientAPI.basePath + path
|
||||||
let parameters: [String:Any]? = nil
|
let parameters: [String: Any]? = nil
|
||||||
|
|
||||||
let url = URLComponents(string: URLString)
|
let url = URLComponents(string: URLString)
|
||||||
|
|
||||||
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getNonDecodableBuilder()
|
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getNonDecodableBuilder()
|
||||||
@ -56,7 +54,7 @@ open class StoreAPI {
|
|||||||
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
||||||
- parameter completion: completion handler to receive the data and the error objects
|
- parameter completion: completion handler to receive the data and the error objects
|
||||||
*/
|
*/
|
||||||
open class func getInventory(apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: [String:Int]?,_ error: Error?) -> Void)) {
|
open class func getInventory(apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: [String: Int]?, _ error: Error?) -> Void)) {
|
||||||
getInventoryWithRequestBuilder().execute(apiResponseQueue) { result -> Void in
|
getInventoryWithRequestBuilder().execute(apiResponseQueue) { result -> Void in
|
||||||
switch result {
|
switch result {
|
||||||
case let .success(response):
|
case let .success(response):
|
||||||
@ -76,14 +74,14 @@ open class StoreAPI {
|
|||||||
- name: api_key
|
- name: api_key
|
||||||
- returns: RequestBuilder<[String:Int]>
|
- returns: RequestBuilder<[String:Int]>
|
||||||
*/
|
*/
|
||||||
open class func getInventoryWithRequestBuilder() -> RequestBuilder<[String:Int]> {
|
open class func getInventoryWithRequestBuilder() -> RequestBuilder<[String: Int]> {
|
||||||
let path = "/store/inventory"
|
let path = "/store/inventory"
|
||||||
let URLString = PetstoreClientAPI.basePath + path
|
let URLString = PetstoreClientAPI.basePath + path
|
||||||
let parameters: [String:Any]? = nil
|
let parameters: [String: Any]? = nil
|
||||||
|
|
||||||
let url = URLComponents(string: URLString)
|
let url = URLComponents(string: URLString)
|
||||||
|
|
||||||
let requestBuilder: RequestBuilder<[String:Int]>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
|
let requestBuilder: RequestBuilder<[String: Int]>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
|
||||||
|
|
||||||
return requestBuilder.init(method: "GET", URLString: (url?.string ?? URLString), parameters: parameters, isBody: false)
|
return requestBuilder.init(method: "GET", URLString: (url?.string ?? URLString), parameters: parameters, isBody: false)
|
||||||
}
|
}
|
||||||
@ -95,7 +93,7 @@ open class StoreAPI {
|
|||||||
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
||||||
- parameter completion: completion handler to receive the data and the error objects
|
- parameter completion: completion handler to receive the data and the error objects
|
||||||
*/
|
*/
|
||||||
open class func getOrderById(orderId: Int64, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Order?,_ error: Error?) -> Void)) {
|
open class func getOrderById(orderId: Int64, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Order?, _ error: Error?) -> Void)) {
|
||||||
getOrderByIdWithRequestBuilder(orderId: orderId).execute(apiResponseQueue) { result -> Void in
|
getOrderByIdWithRequestBuilder(orderId: orderId).execute(apiResponseQueue) { result -> Void in
|
||||||
switch result {
|
switch result {
|
||||||
case let .success(response):
|
case let .success(response):
|
||||||
@ -119,8 +117,8 @@ open class StoreAPI {
|
|||||||
let orderIdPostEscape = orderIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? ""
|
let orderIdPostEscape = orderIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? ""
|
||||||
path = path.replacingOccurrences(of: "{order_id}", with: orderIdPostEscape, options: .literal, range: nil)
|
path = path.replacingOccurrences(of: "{order_id}", with: orderIdPostEscape, options: .literal, range: nil)
|
||||||
let URLString = PetstoreClientAPI.basePath + path
|
let URLString = PetstoreClientAPI.basePath + path
|
||||||
let parameters: [String:Any]? = nil
|
let parameters: [String: Any]? = nil
|
||||||
|
|
||||||
let url = URLComponents(string: URLString)
|
let url = URLComponents(string: URLString)
|
||||||
|
|
||||||
let requestBuilder: RequestBuilder<Order>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
|
let requestBuilder: RequestBuilder<Order>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
|
||||||
@ -135,7 +133,7 @@ open class StoreAPI {
|
|||||||
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
||||||
- parameter completion: completion handler to receive the data and the error objects
|
- parameter completion: completion handler to receive the data and the error objects
|
||||||
*/
|
*/
|
||||||
open class func placeOrder(body: Order, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Order?,_ error: Error?) -> Void)) {
|
open class func placeOrder(body: Order, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Order?, _ error: Error?) -> Void)) {
|
||||||
placeOrderWithRequestBuilder(body: body).execute(apiResponseQueue) { result -> Void in
|
placeOrderWithRequestBuilder(body: body).execute(apiResponseQueue) { result -> Void in
|
||||||
switch result {
|
switch result {
|
||||||
case let .success(response):
|
case let .success(response):
|
||||||
|
@ -7,8 +7,6 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
open class UserAPI {
|
open class UserAPI {
|
||||||
/**
|
/**
|
||||||
Create user
|
Create user
|
||||||
@ -17,7 +15,7 @@ open class UserAPI {
|
|||||||
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
||||||
- parameter completion: completion handler to receive the data and the error objects
|
- parameter completion: completion handler to receive the data and the error objects
|
||||||
*/
|
*/
|
||||||
open class func createUser(body: User, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Void?,_ error: Error?) -> Void)) {
|
open class func createUser(body: User, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Void?, _ error: Error?) -> Void)) {
|
||||||
createUserWithRequestBuilder(body: body).execute(apiResponseQueue) { result -> Void in
|
createUserWithRequestBuilder(body: body).execute(apiResponseQueue) { result -> Void in
|
||||||
switch result {
|
switch result {
|
||||||
case .success:
|
case .success:
|
||||||
@ -54,7 +52,7 @@ open class UserAPI {
|
|||||||
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
||||||
- parameter completion: completion handler to receive the data and the error objects
|
- parameter completion: completion handler to receive the data and the error objects
|
||||||
*/
|
*/
|
||||||
open class func createUsersWithArrayInput(body: [User], apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Void?,_ error: Error?) -> Void)) {
|
open class func createUsersWithArrayInput(body: [User], apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Void?, _ error: Error?) -> Void)) {
|
||||||
createUsersWithArrayInputWithRequestBuilder(body: body).execute(apiResponseQueue) { result -> Void in
|
createUsersWithArrayInputWithRequestBuilder(body: body).execute(apiResponseQueue) { result -> Void in
|
||||||
switch result {
|
switch result {
|
||||||
case .success:
|
case .success:
|
||||||
@ -90,7 +88,7 @@ open class UserAPI {
|
|||||||
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
||||||
- parameter completion: completion handler to receive the data and the error objects
|
- parameter completion: completion handler to receive the data and the error objects
|
||||||
*/
|
*/
|
||||||
open class func createUsersWithListInput(body: [User], apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Void?,_ error: Error?) -> Void)) {
|
open class func createUsersWithListInput(body: [User], apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Void?, _ error: Error?) -> Void)) {
|
||||||
createUsersWithListInputWithRequestBuilder(body: body).execute(apiResponseQueue) { result -> Void in
|
createUsersWithListInputWithRequestBuilder(body: body).execute(apiResponseQueue) { result -> Void in
|
||||||
switch result {
|
switch result {
|
||||||
case .success:
|
case .success:
|
||||||
@ -126,7 +124,7 @@ open class UserAPI {
|
|||||||
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
||||||
- parameter completion: completion handler to receive the data and the error objects
|
- parameter completion: completion handler to receive the data and the error objects
|
||||||
*/
|
*/
|
||||||
open class func deleteUser(username: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Void?,_ error: Error?) -> Void)) {
|
open class func deleteUser(username: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Void?, _ error: Error?) -> Void)) {
|
||||||
deleteUserWithRequestBuilder(username: username).execute(apiResponseQueue) { result -> Void in
|
deleteUserWithRequestBuilder(username: username).execute(apiResponseQueue) { result -> Void in
|
||||||
switch result {
|
switch result {
|
||||||
case .success:
|
case .success:
|
||||||
@ -150,8 +148,8 @@ open class UserAPI {
|
|||||||
let usernamePostEscape = usernamePreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? ""
|
let usernamePostEscape = usernamePreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? ""
|
||||||
path = path.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil)
|
path = path.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil)
|
||||||
let URLString = PetstoreClientAPI.basePath + path
|
let URLString = PetstoreClientAPI.basePath + path
|
||||||
let parameters: [String:Any]? = nil
|
let parameters: [String: Any]? = nil
|
||||||
|
|
||||||
let url = URLComponents(string: URLString)
|
let url = URLComponents(string: URLString)
|
||||||
|
|
||||||
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getNonDecodableBuilder()
|
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getNonDecodableBuilder()
|
||||||
@ -166,7 +164,7 @@ open class UserAPI {
|
|||||||
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
||||||
- parameter completion: completion handler to receive the data and the error objects
|
- parameter completion: completion handler to receive the data and the error objects
|
||||||
*/
|
*/
|
||||||
open class func getUserByName(username: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: User?,_ error: Error?) -> Void)) {
|
open class func getUserByName(username: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: User?, _ error: Error?) -> Void)) {
|
||||||
getUserByNameWithRequestBuilder(username: username).execute(apiResponseQueue) { result -> Void in
|
getUserByNameWithRequestBuilder(username: username).execute(apiResponseQueue) { result -> Void in
|
||||||
switch result {
|
switch result {
|
||||||
case let .success(response):
|
case let .success(response):
|
||||||
@ -189,8 +187,8 @@ open class UserAPI {
|
|||||||
let usernamePostEscape = usernamePreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? ""
|
let usernamePostEscape = usernamePreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? ""
|
||||||
path = path.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil)
|
path = path.replacingOccurrences(of: "{username}", with: usernamePostEscape, options: .literal, range: nil)
|
||||||
let URLString = PetstoreClientAPI.basePath + path
|
let URLString = PetstoreClientAPI.basePath + path
|
||||||
let parameters: [String:Any]? = nil
|
let parameters: [String: Any]? = nil
|
||||||
|
|
||||||
let url = URLComponents(string: URLString)
|
let url = URLComponents(string: URLString)
|
||||||
|
|
||||||
let requestBuilder: RequestBuilder<User>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
|
let requestBuilder: RequestBuilder<User>.Type = PetstoreClientAPI.requestBuilderFactory.getBuilder()
|
||||||
@ -206,7 +204,7 @@ open class UserAPI {
|
|||||||
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
||||||
- parameter completion: completion handler to receive the data and the error objects
|
- parameter completion: completion handler to receive the data and the error objects
|
||||||
*/
|
*/
|
||||||
open class func loginUser(username: String, password: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: String?,_ error: Error?) -> Void)) {
|
open class func loginUser(username: String, password: String, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: String?, _ error: Error?) -> Void)) {
|
||||||
loginUserWithRequestBuilder(username: username, password: password).execute(apiResponseQueue) { result -> Void in
|
loginUserWithRequestBuilder(username: username, password: password).execute(apiResponseQueue) { result -> Void in
|
||||||
switch result {
|
switch result {
|
||||||
case let .success(response):
|
case let .success(response):
|
||||||
@ -228,11 +226,11 @@ open class UserAPI {
|
|||||||
open class func loginUserWithRequestBuilder(username: String, password: String) -> RequestBuilder<String> {
|
open class func loginUserWithRequestBuilder(username: String, password: String) -> RequestBuilder<String> {
|
||||||
let path = "/user/login"
|
let path = "/user/login"
|
||||||
let URLString = PetstoreClientAPI.basePath + path
|
let URLString = PetstoreClientAPI.basePath + path
|
||||||
let parameters: [String:Any]? = nil
|
let parameters: [String: Any]? = nil
|
||||||
|
|
||||||
var url = URLComponents(string: URLString)
|
var url = URLComponents(string: URLString)
|
||||||
url?.queryItems = APIHelper.mapValuesToQueryItems([
|
url?.queryItems = APIHelper.mapValuesToQueryItems([
|
||||||
"username": username.encodeToJSON(),
|
"username": username.encodeToJSON(),
|
||||||
"password": password.encodeToJSON()
|
"password": password.encodeToJSON()
|
||||||
])
|
])
|
||||||
|
|
||||||
@ -247,7 +245,7 @@ open class UserAPI {
|
|||||||
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
||||||
- parameter completion: completion handler to receive the data and the error objects
|
- parameter completion: completion handler to receive the data and the error objects
|
||||||
*/
|
*/
|
||||||
open class func logoutUser(apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Void?,_ error: Error?) -> Void)) {
|
open class func logoutUser(apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Void?, _ error: Error?) -> Void)) {
|
||||||
logoutUserWithRequestBuilder().execute(apiResponseQueue) { result -> Void in
|
logoutUserWithRequestBuilder().execute(apiResponseQueue) { result -> Void in
|
||||||
switch result {
|
switch result {
|
||||||
case .success:
|
case .success:
|
||||||
@ -266,8 +264,8 @@ open class UserAPI {
|
|||||||
open class func logoutUserWithRequestBuilder() -> RequestBuilder<Void> {
|
open class func logoutUserWithRequestBuilder() -> RequestBuilder<Void> {
|
||||||
let path = "/user/logout"
|
let path = "/user/logout"
|
||||||
let URLString = PetstoreClientAPI.basePath + path
|
let URLString = PetstoreClientAPI.basePath + path
|
||||||
let parameters: [String:Any]? = nil
|
let parameters: [String: Any]? = nil
|
||||||
|
|
||||||
let url = URLComponents(string: URLString)
|
let url = URLComponents(string: URLString)
|
||||||
|
|
||||||
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getNonDecodableBuilder()
|
let requestBuilder: RequestBuilder<Void>.Type = PetstoreClientAPI.requestBuilderFactory.getNonDecodableBuilder()
|
||||||
@ -283,7 +281,7 @@ open class UserAPI {
|
|||||||
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
- parameter apiResponseQueue: The queue on which api response is dispatched.
|
||||||
- parameter completion: completion handler to receive the data and the error objects
|
- parameter completion: completion handler to receive the data and the error objects
|
||||||
*/
|
*/
|
||||||
open class func updateUser(username: String, body: User, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Void?,_ error: Error?) -> Void)) {
|
open class func updateUser(username: String, body: User, apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, completion: @escaping ((_ data: Void?, _ error: Error?) -> Void)) {
|
||||||
updateUserWithRequestBuilder(username: username, body: body).execute(apiResponseQueue) { result -> Void in
|
updateUserWithRequestBuilder(username: username, body: body).execute(apiResponseQueue) { result -> Void in
|
||||||
switch result {
|
switch result {
|
||||||
case .success:
|
case .success:
|
||||||
|
@ -45,4 +45,4 @@ open class CodableHelper {
|
|||||||
open class func encode<T>(_ value: T) -> Swift.Result<Data, Error> where T: Encodable {
|
open class func encode<T>(_ value: T) -> Swift.Result<Data, Error> where T: Encodable {
|
||||||
return Swift.Result { try self.jsonEncoder.encode(value) }
|
return Swift.Result { try self.jsonEncoder.encode(value) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7,10 +7,10 @@
|
|||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
open class Configuration {
|
open class Configuration {
|
||||||
|
|
||||||
// This value is used to configure the date formatter that is used to serialize dates into JSON format.
|
// This value is used to configure the date formatter that is used to serialize dates into JSON format.
|
||||||
// You must set it prior to encoding any dates, and it will only be read once.
|
// You must set it prior to encoding any dates, and it will only be read once.
|
||||||
@available(*, unavailable, message: "To set a different date format, use CodableHelper.dateFormatter instead.")
|
@available(*, unavailable, message: "To set a different date format, use CodableHelper.dateFormatter instead.")
|
||||||
public static var dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZZZZZ"
|
public static var dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZZZZZ"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -108,24 +108,24 @@ extension String: CodingKey {
|
|||||||
|
|
||||||
extension KeyedEncodingContainerProtocol {
|
extension KeyedEncodingContainerProtocol {
|
||||||
|
|
||||||
public mutating func encodeArray<T>(_ values: [T], forKey key: Self.Key) throws where T : Encodable {
|
public mutating func encodeArray<T>(_ values: [T], forKey key: Self.Key) throws where T: Encodable {
|
||||||
var arrayContainer = nestedUnkeyedContainer(forKey: key)
|
var arrayContainer = nestedUnkeyedContainer(forKey: key)
|
||||||
try arrayContainer.encode(contentsOf: values)
|
try arrayContainer.encode(contentsOf: values)
|
||||||
}
|
}
|
||||||
|
|
||||||
public mutating func encodeArrayIfPresent<T>(_ values: [T]?, forKey key: Self.Key) throws where T : Encodable {
|
public mutating func encodeArrayIfPresent<T>(_ values: [T]?, forKey key: Self.Key) throws where T: Encodable {
|
||||||
if let values = values {
|
if let values = values {
|
||||||
try encodeArray(values, forKey: key)
|
try encodeArray(values, forKey: key)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public mutating func encodeMap<T>(_ pairs: [Self.Key: T]) throws where T : Encodable {
|
public mutating func encodeMap<T>(_ pairs: [Self.Key: T]) throws where T: Encodable {
|
||||||
for (key, value) in pairs {
|
for (key, value) in pairs {
|
||||||
try encode(value, forKey: key)
|
try encode(value, forKey: key)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public mutating func encodeMapIfPresent<T>(_ pairs: [Self.Key: T]?) throws where T : Encodable {
|
public mutating func encodeMapIfPresent<T>(_ pairs: [Self.Key: T]?) throws where T: Encodable {
|
||||||
if let pairs = pairs {
|
if let pairs = pairs {
|
||||||
try encodeMap(pairs)
|
try encodeMap(pairs)
|
||||||
}
|
}
|
||||||
@ -135,7 +135,7 @@ extension KeyedEncodingContainerProtocol {
|
|||||||
|
|
||||||
extension KeyedDecodingContainerProtocol {
|
extension KeyedDecodingContainerProtocol {
|
||||||
|
|
||||||
public func decodeArray<T>(_ type: T.Type, forKey key: Self.Key) throws -> [T] where T : Decodable {
|
public func decodeArray<T>(_ type: T.Type, forKey key: Self.Key) throws -> [T] where T: Decodable {
|
||||||
var tmpArray = [T]()
|
var tmpArray = [T]()
|
||||||
|
|
||||||
var nestedContainer = try nestedUnkeyedContainer(forKey: key)
|
var nestedContainer = try nestedUnkeyedContainer(forKey: key)
|
||||||
@ -147,8 +147,8 @@ extension KeyedDecodingContainerProtocol {
|
|||||||
return tmpArray
|
return tmpArray
|
||||||
}
|
}
|
||||||
|
|
||||||
public func decodeArrayIfPresent<T>(_ type: T.Type, forKey key: Self.Key) throws -> [T]? where T : Decodable {
|
public func decodeArrayIfPresent<T>(_ type: T.Type, forKey key: Self.Key) throws -> [T]? where T: Decodable {
|
||||||
var tmpArray: [T]? = nil
|
var tmpArray: [T]?
|
||||||
|
|
||||||
if contains(key) {
|
if contains(key) {
|
||||||
tmpArray = try decodeArray(T.self, forKey: key)
|
tmpArray = try decodeArray(T.self, forKey: key)
|
||||||
@ -157,8 +157,8 @@ extension KeyedDecodingContainerProtocol {
|
|||||||
return tmpArray
|
return tmpArray
|
||||||
}
|
}
|
||||||
|
|
||||||
public func decodeMap<T>(_ type: T.Type, excludedKeys: Set<Self.Key>) throws -> [Self.Key: T] where T : Decodable {
|
public func decodeMap<T>(_ type: T.Type, excludedKeys: Set<Self.Key>) throws -> [Self.Key: T] where T: Decodable {
|
||||||
var map: [Self.Key : T] = [:]
|
var map: [Self.Key: T] = [:]
|
||||||
|
|
||||||
for key in allKeys {
|
for key in allKeys {
|
||||||
if !excludedKeys.contains(key) {
|
if !excludedKeys.contains(key) {
|
||||||
@ -177,5 +177,3 @@ extension HTTPURLResponse {
|
|||||||
return Array(200 ..< 300).contains(statusCode)
|
return Array(200 ..< 300).contains(statusCode)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -41,7 +41,7 @@ public struct JSONDataEncoding {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static func encodingParameters(jsonData: Data?) -> [String: Any]? {
|
public static func encodingParameters(jsonData: Data?) -> [String: Any]? {
|
||||||
var returnedParams: [String: Any]? = nil
|
var returnedParams: [String: Any]?
|
||||||
if let jsonData = jsonData, !jsonData.isEmpty {
|
if let jsonData = jsonData, !jsonData.isEmpty {
|
||||||
var params: [String: Any] = [:]
|
var params: [String: Any] = [:]
|
||||||
params[jsonDataKey] = jsonData
|
params[jsonDataKey] = jsonData
|
||||||
|
@ -9,8 +9,8 @@ import Foundation
|
|||||||
|
|
||||||
open class JSONEncodingHelper {
|
open class JSONEncodingHelper {
|
||||||
|
|
||||||
open class func encodingParameters<T:Encodable>(forEncodableObject encodableObj: T?) -> [String: Any]? {
|
open class func encodingParameters<T: Encodable>(forEncodableObject encodableObj: T?) -> [String: Any]? {
|
||||||
var params: [String: Any]? = nil
|
var params: [String: Any]?
|
||||||
|
|
||||||
// Encode the Encodable object
|
// Encode the Encodable object
|
||||||
if let encodableObj = encodableObj {
|
if let encodableObj = encodableObj {
|
||||||
@ -27,7 +27,7 @@ open class JSONEncodingHelper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
open class func encodingParameters(forEncodableObject encodableObj: Any?) -> [String: Any]? {
|
open class func encodingParameters(forEncodableObject encodableObj: Any?) -> [String: Any]? {
|
||||||
var params: [String: Any]? = nil
|
var params: [String: Any]?
|
||||||
|
|
||||||
if let encodableObj = encodableObj {
|
if let encodableObj = encodableObj {
|
||||||
do {
|
do {
|
||||||
@ -41,5 +41,5 @@ open class JSONEncodingHelper {
|
|||||||
|
|
||||||
return params
|
return params
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -10,11 +10,11 @@ protocol JSONEncodable {
|
|||||||
func encodeToJSON() -> Any
|
func encodeToJSON() -> Any
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum ErrorResponse : Error {
|
public enum ErrorResponse: Error {
|
||||||
case error(Int, Data?, Error)
|
case error(Int, Data?, Error)
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum DownloadException : Error {
|
public enum DownloadException: Error {
|
||||||
case responseDataMissing
|
case responseDataMissing
|
||||||
case responseFailed
|
case responseFailed
|
||||||
case requestMissing
|
case requestMissing
|
||||||
@ -30,7 +30,6 @@ public enum DecodableRequestBuilderError: Error {
|
|||||||
case generalError(Error)
|
case generalError(Error)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
open class Response<T> {
|
open class Response<T> {
|
||||||
public let statusCode: Int
|
public let statusCode: Int
|
||||||
public let header: [String: String]
|
public let header: [String: String]
|
||||||
@ -44,7 +43,7 @@ open class Response<T> {
|
|||||||
|
|
||||||
public convenience init(response: HTTPURLResponse, body: T?) {
|
public convenience init(response: HTTPURLResponse, body: T?) {
|
||||||
let rawHeader = response.allHeaderFields
|
let rawHeader = response.allHeaderFields
|
||||||
var header = [String:String]()
|
var header = [String: String]()
|
||||||
for (key, value) in rawHeader {
|
for (key, value) in rawHeader {
|
||||||
if let key = key as? String, let value = value as? String {
|
if let key = key as? String, let value = value as? String {
|
||||||
header[key] = value
|
header[key] = value
|
||||||
|
@ -7,19 +7,17 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
public struct AdditionalPropertiesClass: Codable {
|
||||||
|
|
||||||
public struct AdditionalPropertiesClass: Codable {
|
public var mapString: [String: String]?
|
||||||
|
public var mapMapString: [String: [String: String]]?
|
||||||
|
|
||||||
|
public init(mapString: [String: String]?, mapMapString: [String: [String: String]]?) {
|
||||||
public var mapString: [String:String]?
|
|
||||||
public var mapMapString: [String:[String:String]]?
|
|
||||||
|
|
||||||
public init(mapString: [String:String]?, mapMapString: [String:[String:String]]?) {
|
|
||||||
self.mapString = mapString
|
self.mapString = mapString
|
||||||
self.mapMapString = mapMapString
|
self.mapMapString = mapMapString
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum CodingKeys: String, CodingKey, CaseIterable {
|
public enum CodingKeys: String, CodingKey, CaseIterable {
|
||||||
case mapString = "map_string"
|
case mapString = "map_string"
|
||||||
case mapMapString = "map_map_string"
|
case mapMapString = "map_map_string"
|
||||||
}
|
}
|
||||||
|
@ -7,9 +7,7 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
public struct Animal: Codable {
|
||||||
public struct Animal: Codable {
|
|
||||||
|
|
||||||
|
|
||||||
public var className: String
|
public var className: String
|
||||||
public var color: String? = "red"
|
public var color: String? = "red"
|
||||||
|
@ -7,5 +7,4 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
|
||||||
public typealias AnimalFarm = [Animal]
|
public typealias AnimalFarm = [Animal]
|
||||||
|
@ -7,9 +7,7 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
public struct ApiResponse: Codable {
|
||||||
public struct ApiResponse: Codable {
|
|
||||||
|
|
||||||
|
|
||||||
public var code: Int?
|
public var code: Int?
|
||||||
public var type: String?
|
public var type: String?
|
||||||
|
@ -7,9 +7,7 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
public struct ArrayOfArrayOfNumberOnly: Codable {
|
||||||
public struct ArrayOfArrayOfNumberOnly: Codable {
|
|
||||||
|
|
||||||
|
|
||||||
public var arrayArrayNumber: [[Double]]?
|
public var arrayArrayNumber: [[Double]]?
|
||||||
|
|
||||||
@ -17,7 +15,7 @@ public struct ArrayOfArrayOfNumberOnly: Codable {
|
|||||||
self.arrayArrayNumber = arrayArrayNumber
|
self.arrayArrayNumber = arrayArrayNumber
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum CodingKeys: String, CodingKey, CaseIterable {
|
public enum CodingKeys: String, CodingKey, CaseIterable {
|
||||||
case arrayArrayNumber = "ArrayArrayNumber"
|
case arrayArrayNumber = "ArrayArrayNumber"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,9 +7,7 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
public struct ArrayOfNumberOnly: Codable {
|
||||||
public struct ArrayOfNumberOnly: Codable {
|
|
||||||
|
|
||||||
|
|
||||||
public var arrayNumber: [Double]?
|
public var arrayNumber: [Double]?
|
||||||
|
|
||||||
@ -17,7 +15,7 @@ public struct ArrayOfNumberOnly: Codable {
|
|||||||
self.arrayNumber = arrayNumber
|
self.arrayNumber = arrayNumber
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum CodingKeys: String, CodingKey, CaseIterable {
|
public enum CodingKeys: String, CodingKey, CaseIterable {
|
||||||
case arrayNumber = "ArrayNumber"
|
case arrayNumber = "ArrayNumber"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,9 +7,7 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
public struct ArrayTest: Codable {
|
||||||
public struct ArrayTest: Codable {
|
|
||||||
|
|
||||||
|
|
||||||
public var arrayOfString: [String]?
|
public var arrayOfString: [String]?
|
||||||
public var arrayArrayOfInteger: [[Int64]]?
|
public var arrayArrayOfInteger: [[Int64]]?
|
||||||
@ -21,7 +19,7 @@ public struct ArrayTest: Codable {
|
|||||||
self.arrayArrayOfModel = arrayArrayOfModel
|
self.arrayArrayOfModel = arrayArrayOfModel
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum CodingKeys: String, CodingKey, CaseIterable {
|
public enum CodingKeys: String, CodingKey, CaseIterable {
|
||||||
case arrayOfString = "array_of_string"
|
case arrayOfString = "array_of_string"
|
||||||
case arrayArrayOfInteger = "array_array_of_integer"
|
case arrayArrayOfInteger = "array_array_of_integer"
|
||||||
case arrayArrayOfModel = "array_array_of_model"
|
case arrayArrayOfModel = "array_array_of_model"
|
||||||
|
@ -7,9 +7,7 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
public struct Capitalization: Codable {
|
||||||
public struct Capitalization: Codable {
|
|
||||||
|
|
||||||
|
|
||||||
public var smallCamel: String?
|
public var smallCamel: String?
|
||||||
public var capitalCamel: String?
|
public var capitalCamel: String?
|
||||||
@ -28,7 +26,7 @@ public struct Capitalization: Codable {
|
|||||||
self.ATT_NAME = ATT_NAME
|
self.ATT_NAME = ATT_NAME
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum CodingKeys: String, CodingKey, CaseIterable {
|
public enum CodingKeys: String, CodingKey, CaseIterable {
|
||||||
case smallCamel
|
case smallCamel
|
||||||
case capitalCamel = "CapitalCamel"
|
case capitalCamel = "CapitalCamel"
|
||||||
case smallSnake = "small_Snake"
|
case smallSnake = "small_Snake"
|
||||||
|
@ -7,9 +7,7 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
public struct Cat: Codable {
|
||||||
public struct Cat: Codable {
|
|
||||||
|
|
||||||
|
|
||||||
public var className: String
|
public var className: String
|
||||||
public var color: String? = "red"
|
public var color: String? = "red"
|
||||||
|
@ -7,9 +7,7 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
public struct CatAllOf: Codable {
|
||||||
public struct CatAllOf: Codable {
|
|
||||||
|
|
||||||
|
|
||||||
public var declawed: Bool?
|
public var declawed: Bool?
|
||||||
|
|
||||||
|
@ -7,9 +7,7 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
public struct Category: Codable {
|
||||||
public struct Category: Codable {
|
|
||||||
|
|
||||||
|
|
||||||
public var id: Int64?
|
public var id: Int64?
|
||||||
public var name: String = "default-name"
|
public var name: String = "default-name"
|
||||||
|
@ -8,8 +8,7 @@
|
|||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
/** Model for testing model with \"_class\" property */
|
/** Model for testing model with \"_class\" property */
|
||||||
public struct ClassModel: Codable {
|
public struct ClassModel: Codable {
|
||||||
|
|
||||||
|
|
||||||
public var _class: String?
|
public var _class: String?
|
||||||
|
|
||||||
|
@ -7,9 +7,7 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
public struct Client: Codable {
|
||||||
public struct Client: Codable {
|
|
||||||
|
|
||||||
|
|
||||||
public var client: String?
|
public var client: String?
|
||||||
|
|
||||||
|
@ -7,9 +7,7 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
public struct Dog: Codable {
|
||||||
public struct Dog: Codable {
|
|
||||||
|
|
||||||
|
|
||||||
public var className: String
|
public var className: String
|
||||||
public var color: String? = "red"
|
public var color: String? = "red"
|
||||||
|
@ -7,9 +7,7 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
public struct DogAllOf: Codable {
|
||||||
public struct DogAllOf: Codable {
|
|
||||||
|
|
||||||
|
|
||||||
public var breed: String?
|
public var breed: String?
|
||||||
|
|
||||||
|
@ -7,9 +7,7 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
public struct EnumArrays: Codable {
|
||||||
public struct EnumArrays: Codable {
|
|
||||||
|
|
||||||
|
|
||||||
public enum JustSymbol: String, Codable, CaseIterable {
|
public enum JustSymbol: String, Codable, CaseIterable {
|
||||||
case greaterThanOrEqualTo = ">="
|
case greaterThanOrEqualTo = ">="
|
||||||
@ -27,7 +25,7 @@ public struct EnumArrays: Codable {
|
|||||||
self.arrayEnum = arrayEnum
|
self.arrayEnum = arrayEnum
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum CodingKeys: String, CodingKey, CaseIterable {
|
public enum CodingKeys: String, CodingKey, CaseIterable {
|
||||||
case justSymbol = "just_symbol"
|
case justSymbol = "just_symbol"
|
||||||
case arrayEnum = "array_enum"
|
case arrayEnum = "array_enum"
|
||||||
}
|
}
|
||||||
|
@ -7,7 +7,6 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
|
||||||
public enum EnumClass: String, Codable, CaseIterable {
|
public enum EnumClass: String, Codable, CaseIterable {
|
||||||
case abc = "_abc"
|
case abc = "_abc"
|
||||||
case efg = "-efg"
|
case efg = "-efg"
|
||||||
|
@ -7,9 +7,7 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
public struct EnumTest: Codable {
|
||||||
public struct EnumTest: Codable {
|
|
||||||
|
|
||||||
|
|
||||||
public enum EnumString: String, Codable, CaseIterable {
|
public enum EnumString: String, Codable, CaseIterable {
|
||||||
case upper = "UPPER"
|
case upper = "UPPER"
|
||||||
@ -43,7 +41,7 @@ public struct EnumTest: Codable {
|
|||||||
self.outerEnum = outerEnum
|
self.outerEnum = outerEnum
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum CodingKeys: String, CodingKey, CaseIterable {
|
public enum CodingKeys: String, CodingKey, CaseIterable {
|
||||||
case enumString = "enum_string"
|
case enumString = "enum_string"
|
||||||
case enumStringRequired = "enum_string_required"
|
case enumStringRequired = "enum_string_required"
|
||||||
case enumInteger = "enum_integer"
|
case enumInteger = "enum_integer"
|
||||||
|
@ -8,8 +8,7 @@
|
|||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
/** Must be named `File` for test. */
|
/** Must be named `File` for test. */
|
||||||
public struct File: Codable {
|
public struct File: Codable {
|
||||||
|
|
||||||
|
|
||||||
/** Test capitalization */
|
/** Test capitalization */
|
||||||
public var sourceURI: String?
|
public var sourceURI: String?
|
||||||
|
@ -7,9 +7,7 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
public struct FileSchemaTestClass: Codable {
|
||||||
public struct FileSchemaTestClass: Codable {
|
|
||||||
|
|
||||||
|
|
||||||
public var file: File?
|
public var file: File?
|
||||||
public var files: [File]?
|
public var files: [File]?
|
||||||
|
@ -7,9 +7,7 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
public struct FormatTest: Codable {
|
||||||
public struct FormatTest: Codable {
|
|
||||||
|
|
||||||
|
|
||||||
public var integer: Int?
|
public var integer: Int?
|
||||||
public var int32: Int?
|
public var int32: Int?
|
||||||
|
@ -7,9 +7,7 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
public struct HasOnlyReadOnly: Codable {
|
||||||
public struct HasOnlyReadOnly: Codable {
|
|
||||||
|
|
||||||
|
|
||||||
public var bar: String?
|
public var bar: String?
|
||||||
public var foo: String?
|
public var foo: String?
|
||||||
|
@ -7,9 +7,7 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
public struct List: Codable {
|
||||||
public struct List: Codable {
|
|
||||||
|
|
||||||
|
|
||||||
public var _123list: String?
|
public var _123list: String?
|
||||||
|
|
||||||
@ -17,7 +15,7 @@ public struct List: Codable {
|
|||||||
self._123list = _123list
|
self._123list = _123list
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum CodingKeys: String, CodingKey, CaseIterable {
|
public enum CodingKeys: String, CodingKey, CaseIterable {
|
||||||
case _123list = "123-list"
|
case _123list = "123-list"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,27 +7,25 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
public struct MapTest: Codable {
|
||||||
public struct MapTest: Codable {
|
|
||||||
|
|
||||||
|
|
||||||
public enum MapOfEnumString: String, Codable, CaseIterable {
|
public enum MapOfEnumString: String, Codable, CaseIterable {
|
||||||
case upper = "UPPER"
|
case upper = "UPPER"
|
||||||
case lower = "lower"
|
case lower = "lower"
|
||||||
}
|
}
|
||||||
public var mapMapOfString: [String:[String:String]]?
|
public var mapMapOfString: [String: [String: String]]?
|
||||||
public var mapOfEnumString: [String:String]?
|
public var mapOfEnumString: [String: String]?
|
||||||
public var directMap: [String:Bool]?
|
public var directMap: [String: Bool]?
|
||||||
public var indirectMap: StringBooleanMap?
|
public var indirectMap: StringBooleanMap?
|
||||||
|
|
||||||
public init(mapMapOfString: [String:[String:String]]?, mapOfEnumString: [String:String]?, directMap: [String:Bool]?, indirectMap: StringBooleanMap?) {
|
public init(mapMapOfString: [String: [String: String]]?, mapOfEnumString: [String: String]?, directMap: [String: Bool]?, indirectMap: StringBooleanMap?) {
|
||||||
self.mapMapOfString = mapMapOfString
|
self.mapMapOfString = mapMapOfString
|
||||||
self.mapOfEnumString = mapOfEnumString
|
self.mapOfEnumString = mapOfEnumString
|
||||||
self.directMap = directMap
|
self.directMap = directMap
|
||||||
self.indirectMap = indirectMap
|
self.indirectMap = indirectMap
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum CodingKeys: String, CodingKey, CaseIterable {
|
public enum CodingKeys: String, CodingKey, CaseIterable {
|
||||||
case mapMapOfString = "map_map_of_string"
|
case mapMapOfString = "map_map_of_string"
|
||||||
case mapOfEnumString = "map_of_enum_string"
|
case mapOfEnumString = "map_of_enum_string"
|
||||||
case directMap = "direct_map"
|
case directMap = "direct_map"
|
||||||
|
@ -7,15 +7,13 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
public struct MixedPropertiesAndAdditionalPropertiesClass: Codable {
|
||||||
public struct MixedPropertiesAndAdditionalPropertiesClass: Codable {
|
|
||||||
|
|
||||||
|
|
||||||
public var uuid: UUID?
|
public var uuid: UUID?
|
||||||
public var dateTime: Date?
|
public var dateTime: Date?
|
||||||
public var map: [String:Animal]?
|
public var map: [String: Animal]?
|
||||||
|
|
||||||
public init(uuid: UUID?, dateTime: Date?, map: [String:Animal]?) {
|
public init(uuid: UUID?, dateTime: Date?, map: [String: Animal]?) {
|
||||||
self.uuid = uuid
|
self.uuid = uuid
|
||||||
self.dateTime = dateTime
|
self.dateTime = dateTime
|
||||||
self.map = map
|
self.map = map
|
||||||
|
@ -8,8 +8,7 @@
|
|||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
/** Model for testing model name starting with number */
|
/** Model for testing model name starting with number */
|
||||||
public struct Model200Response: Codable {
|
public struct Model200Response: Codable {
|
||||||
|
|
||||||
|
|
||||||
public var name: Int?
|
public var name: Int?
|
||||||
public var _class: String?
|
public var _class: String?
|
||||||
@ -19,7 +18,7 @@ public struct Model200Response: Codable {
|
|||||||
self._class = _class
|
self._class = _class
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum CodingKeys: String, CodingKey, CaseIterable {
|
public enum CodingKeys: String, CodingKey, CaseIterable {
|
||||||
case name
|
case name
|
||||||
case _class = "class"
|
case _class = "class"
|
||||||
}
|
}
|
||||||
|
@ -8,8 +8,7 @@
|
|||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
/** Model for testing model name same as property name */
|
/** Model for testing model name same as property name */
|
||||||
public struct Name: Codable {
|
public struct Name: Codable {
|
||||||
|
|
||||||
|
|
||||||
public var name: Int
|
public var name: Int
|
||||||
public var snakeCase: Int?
|
public var snakeCase: Int?
|
||||||
@ -23,7 +22,7 @@ public struct Name: Codable {
|
|||||||
self._123number = _123number
|
self._123number = _123number
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum CodingKeys: String, CodingKey, CaseIterable {
|
public enum CodingKeys: String, CodingKey, CaseIterable {
|
||||||
case name
|
case name
|
||||||
case snakeCase = "snake_case"
|
case snakeCase = "snake_case"
|
||||||
case property
|
case property
|
||||||
|
@ -7,9 +7,7 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
public struct NumberOnly: Codable {
|
||||||
public struct NumberOnly: Codable {
|
|
||||||
|
|
||||||
|
|
||||||
public var justNumber: Double?
|
public var justNumber: Double?
|
||||||
|
|
||||||
@ -17,7 +15,7 @@ public struct NumberOnly: Codable {
|
|||||||
self.justNumber = justNumber
|
self.justNumber = justNumber
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum CodingKeys: String, CodingKey, CaseIterable {
|
public enum CodingKeys: String, CodingKey, CaseIterable {
|
||||||
case justNumber = "JustNumber"
|
case justNumber = "JustNumber"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,9 +7,7 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
public struct Order: Codable {
|
||||||
public struct Order: Codable {
|
|
||||||
|
|
||||||
|
|
||||||
public enum Status: String, Codable, CaseIterable {
|
public enum Status: String, Codable, CaseIterable {
|
||||||
case placed = "placed"
|
case placed = "placed"
|
||||||
|
@ -7,9 +7,7 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
public struct OuterComposite: Codable {
|
||||||
public struct OuterComposite: Codable {
|
|
||||||
|
|
||||||
|
|
||||||
public var myNumber: Double?
|
public var myNumber: Double?
|
||||||
public var myString: String?
|
public var myString: String?
|
||||||
@ -21,7 +19,7 @@ public struct OuterComposite: Codable {
|
|||||||
self.myBoolean = myBoolean
|
self.myBoolean = myBoolean
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum CodingKeys: String, CodingKey, CaseIterable {
|
public enum CodingKeys: String, CodingKey, CaseIterable {
|
||||||
case myNumber = "my_number"
|
case myNumber = "my_number"
|
||||||
case myString = "my_string"
|
case myString = "my_string"
|
||||||
case myBoolean = "my_boolean"
|
case myBoolean = "my_boolean"
|
||||||
|
@ -7,7 +7,6 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
|
||||||
public enum OuterEnum: String, Codable, CaseIterable {
|
public enum OuterEnum: String, Codable, CaseIterable {
|
||||||
case placed = "placed"
|
case placed = "placed"
|
||||||
case approved = "approved"
|
case approved = "approved"
|
||||||
|
@ -7,9 +7,7 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
public struct Pet: Codable {
|
||||||
public struct Pet: Codable {
|
|
||||||
|
|
||||||
|
|
||||||
public enum Status: String, Codable, CaseIterable {
|
public enum Status: String, Codable, CaseIterable {
|
||||||
case available = "available"
|
case available = "available"
|
||||||
|
@ -7,9 +7,7 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
public struct ReadOnlyFirst: Codable {
|
||||||
public struct ReadOnlyFirst: Codable {
|
|
||||||
|
|
||||||
|
|
||||||
public var bar: String?
|
public var bar: String?
|
||||||
public var baz: String?
|
public var baz: String?
|
||||||
|
@ -8,8 +8,7 @@
|
|||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
/** Model for testing reserved words */
|
/** Model for testing reserved words */
|
||||||
public struct Return: Codable {
|
public struct Return: Codable {
|
||||||
|
|
||||||
|
|
||||||
public var _return: Int?
|
public var _return: Int?
|
||||||
|
|
||||||
@ -17,7 +16,7 @@ public struct Return: Codable {
|
|||||||
self._return = _return
|
self._return = _return
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum CodingKeys: String, CodingKey, CaseIterable {
|
public enum CodingKeys: String, CodingKey, CaseIterable {
|
||||||
case _return = "return"
|
case _return = "return"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,9 +7,7 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
public struct SpecialModelName: Codable {
|
||||||
public struct SpecialModelName: Codable {
|
|
||||||
|
|
||||||
|
|
||||||
public var specialPropertyName: Int64?
|
public var specialPropertyName: Int64?
|
||||||
|
|
||||||
@ -17,7 +15,7 @@ public struct SpecialModelName: Codable {
|
|||||||
self.specialPropertyName = specialPropertyName
|
self.specialPropertyName = specialPropertyName
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum CodingKeys: String, CodingKey, CaseIterable {
|
public enum CodingKeys: String, CodingKey, CaseIterable {
|
||||||
case specialPropertyName = "$special[property.name]"
|
case specialPropertyName = "$special[property.name]"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,12 +7,9 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
public struct StringBooleanMap: Codable {
|
||||||
|
|
||||||
public struct StringBooleanMap: Codable {
|
public var additionalProperties: [String: Bool] = [:]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public var additionalProperties: [String:Bool] = [:]
|
|
||||||
|
|
||||||
public subscript(key: String) -> Bool? {
|
public subscript(key: String) -> Bool? {
|
||||||
get {
|
get {
|
||||||
@ -45,5 +42,4 @@ public struct StringBooleanMap: Codable {
|
|||||||
additionalProperties = try container.decodeMap(Bool.self, excludedKeys: nonAdditionalPropertyKeys)
|
additionalProperties = try container.decodeMap(Bool.self, excludedKeys: nonAdditionalPropertyKeys)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -7,9 +7,7 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
public struct Tag: Codable {
|
||||||
public struct Tag: Codable {
|
|
||||||
|
|
||||||
|
|
||||||
public var id: Int64?
|
public var id: Int64?
|
||||||
public var name: String?
|
public var name: String?
|
||||||
|
@ -7,9 +7,7 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
public struct TypeHolderDefault: Codable {
|
||||||
public struct TypeHolderDefault: Codable {
|
|
||||||
|
|
||||||
|
|
||||||
public var stringItem: String = "what"
|
public var stringItem: String = "what"
|
||||||
public var numberItem: Double
|
public var numberItem: Double
|
||||||
@ -25,7 +23,7 @@ public struct TypeHolderDefault: Codable {
|
|||||||
self.arrayItem = arrayItem
|
self.arrayItem = arrayItem
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum CodingKeys: String, CodingKey, CaseIterable {
|
public enum CodingKeys: String, CodingKey, CaseIterable {
|
||||||
case stringItem = "string_item"
|
case stringItem = "string_item"
|
||||||
case numberItem = "number_item"
|
case numberItem = "number_item"
|
||||||
case integerItem = "integer_item"
|
case integerItem = "integer_item"
|
||||||
|
@ -7,9 +7,7 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
public struct TypeHolderExample: Codable {
|
||||||
public struct TypeHolderExample: Codable {
|
|
||||||
|
|
||||||
|
|
||||||
public var stringItem: String
|
public var stringItem: String
|
||||||
public var numberItem: Double
|
public var numberItem: Double
|
||||||
@ -25,7 +23,7 @@ public struct TypeHolderExample: Codable {
|
|||||||
self.arrayItem = arrayItem
|
self.arrayItem = arrayItem
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum CodingKeys: String, CodingKey, CaseIterable {
|
public enum CodingKeys: String, CodingKey, CaseIterable {
|
||||||
case stringItem = "string_item"
|
case stringItem = "string_item"
|
||||||
case numberItem = "number_item"
|
case numberItem = "number_item"
|
||||||
case integerItem = "integer_item"
|
case integerItem = "integer_item"
|
||||||
|
@ -7,9 +7,7 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
|
public struct User: Codable {
|
||||||
public struct User: Codable {
|
|
||||||
|
|
||||||
|
|
||||||
public var id: Int64?
|
public var id: Int64?
|
||||||
public var username: String?
|
public var username: String?
|
||||||
|
@ -14,7 +14,7 @@ class URLSessionRequestBuilderFactory: RequestBuilderFactory {
|
|||||||
return URLSessionRequestBuilder<T>.self
|
return URLSessionRequestBuilder<T>.self
|
||||||
}
|
}
|
||||||
|
|
||||||
func getBuilder<T:Decodable>() -> RequestBuilder<T>.Type {
|
func getBuilder<T: Decodable>() -> RequestBuilder<T>.Type {
|
||||||
return URLSessionDecodableRequestBuilder<T>.self
|
return URLSessionDecodableRequestBuilder<T>.self
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -23,18 +23,18 @@ class URLSessionRequestBuilderFactory: RequestBuilderFactory {
|
|||||||
private var urlSessionStore = SynchronizedDictionary<String, URLSession>()
|
private var urlSessionStore = SynchronizedDictionary<String, URLSession>()
|
||||||
|
|
||||||
open class URLSessionRequestBuilder<T>: RequestBuilder<T> {
|
open class URLSessionRequestBuilder<T>: RequestBuilder<T> {
|
||||||
|
|
||||||
let progress = Progress()
|
let progress = Progress()
|
||||||
|
|
||||||
private var observation: NSKeyValueObservation?
|
private var observation: NSKeyValueObservation?
|
||||||
|
|
||||||
deinit {
|
deinit {
|
||||||
observation?.invalidate()
|
observation?.invalidate()
|
||||||
}
|
}
|
||||||
|
|
||||||
// swiftlint:disable:next weak_delegate
|
// swiftlint:disable:next weak_delegate
|
||||||
fileprivate let sessionDelegate = SessionDelegate()
|
fileprivate let sessionDelegate = SessionDelegate()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
May be assigned if you want to control the authentication challenges.
|
May be assigned if you want to control the authentication challenges.
|
||||||
*/
|
*/
|
||||||
@ -47,11 +47,11 @@ open class URLSessionRequestBuilder<T>: RequestBuilder<T> {
|
|||||||
- retry the request.
|
- retry the request.
|
||||||
*/
|
*/
|
||||||
public var taskCompletionShouldRetry: ((Data?, URLResponse?, Error?, @escaping (Bool) -> Void) -> Void)?
|
public var taskCompletionShouldRetry: ((Data?, URLResponse?, Error?, @escaping (Bool) -> Void) -> Void)?
|
||||||
|
|
||||||
required public init(method: String, URLString: String, parameters: [String : Any]?, isBody: Bool, headers: [String : String] = [:]) {
|
required public init(method: String, URLString: String, parameters: [String: Any]?, isBody: Bool, headers: [String: String] = [:]) {
|
||||||
super.init(method: method, URLString: URLString, parameters: parameters, isBody: isBody, headers: headers)
|
super.init(method: method, URLString: URLString, parameters: parameters, isBody: isBody, headers: headers)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
May be overridden by a subclass if you want to control the URLSession
|
May be overridden by a subclass if you want to control the URLSession
|
||||||
configuration.
|
configuration.
|
||||||
@ -79,40 +79,40 @@ open class URLSessionRequestBuilder<T>: RequestBuilder<T> {
|
|||||||
May be overridden by a subclass if you want to control the URLRequest
|
May be overridden by a subclass if you want to control the URLRequest
|
||||||
configuration (e.g. to override the cache policy).
|
configuration (e.g. to override the cache policy).
|
||||||
*/
|
*/
|
||||||
open func createURLRequest(urlSession: URLSession, method: HTTPMethod, encoding: ParameterEncoding, headers: [String:String]) throws -> URLRequest {
|
open func createURLRequest(urlSession: URLSession, method: HTTPMethod, encoding: ParameterEncoding, headers: [String: String]) throws -> URLRequest {
|
||||||
|
|
||||||
guard let url = URL(string: URLString) else {
|
guard let url = URL(string: URLString) else {
|
||||||
throw DownloadException.requestMissingURL
|
throw DownloadException.requestMissingURL
|
||||||
}
|
}
|
||||||
|
|
||||||
var originalRequest = URLRequest(url: url)
|
var originalRequest = URLRequest(url: url)
|
||||||
|
|
||||||
originalRequest.httpMethod = method.rawValue
|
originalRequest.httpMethod = method.rawValue
|
||||||
|
|
||||||
buildHeaders().forEach { key, value in
|
buildHeaders().forEach { key, value in
|
||||||
originalRequest.setValue(value, forHTTPHeaderField: key)
|
originalRequest.setValue(value, forHTTPHeaderField: key)
|
||||||
}
|
}
|
||||||
|
|
||||||
headers.forEach { key, value in
|
headers.forEach { key, value in
|
||||||
originalRequest.setValue(value, forHTTPHeaderField: key)
|
originalRequest.setValue(value, forHTTPHeaderField: key)
|
||||||
}
|
}
|
||||||
|
|
||||||
let modifiedRequest = try encoding.encode(originalRequest, with: parameters)
|
let modifiedRequest = try encoding.encode(originalRequest, with: parameters)
|
||||||
|
|
||||||
return modifiedRequest
|
return modifiedRequest
|
||||||
}
|
}
|
||||||
|
|
||||||
override open func execute(_ apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, _ completion: @escaping (_ result: Swift.Result<Response<T>, Error>) -> Void) {
|
override open func execute(_ apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, _ completion: @escaping (_ result: Swift.Result<Response<T>, Error>) -> Void) {
|
||||||
let urlSessionId:String = UUID().uuidString
|
let urlSessionId: String = UUID().uuidString
|
||||||
// Create a new manager for each request to customize its request header
|
// Create a new manager for each request to customize its request header
|
||||||
let urlSession = createURLSession()
|
let urlSession = createURLSession()
|
||||||
urlSessionStore[urlSessionId] = urlSession
|
urlSessionStore[urlSessionId] = urlSession
|
||||||
|
|
||||||
let parameters: [String: Any] = self.parameters ?? [:]
|
let parameters: [String: Any] = self.parameters ?? [:]
|
||||||
|
|
||||||
let fileKeys = parameters.filter { $1 is URL }
|
let fileKeys = parameters.filter { $1 is URL }
|
||||||
.map { $0.0 }
|
.map { $0.0 }
|
||||||
|
|
||||||
let encoding: ParameterEncoding
|
let encoding: ParameterEncoding
|
||||||
if fileKeys.count > 0 {
|
if fileKeys.count > 0 {
|
||||||
encoding = FileUploadEncoding(contentTypeForFormPart: contentTypeForFormPart(fileURL:))
|
encoding = FileUploadEncoding(contentTypeForFormPart: contentTypeForFormPart(fileURL:))
|
||||||
@ -121,29 +121,29 @@ open class URLSessionRequestBuilder<T>: RequestBuilder<T> {
|
|||||||
} else {
|
} else {
|
||||||
encoding = URLEncoding()
|
encoding = URLEncoding()
|
||||||
}
|
}
|
||||||
|
|
||||||
guard let xMethod = HTTPMethod(rawValue: method) else {
|
guard let xMethod = HTTPMethod(rawValue: method) else {
|
||||||
fatalError("Unsuported Http method - \(method)")
|
fatalError("Unsuported Http method - \(method)")
|
||||||
}
|
}
|
||||||
|
|
||||||
let cleanupRequest = {
|
let cleanupRequest = {
|
||||||
urlSessionStore[urlSessionId] = nil
|
urlSessionStore[urlSessionId] = nil
|
||||||
self.observation?.invalidate()
|
self.observation?.invalidate()
|
||||||
}
|
}
|
||||||
|
|
||||||
do {
|
do {
|
||||||
let request = try createURLRequest(urlSession: urlSession, method: xMethod, encoding: encoding, headers: headers)
|
let request = try createURLRequest(urlSession: urlSession, method: xMethod, encoding: encoding, headers: headers)
|
||||||
|
|
||||||
let dataTask = urlSession.dataTask(with: request) { [weak self] data, response, error in
|
let dataTask = urlSession.dataTask(with: request) { [weak self] data, response, error in
|
||||||
|
|
||||||
guard let self = self else { return }
|
guard let self = self else { return }
|
||||||
|
|
||||||
if let taskCompletionShouldRetry = self.taskCompletionShouldRetry {
|
if let taskCompletionShouldRetry = self.taskCompletionShouldRetry {
|
||||||
|
|
||||||
taskCompletionShouldRetry(data, response, error) { [weak self] shouldRetry in
|
taskCompletionShouldRetry(data, response, error) { [weak self] shouldRetry in
|
||||||
|
|
||||||
guard let self = self else { return }
|
guard let self = self else { return }
|
||||||
|
|
||||||
if shouldRetry {
|
if shouldRetry {
|
||||||
cleanupRequest()
|
cleanupRequest()
|
||||||
self.execute(apiResponseQueue, completion)
|
self.execute(apiResponseQueue, completion)
|
||||||
@ -159,18 +159,18 @@ open class URLSessionRequestBuilder<T>: RequestBuilder<T> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if #available(iOS 11.0, macOS 10.13, macCatalyst 13.0, tvOS 11.0, watchOS 4.0, *) {
|
if #available(iOS 11.0, macOS 10.13, macCatalyst 13.0, tvOS 11.0, watchOS 4.0, *) {
|
||||||
observation = dataTask.progress.observe(\.fractionCompleted) { newProgress, _ in
|
observation = dataTask.progress.observe(\.fractionCompleted) { newProgress, _ in
|
||||||
self.progress.totalUnitCount = newProgress.totalUnitCount
|
self.progress.totalUnitCount = newProgress.totalUnitCount
|
||||||
self.progress.completedUnitCount = newProgress.completedUnitCount
|
self.progress.completedUnitCount = newProgress.completedUnitCount
|
||||||
}
|
}
|
||||||
|
|
||||||
onProgressReady?(progress)
|
onProgressReady?(progress)
|
||||||
}
|
}
|
||||||
|
|
||||||
dataTask.resume()
|
dataTask.resume()
|
||||||
|
|
||||||
} catch {
|
} catch {
|
||||||
apiResponseQueue.async {
|
apiResponseQueue.async {
|
||||||
cleanupRequest()
|
cleanupRequest()
|
||||||
@ -179,7 +179,7 @@ open class URLSessionRequestBuilder<T>: RequestBuilder<T> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fileprivate func processRequestResponse(urlRequest: URLRequest, data: Data?, response: URLResponse?, error: Error?, completion: @escaping (_ result: Swift.Result<Response<T>, Error>) -> Void) {
|
fileprivate func processRequestResponse(urlRequest: URLRequest, data: Data?, response: URLResponse?, error: Error?, completion: @escaping (_ result: Swift.Result<Response<T>, Error>) -> Void) {
|
||||||
|
|
||||||
if let error = error {
|
if let error = error {
|
||||||
@ -199,52 +199,52 @@ open class URLSessionRequestBuilder<T>: RequestBuilder<T> {
|
|||||||
|
|
||||||
switch T.self {
|
switch T.self {
|
||||||
case is String.Type:
|
case is String.Type:
|
||||||
|
|
||||||
let body = data.flatMap { String(data: $0, encoding: .utf8) } ?? ""
|
let body = data.flatMap { String(data: $0, encoding: .utf8) } ?? ""
|
||||||
|
|
||||||
completion(.success(Response<T>(response: httpResponse, body: body as? T)))
|
completion(.success(Response<T>(response: httpResponse, body: body as? T)))
|
||||||
|
|
||||||
case is URL.Type:
|
case is URL.Type:
|
||||||
do {
|
do {
|
||||||
|
|
||||||
guard error == nil else {
|
guard error == nil else {
|
||||||
throw DownloadException.responseFailed
|
throw DownloadException.responseFailed
|
||||||
}
|
}
|
||||||
|
|
||||||
guard let data = data else {
|
guard let data = data else {
|
||||||
throw DownloadException.responseDataMissing
|
throw DownloadException.responseDataMissing
|
||||||
}
|
}
|
||||||
|
|
||||||
let fileManager = FileManager.default
|
let fileManager = FileManager.default
|
||||||
let documentsDirectory = fileManager.urls(for: .documentDirectory, in: .userDomainMask)[0]
|
let documentsDirectory = fileManager.urls(for: .documentDirectory, in: .userDomainMask)[0]
|
||||||
let requestURL = try self.getURL(from: urlRequest)
|
let requestURL = try self.getURL(from: urlRequest)
|
||||||
|
|
||||||
var requestPath = try self.getPath(from: requestURL)
|
var requestPath = try self.getPath(from: requestURL)
|
||||||
|
|
||||||
if let headerFileName = self.getFileName(fromContentDisposition: httpResponse.allHeaderFields["Content-Disposition"] as? String) {
|
if let headerFileName = self.getFileName(fromContentDisposition: httpResponse.allHeaderFields["Content-Disposition"] as? String) {
|
||||||
requestPath = requestPath.appending("/\(headerFileName)")
|
requestPath = requestPath.appending("/\(headerFileName)")
|
||||||
}
|
}
|
||||||
|
|
||||||
let filePath = documentsDirectory.appendingPathComponent(requestPath)
|
let filePath = documentsDirectory.appendingPathComponent(requestPath)
|
||||||
let directoryPath = filePath.deletingLastPathComponent().path
|
let directoryPath = filePath.deletingLastPathComponent().path
|
||||||
|
|
||||||
try fileManager.createDirectory(atPath: directoryPath, withIntermediateDirectories: true, attributes: nil)
|
try fileManager.createDirectory(atPath: directoryPath, withIntermediateDirectories: true, attributes: nil)
|
||||||
try data.write(to: filePath, options: .atomic)
|
try data.write(to: filePath, options: .atomic)
|
||||||
|
|
||||||
completion(.success(Response(response: httpResponse, body: filePath as? T)))
|
completion(.success(Response(response: httpResponse, body: filePath as? T)))
|
||||||
|
|
||||||
} catch let requestParserError as DownloadException {
|
} catch let requestParserError as DownloadException {
|
||||||
completion(.failure(ErrorResponse.error(400, data, requestParserError)))
|
completion(.failure(ErrorResponse.error(400, data, requestParserError)))
|
||||||
} catch let error {
|
} catch let error {
|
||||||
completion(.failure(ErrorResponse.error(400, data, error)))
|
completion(.failure(ErrorResponse.error(400, data, error)))
|
||||||
}
|
}
|
||||||
|
|
||||||
case is Void.Type:
|
case is Void.Type:
|
||||||
|
|
||||||
completion(.success(Response(response: httpResponse, body: nil)))
|
completion(.success(Response(response: httpResponse, body: nil)))
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
||||||
completion(.success(Response(response: httpResponse, body: data as? T)))
|
completion(.success(Response(response: httpResponse, body: data as? T)))
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -258,7 +258,7 @@ open class URLSessionRequestBuilder<T>: RequestBuilder<T> {
|
|||||||
return httpHeaders
|
return httpHeaders
|
||||||
}
|
}
|
||||||
|
|
||||||
fileprivate func getFileName(fromContentDisposition contentDisposition : String?) -> String? {
|
fileprivate func getFileName(fromContentDisposition contentDisposition: String?) -> String? {
|
||||||
|
|
||||||
guard let contentDisposition = contentDisposition else {
|
guard let contentDisposition = contentDisposition else {
|
||||||
return nil
|
return nil
|
||||||
@ -277,7 +277,7 @@ open class URLSessionRequestBuilder<T>: RequestBuilder<T> {
|
|||||||
|
|
||||||
filename = contentItem
|
filename = contentItem
|
||||||
return filename?
|
return filename?
|
||||||
.replacingCharacters(in: range, with:"")
|
.replacingCharacters(in: range, with: "")
|
||||||
.replacingOccurrences(of: "\"", with: "")
|
.replacingOccurrences(of: "\"", with: "")
|
||||||
.trimmingCharacters(in: .whitespacesAndNewlines)
|
.trimmingCharacters(in: .whitespacesAndNewlines)
|
||||||
}
|
}
|
||||||
@ -286,7 +286,7 @@ open class URLSessionRequestBuilder<T>: RequestBuilder<T> {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fileprivate func getPath(from url : URL) throws -> String {
|
fileprivate func getPath(from url: URL) throws -> String {
|
||||||
|
|
||||||
guard var path = URLComponents(url: url, resolvingAgainstBaseURL: true)?.path else {
|
guard var path = URLComponents(url: url, resolvingAgainstBaseURL: true)?.path else {
|
||||||
throw DownloadException.requestMissingPath
|
throw DownloadException.requestMissingPath
|
||||||
@ -300,7 +300,7 @@ open class URLSessionRequestBuilder<T>: RequestBuilder<T> {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fileprivate func getURL(from urlRequest : URLRequest) throws -> URL {
|
fileprivate func getURL(from urlRequest: URLRequest) throws -> URL {
|
||||||
|
|
||||||
guard let url = urlRequest.url else {
|
guard let url = urlRequest.url else {
|
||||||
throw DownloadException.requestMissingURL
|
throw DownloadException.requestMissingURL
|
||||||
@ -311,7 +311,7 @@ open class URLSessionRequestBuilder<T>: RequestBuilder<T> {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
open class URLSessionDecodableRequestBuilder<T:Decodable>: URLSessionRequestBuilder<T> {
|
open class URLSessionDecodableRequestBuilder<T: Decodable>: URLSessionRequestBuilder<T> {
|
||||||
override fileprivate func processRequestResponse(urlRequest: URLRequest, data: Data?, response: URLResponse?, error: Error?, completion: @escaping (_ result: Swift.Result<Response<T>, Error>) -> Void) {
|
override fileprivate func processRequestResponse(urlRequest: URLRequest, data: Data?, response: URLResponse?, error: Error?, completion: @escaping (_ result: Swift.Result<Response<T>, Error>) -> Void) {
|
||||||
|
|
||||||
if let error = error {
|
if let error = error {
|
||||||
@ -331,28 +331,28 @@ open class URLSessionDecodableRequestBuilder<T:Decodable>: URLSessionRequestBuil
|
|||||||
|
|
||||||
switch T.self {
|
switch T.self {
|
||||||
case is String.Type:
|
case is String.Type:
|
||||||
|
|
||||||
let body = data.flatMap { String(data: $0, encoding: .utf8) } ?? ""
|
let body = data.flatMap { String(data: $0, encoding: .utf8) } ?? ""
|
||||||
|
|
||||||
completion(.success(Response<T>(response: httpResponse, body: body as? T)))
|
completion(.success(Response<T>(response: httpResponse, body: body as? T)))
|
||||||
|
|
||||||
case is Void.Type:
|
case is Void.Type:
|
||||||
|
|
||||||
completion(.success(Response(response: httpResponse, body: nil)))
|
completion(.success(Response(response: httpResponse, body: nil)))
|
||||||
|
|
||||||
case is Data.Type:
|
case is Data.Type:
|
||||||
|
|
||||||
completion(.success(Response(response: httpResponse, body: data as? T)))
|
completion(.success(Response(response: httpResponse, body: data as? T)))
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
||||||
guard let data = data, !data.isEmpty else {
|
guard let data = data, !data.isEmpty else {
|
||||||
completion(.failure(ErrorResponse.error(httpResponse.statusCode, nil, DecodableRequestBuilderError.emptyDataResponse)))
|
completion(.failure(ErrorResponse.error(httpResponse.statusCode, nil, DecodableRequestBuilderError.emptyDataResponse)))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
let decodeResult = CodableHelper.decode(T.self, from: data)
|
let decodeResult = CodableHelper.decode(T.self, from: data)
|
||||||
|
|
||||||
switch decodeResult {
|
switch decodeResult {
|
||||||
case let .success(decodableObj):
|
case let .success(decodableObj):
|
||||||
completion(.success(Response(response: httpResponse, body: decodableObj)))
|
completion(.success(Response(response: httpResponse, body: decodableObj)))
|
||||||
@ -363,10 +363,10 @@ open class URLSessionDecodableRequestBuilder<T:Decodable>: URLSessionRequestBuil
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fileprivate class SessionDelegate: NSObject, URLSessionDelegate, URLSessionDataDelegate {
|
private class SessionDelegate: NSObject, URLSessionDelegate, URLSessionDataDelegate {
|
||||||
|
|
||||||
var credential: URLCredential?
|
var credential: URLCredential?
|
||||||
|
|
||||||
var taskDidReceiveChallenge: ((URLSession, URLSessionTask, URLAuthenticationChallenge) -> (URLSession.AuthChallengeDisposition, URLCredential?))?
|
var taskDidReceiveChallenge: ((URLSession, URLSessionTask, URLAuthenticationChallenge) -> (URLSession.AuthChallengeDisposition, URLCredential?))?
|
||||||
|
|
||||||
func urlSession(_ session: URLSession, task: URLSessionTask, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) {
|
func urlSession(_ session: URLSession, task: URLSessionTask, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) {
|
||||||
@ -409,13 +409,13 @@ public protocol ParameterEncoding {
|
|||||||
func encode(_ urlRequest: URLRequest, with parameters: [String: Any]?) throws -> URLRequest
|
func encode(_ urlRequest: URLRequest, with parameters: [String: Any]?) throws -> URLRequest
|
||||||
}
|
}
|
||||||
|
|
||||||
fileprivate class URLEncoding: ParameterEncoding {
|
private class URLEncoding: ParameterEncoding {
|
||||||
func encode(_ urlRequest: URLRequest, with parameters: [String : Any]?) throws -> URLRequest {
|
func encode(_ urlRequest: URLRequest, with parameters: [String: Any]?) throws -> URLRequest {
|
||||||
|
|
||||||
var urlRequest = urlRequest
|
var urlRequest = urlRequest
|
||||||
|
|
||||||
guard let parameters = parameters else { return urlRequest }
|
guard let parameters = parameters else { return urlRequest }
|
||||||
|
|
||||||
guard let url = urlRequest.url else {
|
guard let url = urlRequest.url else {
|
||||||
throw DownloadException.requestMissingURL
|
throw DownloadException.requestMissingURL
|
||||||
}
|
}
|
||||||
@ -424,12 +424,12 @@ fileprivate class URLEncoding: ParameterEncoding {
|
|||||||
urlComponents.queryItems = APIHelper.mapValuesToQueryItems(parameters)
|
urlComponents.queryItems = APIHelper.mapValuesToQueryItems(parameters)
|
||||||
urlRequest.url = urlComponents.url
|
urlRequest.url = urlComponents.url
|
||||||
}
|
}
|
||||||
|
|
||||||
return urlRequest
|
return urlRequest
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fileprivate class FileUploadEncoding: ParameterEncoding {
|
private class FileUploadEncoding: ParameterEncoding {
|
||||||
|
|
||||||
let contentTypeForFormPart: (_ fileURL: URL) -> String?
|
let contentTypeForFormPart: (_ fileURL: URL) -> String?
|
||||||
|
|
||||||
@ -440,13 +440,13 @@ fileprivate class FileUploadEncoding: ParameterEncoding {
|
|||||||
func encode(_ urlRequest: URLRequest, with parameters: [String: Any]?) throws -> URLRequest {
|
func encode(_ urlRequest: URLRequest, with parameters: [String: Any]?) throws -> URLRequest {
|
||||||
|
|
||||||
var urlRequest = urlRequest
|
var urlRequest = urlRequest
|
||||||
|
|
||||||
guard let parameters = parameters, !parameters.isEmpty else {
|
guard let parameters = parameters, !parameters.isEmpty else {
|
||||||
return urlRequest
|
return urlRequest
|
||||||
}
|
}
|
||||||
|
|
||||||
let boundary = "Boundary-\(UUID().uuidString)"
|
let boundary = "Boundary-\(UUID().uuidString)"
|
||||||
|
|
||||||
urlRequest.setValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")
|
urlRequest.setValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")
|
||||||
|
|
||||||
for (key, value) in parameters {
|
for (key, value) in parameters {
|
||||||
@ -486,9 +486,9 @@ fileprivate class FileUploadEncoding: ParameterEncoding {
|
|||||||
fatalError("Unprocessable value \(value) with key \(key)")
|
fatalError("Unprocessable value \(value) with key \(key)")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var body = urlRequest.httpBody.orEmpty
|
var body = urlRequest.httpBody.orEmpty
|
||||||
|
|
||||||
body.append("--\(boundary)--")
|
body.append("--\(boundary)--")
|
||||||
|
|
||||||
urlRequest.httpBody = body
|
urlRequest.httpBody = body
|
||||||
@ -501,13 +501,13 @@ fileprivate class FileUploadEncoding: ParameterEncoding {
|
|||||||
var urlRequest = urlRequest
|
var urlRequest = urlRequest
|
||||||
|
|
||||||
var body = urlRequest.httpBody.orEmpty
|
var body = urlRequest.httpBody.orEmpty
|
||||||
|
|
||||||
let fileData = try Data(contentsOf: fileURL)
|
let fileData = try Data(contentsOf: fileURL)
|
||||||
|
|
||||||
let mimetype = self.contentTypeForFormPart(fileURL) ?? mimeType(for: fileURL)
|
let mimetype = self.contentTypeForFormPart(fileURL) ?? mimeType(for: fileURL)
|
||||||
|
|
||||||
let fileName = fileURL.lastPathComponent
|
let fileName = fileURL.lastPathComponent
|
||||||
|
|
||||||
body.append("--\(boundary)\r\n")
|
body.append("--\(boundary)\r\n")
|
||||||
body.append("Content-Disposition: form-data; name=\"\(name)\"; filename=\"\(fileName)\"\r\n\r\n")
|
body.append("Content-Disposition: form-data; name=\"\(name)\"; filename=\"\(fileName)\"\r\n\r\n")
|
||||||
|
|
||||||
@ -516,25 +516,25 @@ fileprivate class FileUploadEncoding: ParameterEncoding {
|
|||||||
body.append(fileData)
|
body.append(fileData)
|
||||||
|
|
||||||
body.append("\r\n\r\n")
|
body.append("\r\n\r\n")
|
||||||
|
|
||||||
urlRequest.httpBody = body
|
urlRequest.httpBody = body
|
||||||
|
|
||||||
return urlRequest
|
return urlRequest
|
||||||
}
|
}
|
||||||
|
|
||||||
private func configureDataUploadRequest(urlRequest: URLRequest, boundary: String, name: String, data: Data) -> URLRequest {
|
private func configureDataUploadRequest(urlRequest: URLRequest, boundary: String, name: String, data: Data) -> URLRequest {
|
||||||
|
|
||||||
var urlRequest = urlRequest
|
var urlRequest = urlRequest
|
||||||
|
|
||||||
var body = urlRequest.httpBody.orEmpty
|
var body = urlRequest.httpBody.orEmpty
|
||||||
|
|
||||||
body.append("--\(boundary)\r\n")
|
body.append("--\(boundary)\r\n")
|
||||||
body.append("Content-Disposition: form-data; name=\"\(name)\"\r\n\r\n")
|
body.append("Content-Disposition: form-data; name=\"\(name)\"\r\n\r\n")
|
||||||
|
|
||||||
body.append(data)
|
body.append(data)
|
||||||
|
|
||||||
body.append("\r\n\r\n")
|
body.append("\r\n\r\n")
|
||||||
|
|
||||||
urlRequest.httpBody = body
|
urlRequest.httpBody = body
|
||||||
|
|
||||||
return urlRequest
|
return urlRequest
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [openapi-spec from a remote server, you can easily generate an API client.
|
This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [openapi-spec](https://github.com/OAI/OpenAPI-Specification) from a remote server, you can easily generate an API client.
|
||||||
|
|
||||||
- API version: 1.0.0
|
- API version: 1.0.0
|
||||||
- Package version:
|
- Package version:
|
||||||
|
@ -265,14 +265,13 @@
|
|||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
LastUpgradeCheck = 1020;
|
LastUpgradeCheck = 1020;
|
||||||
TargetAttributes = {
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
buildConfigurationList = ECAB17FF35111B5E14DAAC08 /* Build configuration list for PBXProject "PetstoreClient" */;
|
buildConfigurationList = ECAB17FF35111B5E14DAAC08 /* Build configuration list for PBXProject "PetstoreClient" */;
|
||||||
compatibilityVersion = "Xcode 10.0";
|
compatibilityVersion = "Xcode 10.0";
|
||||||
developmentRegion = en;
|
developmentRegion = en;
|
||||||
hasScannedForEncodings = 0;
|
hasScannedForEncodings = 0;
|
||||||
knownRegions = (
|
knownRegions = (
|
||||||
|
Base,
|
||||||
en,
|
en,
|
||||||
);
|
);
|
||||||
mainGroup = 5FBA6AE5F64CD737F88B4565;
|
mainGroup = 5FBA6AE5F64CD737F88B4565;
|
||||||
@ -520,7 +519,7 @@
|
|||||||
3B2C02AFB91CB5C82766ED5C /* Release */,
|
3B2C02AFB91CB5C82766ED5C /* Release */,
|
||||||
);
|
);
|
||||||
defaultConfigurationIsVisible = 0;
|
defaultConfigurationIsVisible = 0;
|
||||||
defaultConfigurationName = Debug;
|
defaultConfigurationName = "";
|
||||||
};
|
};
|
||||||
ECAB17FF35111B5E14DAAC08 /* Build configuration list for PBXProject "PetstoreClient" */ = {
|
ECAB17FF35111B5E14DAAC08 /* Build configuration list for PBXProject "PetstoreClient" */ = {
|
||||||
isa = XCConfigurationList;
|
isa = XCConfigurationList;
|
||||||
|
@ -2,6 +2,6 @@
|
|||||||
<Workspace
|
<Workspace
|
||||||
version = "1.0">
|
version = "1.0">
|
||||||
<FileRef
|
<FileRef
|
||||||
location = "self:PetstoreClient.xcodeproj">
|
location = "self:">
|
||||||
</FileRef>
|
</FileRef>
|
||||||
</Workspace>
|
</Workspace>
|
||||||
|
@ -41,6 +41,10 @@
|
|||||||
</MacroExpansion>
|
</MacroExpansion>
|
||||||
<CommandLineArguments>
|
<CommandLineArguments>
|
||||||
</CommandLineArguments>
|
</CommandLineArguments>
|
||||||
|
<AdditionalOptions>
|
||||||
|
</AdditionalOptions>
|
||||||
|
<CodeCoverageTargets>
|
||||||
|
</CodeCoverageTargets>
|
||||||
</TestAction>
|
</TestAction>
|
||||||
<LaunchAction
|
<LaunchAction
|
||||||
buildConfiguration = "Debug"
|
buildConfiguration = "Debug"
|
||||||
@ -63,6 +67,8 @@
|
|||||||
</MacroExpansion>
|
</MacroExpansion>
|
||||||
<CommandLineArguments>
|
<CommandLineArguments>
|
||||||
</CommandLineArguments>
|
</CommandLineArguments>
|
||||||
|
<AdditionalOptions>
|
||||||
|
</AdditionalOptions>
|
||||||
</LaunchAction>
|
</LaunchAction>
|
||||||
<ProfileAction
|
<ProfileAction
|
||||||
buildConfiguration = "Release"
|
buildConfiguration = "Release"
|
||||||
|
@ -43,7 +43,7 @@ internal class RequestBuilder<T> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
internal func execute(_ apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, _ completion: @escaping (_ result: Result<Response<T>, Error>) -> Void) { }
|
internal func execute(_ apiResponseQueue: DispatchQueue = PetstoreClientAPI.apiResponseQueue, _ completion: @escaping (_ result: Swift.Result<Response<T>, Error>) -> Void) { }
|
||||||
|
|
||||||
internal func addHeader(name: String, value: String) -> Self {
|
internal func addHeader(name: String, value: String) -> Self {
|
||||||
if !value.isEmpty {
|
if !value.isEmpty {
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user