mirror of
https://github.com/gravitl/netmaker.git
synced 2025-09-06 05:04:27 +08:00
single http client
This commit is contained in:
parent
6b41de6563
commit
d83be55d70
3 changed files with 18 additions and 9 deletions
|
@ -30,6 +30,16 @@ const LINUX_APP_DATA_PATH = "/etc/netmaker"
|
|||
// HTTP_TIMEOUT - timeout in seconds for http requests
|
||||
const HTTP_TIMEOUT = 30
|
||||
|
||||
// HTTPClient - http client to be reused by all
|
||||
var HTTPClient http.Client
|
||||
|
||||
// SetHTTPClient -sets http client with sane default
|
||||
func SetHTTPClient() {
|
||||
HTTPClient = http.Client{
|
||||
Timeout: HTTP_TIMEOUT * time.Second,
|
||||
}
|
||||
}
|
||||
|
||||
// ListPorts - lists ports of WireGuard devices
|
||||
func ListPorts() error {
|
||||
wgclient, err := wgctrl.New()
|
||||
|
@ -308,7 +318,7 @@ func GetNetmakerPath() string {
|
|||
return LINUX_APP_DATA_PATH
|
||||
}
|
||||
|
||||
//API function to interact with netmaker api endpoints. response from endpoint is returned
|
||||
// API function to interact with netmaker api endpoints. response from endpoint is returned
|
||||
func API(data any, method, url, authorization string) (*http.Response, error) {
|
||||
var request *http.Request
|
||||
var err error
|
||||
|
@ -331,10 +341,7 @@ func API(data any, method, url, authorization string) (*http.Response, error) {
|
|||
if authorization != "" {
|
||||
request.Header.Set("authorization", "Bearer "+authorization)
|
||||
}
|
||||
client := http.Client{
|
||||
Timeout: HTTP_TIMEOUT * time.Second,
|
||||
}
|
||||
return client.Do(request)
|
||||
return HTTPClient.Do(request)
|
||||
}
|
||||
|
||||
// Authenticate authenticates with api to permit subsequent interactions with the api
|
||||
|
|
|
@ -205,16 +205,16 @@ func JoinNetwork(cfg *config.ClientConfig, privateKey string) error {
|
|||
if err != nil {
|
||||
logger.Log(0, "error setting route for netmaker: "+err.Error())
|
||||
}
|
||||
cfg.Node = node
|
||||
if err := Register(cfg); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
logger.Log(0, "starting wireguard")
|
||||
err = wireguard.InitWireguard(&node, privateKey, nodeGET.Peers[:], false)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
cfg.Node = node
|
||||
if err := Register(cfg); err != nil {
|
||||
return err
|
||||
}
|
||||
if cfg.Server.Server == "" {
|
||||
return errors.New("did not receive broker address from registration")
|
||||
}
|
||||
|
|
|
@ -10,6 +10,7 @@ import (
|
|||
|
||||
"github.com/gravitl/netmaker/netclient/cli_options"
|
||||
"github.com/gravitl/netmaker/netclient/config"
|
||||
"github.com/gravitl/netmaker/netclient/functions"
|
||||
"github.com/gravitl/netmaker/netclient/ncutils"
|
||||
"github.com/gravitl/netmaker/netclient/ncwindows"
|
||||
"github.com/urfave/cli/v2"
|
||||
|
@ -29,6 +30,7 @@ func main() {
|
|||
app.UsageText = "netclient [global options] command [command options] [arguments...]. Adjust verbosity of given command with -v, -vv or -vvv (max)."
|
||||
|
||||
setGarbageCollection()
|
||||
functions.SetHTTPClient()
|
||||
|
||||
if ncutils.IsWindows() {
|
||||
ncwindows.InitWindows()
|
||||
|
|
Loading…
Add table
Reference in a new issue