Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
lima-vm
GitHub Repository: lima-vm/lima
Path: blob/master/pkg/httpclientutil/httpclientutil_others.go
2614 views
1
//go:build !windows
2
3
// SPDX-FileCopyrightText: Copyright The Lima Authors
4
// SPDX-License-Identifier: Apache-2.0
5
6
package httpclientutil
7
8
import (
9
"context"
10
"net"
11
"net/http"
12
"os"
13
)
14
15
// NewHTTPClientWithSocketPath creates a client.
16
// socketPath is a path to the UNIX socket, without unix:// prefix.
17
func NewHTTPClientWithSocketPath(socketPath string) (*http.Client, error) {
18
if _, err := os.Stat(socketPath); err != nil {
19
return nil, err
20
}
21
hc := &http.Client{
22
Transport: &http.Transport{
23
DialContext: func(ctx context.Context, _, _ string) (net.Conn, error) {
24
var d net.Dialer
25
return d.DialContext(ctx, "unix", socketPath)
26
},
27
},
28
}
29
return hc, nil
30
}
31
32