diff options
Diffstat (limited to 'http.go')
| -rw-r--r-- | http.go | 25 |
1 files changed, 25 insertions, 0 deletions
@@ -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 { |
