apiKey in header Plugin generation
This commit is contained in:
parent
fb77840875
commit
f352f6fed0
|
|
@ -229,6 +229,10 @@ public class TINetworkingCodegen extends DefaultCodegenConfig {
|
|||
sourceFolder,
|
||||
"APIDateFormat.swift"));
|
||||
|
||||
supportingFiles.add(new SupportingFile("Plugins.mustache",
|
||||
sourceFolder,
|
||||
"Plugins.swift"));
|
||||
|
||||
copyFistAllOfProperties = true;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,36 +0,0 @@
|
|||
// Models.swift
|
||||
//
|
||||
// Generated by swagger-codegen
|
||||
// https://github.com/swagger-api/swagger-codegen
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
||||
protocol JSONEncodable {
|
||||
func encodeToJSON() -> Any
|
||||
}
|
||||
|
||||
public enum ErrorResponse : Error {
|
||||
case error(Int, Data?, Error)
|
||||
}
|
||||
|
||||
open class Response<T> {
|
||||
public let statusCode: Int
|
||||
public let header: [String: String]
|
||||
public let body: T?
|
||||
|
||||
public init(statusCode: Int, header: [String: String], body: T?) {
|
||||
self.statusCode = statusCode
|
||||
self.header = header
|
||||
self.body = body
|
||||
}
|
||||
|
||||
public convenience init(response: HTTPURLResponse, body: T?) {
|
||||
let rawHeader = response.allHeaderFields
|
||||
var header = [String:String]()
|
||||
for case let (key, value) as (String, String) in rawHeader {
|
||||
header[key] = value
|
||||
}
|
||||
self.init(statusCode: response.statusCode, header: header, body: body)
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
import TIMoyaNetworking
|
||||
import Alamofire
|
||||
|
||||
{{#authMethods}}
|
||||
{{#isApiKey}}
|
||||
{{#isKeyInHeader}}
|
||||
public struct {{name}}Plugin: AdditionalHeadersPlugin {
|
||||
public typealias HeaderValueProvider = () -> String?
|
||||
|
||||
private let headerValueProvider: HeaderValueProvider
|
||||
|
||||
public init(headerValueProvider: @escaping HeaderValueProvider) {
|
||||
self.headerValueProvider = headerValueProvider
|
||||
}
|
||||
|
||||
public var additionalHeaders: HTTPHeaders {
|
||||
guard let value = headerValueProvider() else {
|
||||
return HTTPHeaders()
|
||||
}
|
||||
|
||||
return HTTPHeaders(["{{{keyParamName}}}": value])
|
||||
}
|
||||
}
|
||||
{{/isKeyInHeader}}
|
||||
{{/isApiKey}}
|
||||
{{/authMethods}}
|
||||
Loading…
Reference in New Issue