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