Skip to content

Commit 0ca6230

Browse files
authored
refactor: add context support to client initialization functions (#207)
- Add context parameter to `GetClient` function in `commit.go` - Import `context` package in `openai.go` - Add context parameter to `NewGemini` function in `openai.go` - Add context parameter to `GetClient` function in `openai.go` - Add context parameter to `New` function in `gemini.go` - Use provided context in `genai.NewClient` initialization in `gemini.go` Signed-off-by: Bo-Yi Wu <[email protected]>
1 parent 30e9dd4 commit 0ca6230

File tree

4 files changed

+9
-7
lines changed

4 files changed

+9
-7
lines changed

cmd/commit.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ var commitCmd = &cobra.Command{
9595

9696
// check provider
9797
provider := core.Platform(viper.GetString("openai.provider"))
98-
client, err := GetClient(provider)
98+
client, err := GetClient(cmd.Context(), provider)
9999
if err != nil && !promptOnly {
100100
return err
101101
}

cmd/openai.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package cmd
22

33
import (
4+
"context"
45
"errors"
56

67
"github.com/appleboy/CodeGPT/core"
@@ -32,8 +33,9 @@ func NewOpenAI() (*openai.Client, error) {
3233
}
3334

3435
// NewGemini returns a new Gemini client
35-
func NewGemini() (*gemini.Client, error) {
36+
func NewGemini(ctx context.Context) (*gemini.Client, error) {
3637
return gemini.New(
38+
ctx,
3739
gemini.WithToken(viper.GetString("openai.api_key")),
3840
gemini.WithModel(viper.GetString("openai.model")),
3941
gemini.WithMaxTokens(viper.GetInt32("openai.max_tokens")),
@@ -43,10 +45,10 @@ func NewGemini() (*gemini.Client, error) {
4345
}
4446

4547
// GetClient returns the generative client based on the platform
46-
func GetClient(p core.Platform) (core.Generative, error) {
48+
func GetClient(ctx context.Context, p core.Platform) (core.Generative, error) {
4749
switch p {
4850
case core.Gemini:
49-
return NewGemini()
51+
return NewGemini(ctx)
5052
case core.OpenAI, core.Azure:
5153
return NewOpenAI()
5254
}

cmd/review.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ var reviewCmd = &cobra.Command{
5858

5959
// check provider
6060
provider := core.Platform(viper.GetString("openai.provider"))
61-
client, err := GetClient(provider)
61+
client, err := GetClient(cmd.Context(), provider)
6262
if err != nil {
6363
return err
6464
}

gemini/gemini.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ func (c *Client) GetSummaryPrefix(ctx context.Context, content string) (*core.Re
8484
return r, nil
8585
}
8686

87-
func New(opts ...Option) (c *Client, err error) {
87+
func New(ctx context.Context, opts ...Option) (c *Client, err error) {
8888
// Create a new config object with the given options.
8989
cfg := newConfig(opts...)
9090

@@ -100,7 +100,7 @@ func New(opts ...Option) (c *Client, err error) {
100100
temperature: cfg.temperature,
101101
}
102102

103-
client, err := genai.NewClient(context.Background(), option.WithAPIKey(cfg.token))
103+
client, err := genai.NewClient(ctx, option.WithAPIKey(cfg.token))
104104
if err != nil {
105105
return nil, err
106106
}

0 commit comments

Comments
 (0)