Files
gpt-load/internal/channel/openai_channel.go
2025-07-03 17:53:56 +08:00

32 lines
692 B
Go

package channel
import (
"gpt-load/internal/models"
"net/http"
"github.com/gin-gonic/gin"
"gorm.io/datatypes"
)
type OpenAIChannel struct {
BaseChannel
}
func NewOpenAIChannel(upstreams []string, config datatypes.JSONMap) (*OpenAIChannel, error) {
base, err := newBaseChannelWithUpstreams("openai", upstreams, config)
if err != nil {
return nil, err
}
return &OpenAIChannel{
BaseChannel: base,
}, nil
}
func (ch *OpenAIChannel) Handle(c *gin.Context, apiKey *models.APIKey, group *models.Group) error {
modifier := func(req *http.Request, key *models.APIKey) {
req.Header.Set("Authorization", "Bearer "+key.KeyValue)
}
return ch.ProcessRequest(c, apiKey, modifier)
}