From 327cc7039ee2913233dc4af7a65022969fc77b0c Mon Sep 17 00:00:00 2001 From: Luis Pater Date: Fri, 21 Nov 2025 20:54:56 +0800 Subject: [PATCH] **refactor(auth): use customizable HTTP client for Antigravity requests** - Replaced `http.DefaultClient` with a configurable `http.Client` instance for Antigravity OAuth flow methods. - Updated `exchangeAntigravityCode` and `fetchAntigravityUserInfo` to accept `httpClient` as a parameter. - Added `util.SetProxy` usage to initialize the `httpClient` with proxy support. --- sdk/auth/antigravity.go | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/sdk/auth/antigravity.go b/sdk/auth/antigravity.go index 84fa4b53..eb34b817 100644 --- a/sdk/auth/antigravity.go +++ b/sdk/auth/antigravity.go @@ -59,6 +59,8 @@ func (AntigravityAuthenticator) Login(ctx context.Context, cfg *config.Config, o opts = &LoginOptions{} } + httpClient := util.SetProxy(&cfg.SDKConfig, &http.Client{}) + state, err := misc.GenerateRandomState() if err != nil { return nil, fmt.Errorf("antigravity: failed to generate state: %w", err) @@ -113,14 +115,14 @@ func (AntigravityAuthenticator) Login(ctx context.Context, cfg *config.Config, o return nil, fmt.Errorf("antigravity: missing authorization code") } - tokenResp, errToken := exchangeAntigravityCode(ctx, cbRes.Code, redirectURI) + tokenResp, errToken := exchangeAntigravityCode(ctx, cbRes.Code, redirectURI, httpClient) if errToken != nil { return nil, fmt.Errorf("antigravity: token exchange failed: %w", errToken) } email := "" if tokenResp.AccessToken != "" { - if info, errInfo := fetchAntigravityUserInfo(ctx, tokenResp.AccessToken); errInfo == nil && strings.TrimSpace(info.Email) != "" { + if info, errInfo := fetchAntigravityUserInfo(ctx, tokenResp.AccessToken, httpClient); errInfo == nil && strings.TrimSpace(info.Email) != "" { email = strings.TrimSpace(info.Email) } } @@ -202,7 +204,7 @@ type antigravityTokenResponse struct { TokenType string `json:"token_type"` } -func exchangeAntigravityCode(ctx context.Context, code, redirectURI string) (*antigravityTokenResponse, error) { +func exchangeAntigravityCode(ctx context.Context, code, redirectURI string, httpClient *http.Client) (*antigravityTokenResponse, error) { data := url.Values{} data.Set("code", code) data.Set("client_id", antigravityClientID) @@ -216,7 +218,7 @@ func exchangeAntigravityCode(ctx context.Context, code, redirectURI string) (*an } req.Header.Set("Content-Type", "application/x-www-form-urlencoded") - resp, errDo := http.DefaultClient.Do(req) + resp, errDo := httpClient.Do(req) if errDo != nil { return nil, errDo } @@ -240,7 +242,7 @@ type antigravityUserInfo struct { Email string `json:"email"` } -func fetchAntigravityUserInfo(ctx context.Context, accessToken string) (*antigravityUserInfo, error) { +func fetchAntigravityUserInfo(ctx context.Context, accessToken string, httpClient *http.Client) (*antigravityUserInfo, error) { if strings.TrimSpace(accessToken) == "" { return &antigravityUserInfo{}, nil } @@ -250,7 +252,7 @@ func fetchAntigravityUserInfo(ctx context.Context, accessToken string) (*antigra } req.Header.Set("Authorization", "Bearer "+accessToken) - resp, errDo := http.DefaultClient.Do(req) + resp, errDo := httpClient.Do(req) if errDo != nil { return nil, errDo }