mirror of
https://github.com/gravitl/netmaker.git
synced 2025-10-05 16:57:51 +08:00
proxy named pkg reference
This commit is contained in:
@@ -1,19 +1,19 @@
|
||||
package models
|
||||
|
||||
import (
|
||||
"github.com/gravitl/netclient/nmproxy/models"
|
||||
proxy_models "github.com/gravitl/netclient/nmproxy/models"
|
||||
"golang.zx2c4.com/wireguard/wgctrl/wgtypes"
|
||||
)
|
||||
|
||||
// PeerUpdate - struct
|
||||
type PeerUpdate struct {
|
||||
Network string `json:"network" bson:"network" yaml:"network"`
|
||||
ServerVersion string `json:"serverversion" bson:"serverversion" yaml:"serverversion"`
|
||||
ServerAddrs []ServerAddr `json:"serveraddrs" bson:"serveraddrs" yaml:"serveraddrs"`
|
||||
Peers []wgtypes.PeerConfig `json:"peers" bson:"peers" yaml:"peers"`
|
||||
DNS string `json:"dns" bson:"dns" yaml:"dns"`
|
||||
PeerIDs PeerMap `json:"peerids" bson:"peerids" yaml:"peerids"`
|
||||
ProxyUpdate models.ProxyManagerPayload `json:"proxy_update" bson:"proxy_update" yaml:"proxy_update"`
|
||||
Network string `json:"network" bson:"network" yaml:"network"`
|
||||
ServerVersion string `json:"serverversion" bson:"serverversion" yaml:"serverversion"`
|
||||
ServerAddrs []ServerAddr `json:"serveraddrs" bson:"serveraddrs" yaml:"serveraddrs"`
|
||||
Peers []wgtypes.PeerConfig `json:"peers" bson:"peers" yaml:"peers"`
|
||||
DNS string `json:"dns" bson:"dns" yaml:"dns"`
|
||||
PeerIDs PeerMap `json:"peerids" bson:"peerids" yaml:"peerids"`
|
||||
ProxyUpdate proxy_models.ProxyManagerPayload `json:"proxy_update" bson:"proxy_update" yaml:"proxy_update"`
|
||||
}
|
||||
|
||||
// KeyUpdate - key update struct
|
||||
|
136
test/main.go
136
test/main.go
@@ -1,73 +1,73 @@
|
||||
// package main
|
||||
package main
|
||||
|
||||
// import (
|
||||
// "bytes"
|
||||
// "encoding/json"
|
||||
// "fmt"
|
||||
// "io"
|
||||
// "log"
|
||||
// "net/http"
|
||||
import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"io"
|
||||
"log"
|
||||
"net/http"
|
||||
|
||||
// "github.com/gravitl/netclient/config"
|
||||
// "github.com/gravitl/netclient/functions"
|
||||
// "github.com/gravitl/netmaker/models"
|
||||
// "github.com/kr/pretty"
|
||||
// )
|
||||
"github.com/gravitl/netmaker/models"
|
||||
"github.com/gravitl/netmaker/netclient/config"
|
||||
"github.com/gravitl/netmaker/netclient/functions"
|
||||
"github.com/kr/pretty"
|
||||
)
|
||||
|
||||
// func main() {
|
||||
// cfg := &config.ClientConfig{}
|
||||
// cfg.Network = "short"
|
||||
// cfg.ReadConfig()
|
||||
// token, err := functions.Authenticate(cfg)
|
||||
// if err != nil {
|
||||
// log.Fatal(err)
|
||||
// } else {
|
||||
// log.Println("success", token)
|
||||
// }
|
||||
// url := "https://" + cfg.Server.API + "/api/nodes/" + cfg.Network + "/" + cfg.Node.ID
|
||||
func main() {
|
||||
cfg := &config.ClientConfig{}
|
||||
cfg.Network = "short"
|
||||
cfg.ReadConfig()
|
||||
token, err := functions.Authenticate(cfg)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
} else {
|
||||
log.Println("success", token)
|
||||
}
|
||||
url := "https://" + cfg.Server.API + "/api/nodes/" + cfg.Network + "/" + cfg.Node.ID
|
||||
|
||||
// response, err := api("", http.MethodGet, url, token)
|
||||
// if err != nil {
|
||||
// fmt.Println(err)
|
||||
// }
|
||||
// fmt.Println(response.StatusCode, response.Status)
|
||||
// if response.StatusCode != http.StatusOK {
|
||||
// bytes, err := io.ReadAll(response.Body)
|
||||
// if err != nil {
|
||||
// fmt.Println(err)
|
||||
// }
|
||||
// pretty.Println(string(bytes))
|
||||
// }
|
||||
// defer response.Body.Close()
|
||||
// node := models.LegacyNode{}
|
||||
// if err := json.NewDecoder(response.Body).Decode(&node); err != nil {
|
||||
// fmt.Println(err)
|
||||
// }
|
||||
// pretty.Println(node)
|
||||
// }
|
||||
response, err := api("", http.MethodGet, url, token)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
}
|
||||
fmt.Println(response.StatusCode, response.Status)
|
||||
if response.StatusCode != http.StatusOK {
|
||||
bytes, err := io.ReadAll(response.Body)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
}
|
||||
pretty.Println(string(bytes))
|
||||
}
|
||||
defer response.Body.Close()
|
||||
node := models.LegacyNode{}
|
||||
if err := json.NewDecoder(response.Body).Decode(&node); err != nil {
|
||||
fmt.Println(err)
|
||||
}
|
||||
pretty.Println(node)
|
||||
}
|
||||
|
||||
// func api(data any, method, url, authorization string) (*http.Response, error) {
|
||||
// var request *http.Request
|
||||
// var err error
|
||||
// if data != "" {
|
||||
// payload, err := json.Marshal(data)
|
||||
// if err != nil {
|
||||
// return nil, fmt.Errorf("error encoding data %w", err)
|
||||
// }
|
||||
// request, err = http.NewRequest(method, url, bytes.NewBuffer(payload))
|
||||
// if err != nil {
|
||||
// return nil, fmt.Errorf("error creating http request %w", err)
|
||||
// }
|
||||
// request.Header.Set("Content-Type", "application/json")
|
||||
// } else {
|
||||
// request, err = http.NewRequest(method, url, nil)
|
||||
// if err != nil {
|
||||
// return nil, fmt.Errorf("error creating http request %w", err)
|
||||
// }
|
||||
// }
|
||||
// if authorization != "" {
|
||||
// request.Header.Set("authorization", "Bearer "+authorization)
|
||||
// }
|
||||
// client := http.Client{}
|
||||
// return client.Do(request)
|
||||
// }
|
||||
func api(data any, method, url, authorization string) (*http.Response, error) {
|
||||
var request *http.Request
|
||||
var err error
|
||||
if data != "" {
|
||||
payload, err := json.Marshal(data)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error encoding data %w", err)
|
||||
}
|
||||
request, err = http.NewRequest(method, url, bytes.NewBuffer(payload))
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error creating http request %w", err)
|
||||
}
|
||||
request.Header.Set("Content-Type", "application/json")
|
||||
} else {
|
||||
request, err = http.NewRequest(method, url, nil)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error creating http request %w", err)
|
||||
}
|
||||
}
|
||||
if authorization != "" {
|
||||
request.Header.Set("authorization", "Bearer "+authorization)
|
||||
}
|
||||
client := http.Client{}
|
||||
return client.Do(request)
|
||||
}
|
||||
|
Reference in New Issue
Block a user