MCPcopy Index your code
hub / github.com/coder/coder / createHTTPClient

Method createHTTPClient

cli/root.go:808–843  ·  view source on GitHub ↗
(ctx context.Context, serverURL *url.URL, inv *serpent.Invocation)

Source from the content-addressed store, hash-verified

806}
807
808func (r *RootCmd) createHTTPClient(ctx context.Context, serverURL *url.URL, inv *serpent.Invocation) (*http.Client, error) {
809 baseTransport, err := newHTTPTransport(r.tlsConfig)
810 if err != nil {
811 return nil, err
812 }
813 transport := baseTransport
814
815 transport = wrapTransportWithTelemetryHeader(transport, inv)
816 transport = wrapTransportWithUserAgentHeader(transport, inv)
817 if !r.noVersionCheck {
818 buildInfoTransport, err := newHTTPTransport(r.tlsConfig)
819 if err != nil {
820 return nil, err
821 }
822 transport = wrapTransportWithVersionCheck(transport, inv, buildinfo.Version(), func(ctx context.Context) (codersdk.BuildInfoResponse, error) {
823 // Create a new client without any wrapped transport
824 // otherwise it creates an infinite loop!
825 basicClient := codersdk.New(serverURL, codersdk.WithHTTPClient(&http.Client{Transport: buildInfoTransport}))
826 return basicClient.BuildInfo(ctx)
827 })
828 }
829 if !r.noFeatureWarning {
830 transport = wrapTransportWithEntitlementsCheck(transport, inv.Stderr)
831 }
832 headerTransport, err := r.HeaderTransport(ctx, serverURL)
833 if err != nil {
834 return nil, xerrors.Errorf("create header transport: %w", err)
835 }
836 // The header transport has to come last.
837 // codersdk checks for the header transport to get headers
838 // to clone on the DERP client.
839 headerTransport.Transport = transport
840 return &http.Client{
841 Transport: headerTransport,
842 }, nil
843}
844
845func newHTTPTransport(tlsConfig *tls.Config) (http.RoundTripper, error) {
846 defaultTransport, ok := http.DefaultTransport.(*http.Transport)

Callers 4

InitClientMethod · 0.95
TryInitClientMethod · 0.95
vscodeSSHMethod · 0.95

Calls 11

HeaderTransportMethod · 0.95
VersionFunction · 0.92
NewFunction · 0.92
WithHTTPClientFunction · 0.92
newHTTPTransportFunction · 0.85
BuildInfoMethod · 0.80
ErrorfMethod · 0.45

Tested by

no test coverage detected