Skip to content

Commit ed08224

Browse files
Merge pull request #1 from zhigang1992/feat/headers
feat: add custom headers support
2 parents 4a589b9 + 9bce81e commit ed08224

File tree

3 files changed

+10
-3
lines changed

3 files changed

+10
-3
lines changed

Sources/FalClient/Client+Config.swift

+3-1
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,11 @@ public enum ClientCredentials: CustomStringConvertible {
3232
public struct ClientConfig {
3333
public let credentials: ClientCredentials
3434
public let requestProxy: String?
35+
public let customHeaders: [String: String]?
3536

36-
init(credentials: ClientCredentials = .fromEnv, requestProxy: String? = nil) {
37+
init(credentials: ClientCredentials = .fromEnv, requestProxy: String? = nil, customHeaders: [String: String]? = nil) {
3738
self.credentials = credentials
3839
self.requestProxy = requestProxy
40+
self.customHeaders = customHeaders
3941
}
4042
}

Sources/FalClient/Client+Request.swift

+5
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,11 @@ extension Client {
3333
}
3434

3535
var request = URLRequest(url: url)
36+
if let header = config.customHeaders {
37+
for (key, value) in header {
38+
request.setValue(value, forHTTPHeaderField: key)
39+
}
40+
}
3641
request.httpMethod = options.httpMethod.rawValue.uppercased()
3742
request.setValue("application/json", forHTTPHeaderField: "accept")
3843
request.setValue("application/json", forHTTPHeaderField: "content-type")

Sources/FalClient/FalClient.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,8 @@ public struct FalClient: Client {
7676
}
7777

7878
public extension FalClient {
79-
static func withProxy(_ url: String) -> Client {
80-
FalClient(config: ClientConfig(requestProxy: url))
79+
static func withProxy(_ url: String, headers: [String: String]? = nil) -> Client {
80+
FalClient(config: ClientConfig(requestProxy: url, customHeaders: headers))
8181
}
8282

8383
static func withCredentials(_ credentials: ClientCredentials) -> Client {

0 commit comments

Comments
 (0)