⚙️ Construct from client the socket dialer

This commit is contained in:
Ettore Di Giacinto
2022-02-12 00:46:47 +01:00
parent 3fa3f5e79a
commit c27cda6965
2 changed files with 15 additions and 9 deletions

View File

@@ -19,8 +19,6 @@ import (
"context"
"fmt"
"io/ioutil"
"net"
"net/http"
"os"
"path/filepath"
"time"
@@ -44,13 +42,7 @@ var _ = Describe("API", func() {
os.MkdirAll(d, os.ModePerm)
socket := filepath.Join(d, "socket")
c := client.NewClient(client.WithHost("http://unix"), client.WithHTTPClient(&http.Client{
Transport: &http.Transport{
DialContext: func(_ context.Context, _, _ string) (net.Conn, error) {
return net.Dial("unix", socket)
},
},
}))
c := client.NewClient(client.WithHost("unix://" + socket))
token := node.GenerateNewConnectionData().Base64()
ctx, cancel := context.WithCancel(context.Background())

View File

@@ -16,11 +16,14 @@
package client
import (
"context"
"encoding/base64"
"encoding/json"
"fmt"
"io/ioutil"
"net"
"net/http"
"strings"
"time"
"github.com/mudler/edgevpn/pkg/blockchain"
@@ -47,6 +50,17 @@ const (
func WithHost(host string) func(c *Client) error {
return func(c *Client) error {
c.host = host
if strings.HasPrefix(host, "unix://") {
socket := strings.ReplaceAll(host, "unix://", "")
c.host = "http://unix"
c.httpClient = &http.Client{
Transport: &http.Transport{
DialContext: func(_ context.Context, _, _ string) (net.Conn, error) {
return net.Dial("unix", socket)
},
},
}
}
return nil
}
}