| 1234567891011121314151617181920212223242526272829303132 |
- package service
- import (
- "context"
- "net/http"
- )
- func setOpenAIChatGPTAccountHeaders(headers http.Header, account *Account) {
- if headers == nil || account == nil || !account.IsOpenAIOAuthLike() {
- return
- }
- if chatgptAccountID := account.GetChatGPTAccountID(); chatgptAccountID != "" {
- headers.Set("chatgpt-account-id", chatgptAccountID)
- }
- if account.IsChatGPTAccountFedRAMP() {
- headers.Set("x-openai-fedramp", "true")
- } else {
- headers.Del("x-openai-fedramp")
- }
- }
- // resolveAndSetOpenAIChatGPTAccountHeaders 解析 spark 影子账号至其母账号(凭据透传),
- // 再调用 setOpenAIChatGPTAccountHeaders 写入 chatgpt-account-id / x-openai-fedramp 头。
- // 普通账号(非影子)为直通,行为与直接调用 setOpenAIChatGPTAccountHeaders 一致。
- func resolveAndSetOpenAIChatGPTAccountHeaders(ctx context.Context, repo AccountRepository, headers http.Header, account *Account) error {
- credAccount, err := resolveCredentialAccount(ctx, repo, account)
- if err != nil {
- return err
- }
- setOpenAIChatGPTAccountHeaders(headers, credAccount)
- return nil
- }
|