apiKey in header Plugin generation

This commit is contained in:
Ivan Smolin 2022-03-04 17:53:46 +03:00
parent fb77840875
commit f352f6fed0
3 changed files with 30 additions and 36 deletions

View File

@ -229,6 +229,10 @@ public class TINetworkingCodegen extends DefaultCodegenConfig {
sourceFolder,
"APIDateFormat.swift"));
supportingFiles.add(new SupportingFile("Plugins.mustache",
sourceFolder,
"Plugins.swift"));
copyFistAllOfProperties = true;
}

View File

@ -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)
}
}

View File

@ -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}}