MCPcopy
hub / github.com/mislav/hub / newHttpClient

Function newHttpClient

github/http.go:168–210  ·  view source on GitHub ↗
(testHost string, verbose bool, unixSocket string)

Source from the content-addressed store, hash-verified

166}
167
168func newHttpClient(testHost string, verbose bool, unixSocket string) *http.Client {
169 var testURL *url.URL
170 if testHost != "" {
171 testURL, _ = url.Parse(testHost)
172 }
173 var httpTransport *http.Transport
174 if unixSocket != "" {
175 dialFunc := func(network, addr string) (net.Conn, error) {
176 return net.Dial("unix", unixSocket)
177 }
178 dialContext := func(_ context.Context, _, _ string) (net.Conn, error) {
179 return net.Dial("unix", unixSocket)
180 }
181 httpTransport = &http.Transport{
182 DialContext: dialContext,
183 DialTLS: dialFunc,
184 ResponseHeaderTimeout: 30 * time.Second,
185 ExpectContinueTimeout: 10 * time.Second,
186 TLSHandshakeTimeout: 10 * time.Second,
187 }
188 } else {
189 httpTransport = &http.Transport{
190 Proxy: proxyFromEnvironment,
191 DialContext: (&net.Dialer{
192 Timeout: 30 * time.Second,
193 KeepAlive: 30 * time.Second,
194 }).DialContext,
195 TLSHandshakeTimeout: 10 * time.Second,
196 }
197 }
198 tr := &verboseTransport{
199 Transport: httpTransport,
200 Verbose: verbose,
201 OverrideURL: testURL,
202 Out: ui.Stderr,
203 Colorized: ui.IsTerminal(os.Stderr),
204 }
205
206 return &http.Client{
207 Transport: tr,
208 CheckRedirect: checkRedirect,
209 }
210}
211
212func checkRedirect(req *http.Request, via []*http.Request) error {
213 var recommendedCode int

Callers 3

apiClientMethod · 0.85

Calls 2

IsTerminalFunction · 0.92
ParseMethod · 0.45

Tested by 2

Used in the wild real call sites across dependent graphs

searching dependent graphs…