summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-09-04 22:38:07 -0500
committerJeff Carr <[email protected]>2025-09-04 22:38:07 -0500
commit4a27e7702b9b975b066ec9d2ee7ac932d86552e3 (patch)
treef01a86a316fe18a246bfdc91d6cbcaea3c4ecc4e
parent0e05b773cf01e917809d1e7848dc1944eedd0921 (diff)
better Send() functionv0.0.125
-rw-r--r--patchset.Send.go36
1 files changed, 36 insertions, 0 deletions
diff --git a/patchset.Send.go b/patchset.Send.go
index 934b5c0..31e10ef 100644
--- a/patchset.Send.go
+++ b/patchset.Send.go
@@ -81,3 +81,39 @@ func (f *Forge) submitPatchset(pset *Patchset) error {
log.Info("Total patches sent ok:", newpb.Len())
return nil
}
+
+func (f *Forge) SubmitPatchesNew(pset *Patches, urlpath string) (*Patches, error) {
+ var url string
+ url = f.forgeURL + "oldpatchset"
+ 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(url, msg)
+ if err != nil {
+ log.Info("httpPost() failed:", err)
+ return nil, err
+ }
+
+ 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
+}