From 08400c8913919198be7eac8e1fd37fc4a979c7b0 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Sat, 22 Feb 2025 07:17:57 -0600 Subject: seperate package from forge --- http.go | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ main.go | 19 ++++++++++++++++ wit.go | 4 ---- 3 files changed, 96 insertions(+), 4 deletions(-) create mode 100644 http.go create mode 100644 main.go diff --git a/http.go b/http.go new file mode 100644 index 0000000..6e194b2 --- /dev/null +++ b/http.go @@ -0,0 +1,77 @@ +// Copyright 1994-2025 WIT.COM Inc Licensed GPL 3.0 + +package zoopb + +import ( + "bytes" + "fmt" + "io/ioutil" + "net/http" + "os/user" + + "go.wit.com/log" +) + +func (m *Machine) HttpPostMachine(url string) ([]byte, error) { + if m == nil { + // run f.InitMachine() here? + log.Info("you must run f.InitMachine()") + return nil, fmt.Errorf("you must run f.InitMachine()") + } + if m.Hostname == "" { + log.Info("WTF. hostname is blank") + } else { + log.Info("GOOD. hostname is set to", m.Hostname) + } + log.Info("GOOD2. hostname is set to", m.Hostname) + msg, err := m.Marshal() + if err != nil { + log.Info("proto.Marshal() failed:", err) + return nil, err + } + log.Info("GOOD3. hostname is set to", m.Hostname) + + check := new(Machine) + check.Unmarshal(msg) + if check == nil { + log.Info("WTF. check == nil") + } + log.Info("good? check.hostname =", m.Hostname) + return m.HttpPost(url, msg) +} + +func (m *Machine) HttpPost(url string, data []byte) ([]byte, error) { + var err error + var req *http.Request + + req, err = http.NewRequest(http.MethodPost, url, bytes.NewBuffer(data)) + // log.Info("httpPost() with len", len(data), "url", url) + + usr, _ := user.Current() + req.Header.Set("author", usr.Username) + /* + if f.Machine == nil { + // run f.InitMachine() here? + log.Info("you must run f.InitMachine()") + return nil, fmt.Errorf("you must run f.InitMachine()") + } + */ + req.Header.Set("hostname", m.Hostname) + + client := &http.Client{} + resp, err := client.Do(req) + if err != nil { + log.Error(err) + return []byte("client.Do(req) error"), err + } + defer resp.Body.Close() + // log.Info("httpPost() with len", len(data)) + + body, err := ioutil.ReadAll(resp.Body) + if err != nil { + log.Error(err) + return body, err + } + + return body, nil +} diff --git a/main.go b/main.go new file mode 100644 index 0000000..c3fc8c6 --- /dev/null +++ b/main.go @@ -0,0 +1,19 @@ +package zoopb + +import ( + "go.wit.com/log" +) + +// sent via -ldflags +var VERSION string +var BUILDTIME string + +func InitMachine() *Machine { + machine := new(Machine) + if err := machine.ConfigLoad(); err != nil { + log.Info("zoopb.ConfigLoad() failed", err) + } + machine.InitWit() + + return machine +} diff --git a/wit.go b/wit.go index 037de84..5a11965 100644 --- a/wit.go +++ b/wit.go @@ -6,10 +6,6 @@ import ( "strings" ) -// sent via -ldflags -var VERSION string -var BUILDTIME string - func (m *Machine) IsInstalled(name string) bool { loop := m.Packages.SortByName() for loop.Scan() { -- cgit v1.2.3