Skip to content

Commit 5a355f7

Browse files
committed
build OAuthTransport in, if we're using OAuth Token
1 parent dda6fc7 commit 5a355f7

File tree

2 files changed

+26
-14
lines changed

2 files changed

+26
-14
lines changed

cmd/src/login_test.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,21 @@ import (
1111
"testing"
1212

1313
"github.com/sourcegraph/src-cli/internal/cmderrors"
14+
"github.com/sourcegraph/src-cli/internal/oauthdevice"
1415
)
1516

1617
func TestLogin(t *testing.T) {
1718
check := func(t *testing.T, cfg *config, endpointArg string) (output string, err error) {
1819
t.Helper()
1920

2021
var out bytes.Buffer
21-
err = loginCmd(context.Background(), cfg, cfg.apiClient(nil, io.Discard), endpointArg, &out)
22+
err = loginCmd(context.Background(), loginParams{
23+
cfg: cfg,
24+
client: cfg.apiClient(nil, io.Discard),
25+
endpoint: endpointArg,
26+
out: &out,
27+
deviceFlowClient: oauthdevice.NewClient(oauthdevice.DefaultClientID),
28+
})
2229
return strings.TrimSpace(out.String()), err
2330
}
2431

internal/api/api.go

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -90,25 +90,30 @@ type ClientOpts struct {
9090
OAuthToken *oauthdevice.Token
9191
}
9292

93-
func buildTransport(opts ClientOpts, flags *Flags) *http.Transport {
94-
transport := http.DefaultTransport.(*http.Transport).Clone()
93+
func buildTransport(opts ClientOpts, flags *Flags) http.RoundTripper {
94+
var transport http.RoundTripper
95+
{
96+
tp := http.DefaultTransport.(*http.Transport).Clone()
9597

96-
if flags.insecureSkipVerify != nil && *flags.insecureSkipVerify {
97-
transport.TLSClientConfig = &tls.Config{InsecureSkipVerify: true}
98-
}
98+
if flags.insecureSkipVerify != nil && *flags.insecureSkipVerify {
99+
tp.TLSClientConfig = &tls.Config{InsecureSkipVerify: true}
100+
}
99101

100-
if transport.TLSClientConfig == nil {
101-
transport.TLSClientConfig = &tls.Config{}
102-
}
102+
if tp.TLSClientConfig == nil {
103+
tp.TLSClientConfig = &tls.Config{}
104+
}
105+
106+
if opts.ProxyURL != nil || opts.ProxyPath != "" {
107+
tp = withProxyTransport(tp, opts.ProxyURL, opts.ProxyPath)
108+
}
103109

104-
if opts.ProxyURL != nil || opts.ProxyPath != "" {
105-
transport = withProxyTransport(transport, opts.ProxyURL, opts.ProxyPath)
110+
transport = tp
106111
}
107112

108-
if opt.AccessToken == "" && opt.OAuthToken != nil {
113+
if opts.AccessToken == "" && opts.OAuthToken != nil {
109114
transport = &oauthdevice.Transport{
110-
Base: transport,
111-
Token: opts.OAuthToken
115+
Base: transport,
116+
Token: opts.OAuthToken,
112117
}
113118
}
114119

0 commit comments

Comments
 (0)