diff options
| author | Jeff Carr <[email protected]> | 2025-09-11 21:40:15 -0500 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-09-11 21:40:15 -0500 |
| commit | ef00352a0bc0616f2b55554a3ac6351d0edba25f (patch) | |
| tree | bf1c7b72aaf3af1525fb0f4742757d655ca48c3e /patchset.Send.go | |
| parent | 235fe57beb75f147862fadbf5884fad4e8a011f3 (diff) | |
rm old code
Diffstat (limited to 'patchset.Send.go')
| -rw-r--r-- | patchset.Send.go | 170 |
1 files changed, 0 insertions, 170 deletions
diff --git a/patchset.Send.go b/patchset.Send.go deleted file mode 100644 index 1601663..0000000 --- a/patchset.Send.go +++ /dev/null @@ -1,170 +0,0 @@ -package forgepb - -// functions to import and export the protobuf -// data to and from config files - -import ( - "errors" - "os" - "path/filepath" - "strings" - "time" - - "go.wit.com/lib/protobuf/httppb" - "go.wit.com/log" -) - -func (f *Forge) SendPatches(what string, p *Patches) (*Patches, error) { - route := "/patches/" + what - data, err := p.Marshal() - if err != nil { - return nil, err - } - log.Infof("pb: len=%d, err=%v\n", len(data), err) - newdata, err := httppb.HttpPost("rm this", route, data) - if err != nil { - return nil, err - } - if newdata == nil { - return nil, err - } - if len(newdata) == 0 { - return nil, err - } - log.Info("TODO: Unmarshal() to patches", len(newdata)) - return nil, err -} - -// makes a new patches protobuf. These are all the patches on your machine. -func NewPatches() *Patches { - x := new(Patches) - x.Uuid = "2679065e-c81d-4a00-aca4-03c158a834fb" - x.Version = "v2.0.0 go.wit.com/lib/protobuf/forgepb" - return x -} - -func (f *Forge) SendPatchSet(pset *Patchset) error { - var err error - data, err := pset.Marshal() - if err != nil { - log.Info("proto.Marshal() pset(len) error", len(data), err) - return err - } - now := time.Now() - timestamp := now.Format("2006.01.02.150405") // bummer. other date doesn't work? - cfgfile := "patchset/patchset." + timestamp + ".pb" - log.Info("proto.Marshal() pset(len)", len(data)) - configWrite(cfgfile, data) - - return errors.New("don't know how to send yet") -} - -func (f *Forge) SubmitDevelPatchSet(name string) (*Patchset, error) { - pset, err := f.MakeDevelPatchSet(name) - if err != nil { - return nil, err - } - if err := f.submitPatchset(pset); err != nil { - return nil, err - } - return pset, nil -} - -func (f *Forge) submitPatchset(pset *Patchset) error { - msg, err := pset.Marshal() - if err != nil { - log.Info("proto.Marshal() failed:", err) - return err - } - log.Info("proto.Marshal() msg len", len(msg)) - body, err := f.HttpPost("rm this", "patchset", msg) - if err != nil { - log.Info("httpPost() failed:", err) - return err - } - log.Info("HTTP: proto.Marshal() sent", len(msg), "ok and got back", len(body)) - - newpb := NewPatches() - if err := newpb.Unmarshal(body); err != nil { - cfcheck := string(body[0:100]) - if strings.Contains(cfcheck, "<title>Just a moment...</title>") { - return log.Errorf("Cloudflare throttled this attempt to submit. TODO: fix this") - } else { - log.Infof("forged DID NOT SEND BACK PROTOBUF len(body)=%d %s (TODO: look for failure on cloudflare 'is human' check here)\n", len(body), body[0:100]) - // log.Infof("TODO: try to identify data here len(body)=%d body[0:40]=%s\n", len(body), body[0:40]) - // log.Info("BODY START:", body[0:10], string(body[0:10])) - // log.Info(string(body)) - // if err := newpb.UnmarshalTEXT(body[2:]); err == nil { - // log.Info("wow, that did work. newpb.Len() =", newpb.Len()) - // } - } - return err - } - - log.Info("Total patches sent ok:", newpb.Len()) - return nil -} - -func (f *Forge) SubmitPatchesNew(pset *Patches, urlpath string) (*Patches, error) { - msg, err := pset.Marshal() - if err != nil { - log.Info("proto.Marshal() failed:", err) - return nil, err - } - log.Info("proto.Marshal() msg len", len(msg)) - body, err := f.HttpPost("rm this", urlpath, msg) - if err != nil { - log.Info("httpPost() failed:", err) - return nil, err - } - log.Info("HTTP: proto.Marshal() sent", len(msg), "ok and got back", len(body)) - - newpb := NewPatches() - if err := newpb.Unmarshal(body); err != nil { - cfcheck := string(body[0:100]) - if strings.Contains(cfcheck, "<title>Just a moment...</title>") { - return nil, log.Errorf("Cloudflare throttled this attempt to submit. TODO: fix this") - } else { - log.Infof("forged DID NOT SEND BACK PROTOBUF len(body)=%d %s (TODO: look for failure on cloudflare 'is human' check here)\n", len(body), body[0:100]) - // log.Infof("TODO: try to identify data here len(body)=%d body[0:40]=%s\n", len(body), body[0:40]) - // log.Info("BODY START:", body[0:10], string(body[0:10])) - // log.Info(string(body)) - // if err := newpb.UnmarshalTEXT(body[2:]); err == nil { - // log.Info("wow, that did work. newpb.Len() =", newpb.Len()) - // } - } - return nil, err - } - - log.Info("Total patches sent ok:", newpb.Len()) - return newpb, nil -} - -func loadFile(filename string) ([]byte, error) { - fullname := filepath.Join(os.Getenv("FORGE_CONFIG"), filename) - data, err := os.ReadFile(fullname) - if errors.Is(err, os.ErrNotExist) { - // if file does not exist, just return nil. this - // will cause ConfigLoad() to try the next config file like "forge.text" - // because the user might want to edit the .config by hand - return nil, nil - } - if err != nil { - // log.Info("open config file :", err) - return nil, err - } - return data, nil -} - -func configWrite(filename string, data []byte) error { - fullname := filepath.Join(os.Getenv("FORGE_CONFIG"), filename) - - cfgfile, err := os.OpenFile(fullname, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0644) - defer cfgfile.Close() - if err != nil { - log.Warn("open config file :", err) - return err - } - cfgfile.Write(data) - return nil -} |
