summaryrefslogtreecommitdiff
path: root/internal/llm/copilot.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/llm/copilot.go')
-rw-r--r--internal/llm/copilot.go20
1 files changed, 16 insertions, 4 deletions
diff --git a/internal/llm/copilot.go b/internal/llm/copilot.go
index d3b1a9d..b439ed3 100644
--- a/internal/llm/copilot.go
+++ b/internal/llm/copilot.go
@@ -118,7 +118,11 @@ func (c copilotClient) Chat(ctx context.Context, messages []Message, opts ...Req
logging.Logf("llm/copilot ", "%shttp error after %s: %v%s", logging.AnsiRed, time.Since(start), err, logging.AnsiBase)
return "", err
}
- defer resp.Body.Close()
+ defer func() {
+ if err := resp.Body.Close(); err != nil {
+ logging.Logf("llm/copilot", "failed to close response body: %v", err)
+ }
+ }()
if err := handleCopilotNon2xx(resp, start); err != nil {
return "", err
}
@@ -144,7 +148,7 @@ func buildCopilotChatRequest(o Options, messages []Message, defaultTemp *float64
req := copilotChatRequest{Model: o.Model}
req.Messages = make([]copilotMessage, len(messages))
for i, m := range messages {
- req.Messages[i] = copilotMessage{Role: m.Role, Content: m.Content}
+ req.Messages[i] = copilotMessage(m)
}
if o.Temperature != 0 {
req.Temperature = &o.Temperature
@@ -220,7 +224,11 @@ func (c *copilotClient) ensureSession(ctx context.Context) error {
if err != nil {
return err
}
- defer resp.Body.Close()
+ defer func() {
+ if err := resp.Body.Close(); err != nil {
+ logging.Logf("llm/copilot", "failed to close response body: %v", err)
+ }
+ }()
if resp.StatusCode < 200 || resp.StatusCode >= 300 {
return fmt.Errorf("copilot token http error: %d", resp.StatusCode)
}
@@ -354,7 +362,11 @@ func (c copilotClient) CodeCompletion(ctx context.Context, prompt string, suffix
if err != nil {
return nil, err
}
- defer resp.Body.Close()
+ defer func() {
+ if err := resp.Body.Close(); err != nil {
+ logging.Logf("llm/copilot", "failed to close response body: %v", err)
+ }
+ }()
if resp.StatusCode < 200 || resp.StatusCode >= 300 {
return nil, fmt.Errorf("copilot codex http error: %d", resp.StatusCode)
}