From ca11b236a7da1e0bc1c2c8ffd2d35454614b42e0 Mon Sep 17 00:00:00 2001 From: Luis Pater Date: Wed, 1 Apr 2026 11:57:31 +0800 Subject: [PATCH] refactor(runtime, openai): simplify header management and remove redundant websocket logging logic --- .../executor/codex_websockets_executor.go | 5 +- .../openai/openai_responses_websocket.go | 77 ++----------------- 2 files changed, 9 insertions(+), 73 deletions(-) diff --git a/internal/runtime/executor/codex_websockets_executor.go b/internal/runtime/executor/codex_websockets_executor.go index 7edbc35c..afc255e3 100644 --- a/internal/runtime/executor/codex_websockets_executor.go +++ b/internal/runtime/executor/codex_websockets_executor.go @@ -811,7 +811,7 @@ func applyCodexWebsocketHeaders(ctx context.Context, headers http.Header, auth * ginHeaders = ginCtx.Request.Header.Clone() } - cfgUserAgent, cfgBetaFeatures := codexHeaderDefaults(cfg, auth) + _, cfgBetaFeatures := codexHeaderDefaults(cfg, auth) ensureHeaderWithPriority(headers, ginHeaders, "x-codex-beta-features", cfgBetaFeatures, "") misc.EnsureHeader(headers, ginHeaders, "x-codex-turn-state", "") misc.EnsureHeader(headers, ginHeaders, "x-codex-turn-metadata", "") @@ -827,11 +827,10 @@ func applyCodexWebsocketHeaders(ctx context.Context, headers http.Header, auth * betaHeader = codexResponsesWebsocketBetaHeaderValue } headers.Set("OpenAI-Beta", betaHeader) - ensureHeaderWithConfigPrecedence(headers, ginHeaders, "User-Agent", cfgUserAgent, codexUserAgent) - if strings.Contains(headers.Get("User-Agent"), "Mac OS") { misc.EnsureHeader(headers, ginHeaders, "Session_id", uuid.NewString()) } + headers.Del("User-Agent") isAPIKey := false if auth != nil && auth.Attributes != nil { diff --git a/sdk/api/handlers/openai/openai_responses_websocket.go b/sdk/api/handlers/openai/openai_responses_websocket.go index 15a6bda7..591552ae 100644 --- a/sdk/api/handlers/openai/openai_responses_websocket.go +++ b/sdk/api/handlers/openai/openai_responses_websocket.go @@ -33,9 +33,6 @@ const ( wsDoneMarker = "[DONE]" wsTurnStateHeader = "x-codex-turn-state" wsRequestBodyKey = "REQUEST_BODY_OVERRIDE" - wsPayloadLogMaxSize = 2048 - wsBodyLogMaxSize = 64 * 1024 - wsBodyLogTruncated = "\n[websocket log truncated]\n" ) var responsesWebsocketUpgrader = websocket.Upgrader{ @@ -894,71 +891,18 @@ func appendWebsocketEvent(builder *strings.Builder, eventType string, payload [] if builder == nil { return } - if builder.Len() >= wsBodyLogMaxSize { - return - } trimmedPayload := bytes.TrimSpace(payload) if len(trimmedPayload) == 0 { return } if builder.Len() > 0 { - if !appendWebsocketLogString(builder, "\n") { - return - } + builder.WriteString("\n") } - if !appendWebsocketLogString(builder, "websocket.") { - return - } - if !appendWebsocketLogString(builder, eventType) { - return - } - if !appendWebsocketLogString(builder, "\n") { - return - } - if !appendWebsocketLogBytes(builder, trimmedPayload, len(wsBodyLogTruncated)) { - appendWebsocketLogString(builder, wsBodyLogTruncated) - return - } - appendWebsocketLogString(builder, "\n") -} - -func appendWebsocketLogString(builder *strings.Builder, value string) bool { - if builder == nil { - return false - } - remaining := wsBodyLogMaxSize - builder.Len() - if remaining <= 0 { - return false - } - if len(value) <= remaining { - builder.WriteString(value) - return true - } - builder.WriteString(value[:remaining]) - return false -} - -func appendWebsocketLogBytes(builder *strings.Builder, value []byte, reserveForSuffix int) bool { - if builder == nil { - return false - } - remaining := wsBodyLogMaxSize - builder.Len() - if remaining <= 0 { - return false - } - if len(value) <= remaining { - builder.Write(value) - return true - } - limit := remaining - reserveForSuffix - if limit < 0 { - limit = 0 - } - if limit > len(value) { - limit = len(value) - } - builder.Write(value[:limit]) - return false + builder.WriteString("websocket.") + builder.WriteString(eventType) + builder.WriteString("\n") + builder.Write(trimmedPayload) + builder.WriteString("\n") } func websocketPayloadEventType(payload []byte) string { @@ -974,15 +918,8 @@ func websocketPayloadPreview(payload []byte) string { if len(trimmedPayload) == 0 { return "" } - preview := trimmedPayload - if len(preview) > wsPayloadLogMaxSize { - preview = preview[:wsPayloadLogMaxSize] - } - previewText := strings.ReplaceAll(string(preview), "\n", "\\n") + previewText := strings.ReplaceAll(string(trimmedPayload), "\n", "\\n") previewText = strings.ReplaceAll(previewText, "\r", "\\r") - if len(trimmedPayload) > wsPayloadLogMaxSize { - return fmt.Sprintf("%s...(truncated,total=%d)", previewText, len(trimmedPayload)) - } return previewText }