Skip to content

Commit e4b2336

Browse files
committed
Add request modifier
1 parent 88ce86f commit e4b2336

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

Tool/Sources/OpenAIService/APIs/OpenAIChatCompletionsService.swift

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -290,12 +290,14 @@ actor OpenAIChatCompletionsService: ChatCompletionsStreamAPI, ChatCompletionsAPI
290290
var endpoint: URL
291291
var requestBody: RequestBody
292292
var model: ChatModel
293+
let requestModifier: ((inout URLRequest) -> Void)?
293294

294295
init(
295296
apiKey: String,
296297
model: ChatModel,
297298
endpoint: URL,
298-
requestBody: ChatCompletionsRequestBody
299+
requestBody: ChatCompletionsRequestBody,
300+
requestModifier: ((inout URLRequest) -> Void)? = nil
299301
) {
300302
self.apiKey = apiKey
301303
self.endpoint = endpoint
@@ -310,6 +312,7 @@ actor OpenAIChatCompletionsService: ChatCompletionsStreamAPI, ChatCompletionsAPI
310312
supportsAudio: model.info.supportsAudio
311313
)
312314
self.model = model
315+
self.requestModifier = requestModifier
313316
}
314317

315318
func callAsFunction() async throws
@@ -325,6 +328,7 @@ actor OpenAIChatCompletionsService: ChatCompletionsStreamAPI, ChatCompletionsAPI
325328
Self.setupAppInformation(&request)
326329
Self.setupAPIKey(&request, model: model, apiKey: apiKey)
327330
Self.setupExtraHeaderFields(&request, model: model)
331+
requestModifier?(&request)
328332

329333
let (result, response) = try await URLSession.shared.bytes(for: request)
330334
guard let response = response as? HTTPURLResponse else {

0 commit comments

Comments
 (0)