From db2d22c97881757fa11bdba06e75aff315ea2c9c Mon Sep 17 00:00:00 2001 From: Luis Pater Date: Tue, 18 Nov 2025 10:59:49 +0800 Subject: [PATCH] **fix(runtime): simplify scanner buffer allocation in executor implementations** --- internal/runtime/executor/claude_executor.go | 6 ++---- internal/runtime/executor/codex_executor.go | 3 +-- internal/runtime/executor/gemini_cli_executor.go | 3 +-- internal/runtime/executor/gemini_executor.go | 3 +-- internal/runtime/executor/gemini_vertex_executor.go | 3 +-- internal/runtime/executor/iflow_executor.go | 3 +-- internal/runtime/executor/openai_compat_executor.go | 3 +-- internal/runtime/executor/qwen_executor.go | 3 +-- 8 files changed, 9 insertions(+), 18 deletions(-) diff --git a/internal/runtime/executor/claude_executor.go b/internal/runtime/executor/claude_executor.go index 7eac81a4..78f471f2 100644 --- a/internal/runtime/executor/claude_executor.go +++ b/internal/runtime/executor/claude_executor.go @@ -219,8 +219,7 @@ func (e *ClaudeExecutor) ExecuteStream(ctx context.Context, auth *cliproxyauth.A // If from == to (Claude → Claude), directly forward the SSE stream without translation if from == to { scanner := bufio.NewScanner(decodedBody) - buf := make([]byte, 20_971_520) - scanner.Buffer(buf, 20_971_520) + scanner.Buffer(nil, 20_971_520) for scanner.Scan() { line := scanner.Bytes() appendAPIResponseChunk(ctx, e.cfg, line) @@ -243,8 +242,7 @@ func (e *ClaudeExecutor) ExecuteStream(ctx context.Context, auth *cliproxyauth.A // For other formats, use translation scanner := bufio.NewScanner(decodedBody) - buf := make([]byte, 20_971_520) - scanner.Buffer(buf, 20_971_520) + scanner.Buffer(nil, 20_971_520) var param any for scanner.Scan() { line := scanner.Bytes() diff --git a/internal/runtime/executor/codex_executor.go b/internal/runtime/executor/codex_executor.go index d9ff54ec..3a73e8aa 100644 --- a/internal/runtime/executor/codex_executor.go +++ b/internal/runtime/executor/codex_executor.go @@ -205,8 +205,7 @@ func (e *CodexExecutor) ExecuteStream(ctx context.Context, auth *cliproxyauth.Au } }() scanner := bufio.NewScanner(httpResp.Body) - buf := make([]byte, 20_971_520) - scanner.Buffer(buf, 20_971_520) + scanner.Buffer(nil, 20_971_520) var param any for scanner.Scan() { line := scanner.Bytes() diff --git a/internal/runtime/executor/gemini_cli_executor.go b/internal/runtime/executor/gemini_cli_executor.go index d8549a2a..9a2c2602 100644 --- a/internal/runtime/executor/gemini_cli_executor.go +++ b/internal/runtime/executor/gemini_cli_executor.go @@ -319,8 +319,7 @@ func (e *GeminiCLIExecutor) ExecuteStream(ctx context.Context, auth *cliproxyaut }() if opts.Alt == "" { scanner := bufio.NewScanner(resp.Body) - buf := make([]byte, 20_971_520) - scanner.Buffer(buf, 20_971_520) + scanner.Buffer(nil, 20_971_520) var param any for scanner.Scan() { line := scanner.Bytes() diff --git a/internal/runtime/executor/gemini_executor.go b/internal/runtime/executor/gemini_executor.go index ac628bdb..a95ac03b 100644 --- a/internal/runtime/executor/gemini_executor.go +++ b/internal/runtime/executor/gemini_executor.go @@ -251,8 +251,7 @@ func (e *GeminiExecutor) ExecuteStream(ctx context.Context, auth *cliproxyauth.A } }() scanner := bufio.NewScanner(httpResp.Body) - buf := make([]byte, 20_971_520) - scanner.Buffer(buf, 20_971_520) + scanner.Buffer(nil, 20_971_520) var param any for scanner.Scan() { line := scanner.Bytes() diff --git a/internal/runtime/executor/gemini_vertex_executor.go b/internal/runtime/executor/gemini_vertex_executor.go index 6e87f8e4..bd4242a1 100644 --- a/internal/runtime/executor/gemini_vertex_executor.go +++ b/internal/runtime/executor/gemini_vertex_executor.go @@ -240,8 +240,7 @@ func (e *GeminiVertexExecutor) ExecuteStream(ctx context.Context, auth *cliproxy } }() scanner := bufio.NewScanner(httpResp.Body) - buf := make([]byte, 20_971_520) - scanner.Buffer(buf, 20_971_520) + scanner.Buffer(nil, 20_971_520) var param any for scanner.Scan() { line := scanner.Bytes() diff --git a/internal/runtime/executor/iflow_executor.go b/internal/runtime/executor/iflow_executor.go index df44f53f..85617655 100644 --- a/internal/runtime/executor/iflow_executor.go +++ b/internal/runtime/executor/iflow_executor.go @@ -199,8 +199,7 @@ func (e *IFlowExecutor) ExecuteStream(ctx context.Context, auth *cliproxyauth.Au }() scanner := bufio.NewScanner(httpResp.Body) - buf := make([]byte, 20_971_520) - scanner.Buffer(buf, 20_971_520) + scanner.Buffer(nil, 20_971_520) var param any for scanner.Scan() { line := scanner.Bytes() diff --git a/internal/runtime/executor/openai_compat_executor.go b/internal/runtime/executor/openai_compat_executor.go index e9191ff6..42af9240 100644 --- a/internal/runtime/executor/openai_compat_executor.go +++ b/internal/runtime/executor/openai_compat_executor.go @@ -205,8 +205,7 @@ func (e *OpenAICompatExecutor) ExecuteStream(ctx context.Context, auth *cliproxy } }() scanner := bufio.NewScanner(httpResp.Body) - buf := make([]byte, 20_971_520) - scanner.Buffer(buf, 20_971_520) + scanner.Buffer(nil, 20_971_520) var param any for scanner.Scan() { line := scanner.Bytes() diff --git a/internal/runtime/executor/qwen_executor.go b/internal/runtime/executor/qwen_executor.go index 9ea4247c..0c3e6b56 100644 --- a/internal/runtime/executor/qwen_executor.go +++ b/internal/runtime/executor/qwen_executor.go @@ -181,8 +181,7 @@ func (e *QwenExecutor) ExecuteStream(ctx context.Context, auth *cliproxyauth.Aut } }() scanner := bufio.NewScanner(httpResp.Body) - buf := make([]byte, 20_971_520) - scanner.Buffer(buf, 20_971_520) + scanner.Buffer(nil, 20_971_520) var param any for scanner.Scan() { line := scanner.Bytes()