seperate package from forge

This commit is contained in:
Jeff Carr 2025-02-22 07:17:57 -06:00
parent 8f6f85e51c
commit 08400c8913
3 changed files with 96 additions and 4 deletions

77
http.go Normal file
View File

@ -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
}

19
main.go Normal file
View File

@ -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
}

4
wit.go
View File

@ -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() {