Files
CyberStrikeAI/internal/openai/eino_http.go
T
2026-08-18 20:31:48 +08:00

25 lines
660 B
Go

package openai
import (
"net/http"
"cyberstrike-ai/internal/config"
)
// NewEinoHTTPClient adds OpenAI-compatible request fixes and SSE sanitation.
// Claude channels use Eino's native agenticclaude model and never enter here.
func NewEinoHTTPClient(cfg *config.OpenAIConfig, base *http.Client) *http.Client {
if base == nil {
base = http.DefaultClient
}
cloned := *base
transport := base.Transport
if transport == nil {
transport = http.DefaultTransport
}
transport = &reasoningToolChoiceCompatRoundTripper{base: transport, cfg: cfg}
transport = &einoSSESanitizingRoundTripper{base: transport}
cloned.Transport = transport
return &cloned
}