call_useragent.go

 1package openai
 2
 3import (
 4	"charm.land/fantasy"
 5	"charm.land/fantasy/providers/internal/httpheaders"
 6	"github.com/openai/openai-go/v2/option"
 7)
 8
 9// callUARequestOptions returns per-request options that override the
10// client-level User-Agent header when the Call carries agent-level UA settings.
11func callUARequestOptions(call fantasy.Call) []option.RequestOption {
12	if ua, ok := httpheaders.CallUserAgent(call.UserAgent); ok {
13		return []option.RequestOption{option.WithHeader("User-Agent", ua)}
14	}
15	return nil
16}
17
18// objectCallUARequestOptions returns per-request options that override the
19// client-level User-Agent header when the ObjectCall carries agent-level UA settings.
20func objectCallUARequestOptions(call fantasy.ObjectCall) []option.RequestOption {
21	if ua, ok := httpheaders.CallUserAgent(call.UserAgent); ok {
22		return []option.RequestOption{option.WithHeader("User-Agent", ua)}
23	}
24	return nil
25}