summaryrefslogtreecommitdiff
path: root/http.go
diff options
context:
space:
mode:
Diffstat (limited to 'http.go')
-rw-r--r--http.go25
1 files changed, 25 insertions, 0 deletions
diff --git a/http.go b/http.go
index f482499..f35837c 100644
--- a/http.go
+++ b/http.go
@@ -63,6 +63,31 @@ func okHandler(w http.ResponseWriter, r *http.Request) {
return
}
+ if strings.HasPrefix(route, "/set/") {
+ pb := new(forgepb.Set)
+ if err := pb.Unmarshal(reqPB.ClientData); err != nil {
+ reqPB.Logf("Patches Unmarshal() len(data)=%d err=%v", len(reqPB.ClientData), err)
+ logReqPB(reqPB)
+ return
+ }
+ reqPB.Logf("Patches Unmarshal() len=%d", pb.Patches.Len())
+ result := new(forgepb.Set)
+ switch route {
+ case "/set/new":
+ me.forge.Patchsets.Append(pb)
+ reqPB.Logf("addNewPatches() pb.Patches.Len()=%d Patchsets.Len()=%d", pb.Patches.Len(), me.forge.Patchsets.Len())
+ me.forge.SavePatchsets()
+ result.Uuid = pb.Uuid
+ default:
+ }
+ if err := result.SendReply(w, reqPB); err != nil {
+ reqPB.Logf("Oh well, Send to client failed. err=%v", err)
+ }
+ // todo: logReq(reqPB)
+ logReqPB(reqPB)
+ return
+ }
+
if strings.HasPrefix(route, "/patches/") {
pb := forgepb.NewPatches()
if err := pb.Unmarshal(reqPB.ClientData); err == nil {