From b2af891b203ba28b74dc703e423fc7691cb3a3f1 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Fri, 5 Sep 2025 07:09:47 -0500 Subject: builds. puts http headers in protobuf --- handlePatches.go | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 handlePatches.go (limited to 'handlePatches.go') diff --git a/handlePatches.go b/handlePatches.go new file mode 100644 index 0000000..904da49 --- /dev/null +++ b/handlePatches.go @@ -0,0 +1,57 @@ +package main + +import ( + "io/ioutil" + "net/http" + "strings" + + "go.wit.com/lib/protobuf/forgepb" + "go.wit.com/log" +) + +func handlePatches(w http.ResponseWriter, r *http.Request) error { + pb, err := marshalPatchesPB(r) + if err != nil { + return sendPatchesError(w, pb, err) + } + + route := pb.HttpRequest.Route + if strings.HasPrefix(route, "/patches/old") { + processPatchesPB(r, pb) + } else if strings.HasPrefix(route, "/patches/old") { + log.Info("add new patches") + } else { + log.Info("unknown route", route) + } + + return nil +} + +func sendPatchesError(w http.ResponseWriter, r *forgepb.Patches, err error) error { + log.Info("send error back to user", err) + return nil +} + +func processPatchesPB(r *http.Request, pb *forgepb.Patches) error { + log.Info("send error back to user") + return nil +} + +func marshalPatchesPB(r *http.Request) (*forgepb.Patches, error) { + pb := forgepb.NewPatches() + msg, err := ioutil.ReadAll(r.Body) // Read the body as []byte + defer r.Body.Close() + if err != nil { + return pb, err + } + + if err := pb.Unmarshal(msg); err != nil { + log.Info("proto.Unmarshal() failed on wire message len", len(msg), err) + // add the header + pb.AddHttpToPB(r) + return pb, err + } + // add the header + pb.AddHttpToPB(r) + return pb, nil +} -- cgit v1.2.3