From df7d60755646a1f282dacae824ab2f10840317b5 Mon Sep 17 00:00:00 2001 From: Kane York Date: Mon, 26 Oct 2015 08:58:04 -0700 Subject: [PATCH] Move HandlePublishRequest to backend.go --- socketserver/internal/server/backend.go | 26 ++++++++++++++++++++ socketserver/internal/server/backend_test.go | 2 ++ socketserver/internal/server/publisher.go | 26 -------------------- 3 files changed, 28 insertions(+), 26 deletions(-) diff --git a/socketserver/internal/server/backend.go b/socketserver/internal/server/backend.go index 6c95c261..e3bd77d5 100644 --- a/socketserver/internal/server/backend.go +++ b/socketserver/internal/server/backend.go @@ -64,6 +64,32 @@ func getCacheKey(remoteCommand, data string) string { return fmt.Sprintf("%s/%s", remoteCommand, data) } +func HandlePublishRequest(w http.ResponseWriter, r *http.Request) { + formData, err := UnsealRequest(r.Form) + if err != nil { + w.WriteHeader(403) + fmt.Fprintf(w, "Error: %v", err) + return + } + + cmd := formData.Get("cmd") + json := formData.Get("args") + chat := formData.Get("chat") + watchChannel := formData.Get("channel") + cm := ClientMessage{MessageID: -1, Command: Command(cmd), origArguments: json} + var count int + if chat != "" { + count = PublishToChat(chat, cm) + } else if watchChannel != "" { + count = PublishToWatchers(watchChannel, cm) + } else { + w.WriteHeader(400) + fmt.Fprint(w, "Need to specify either chat or channel") + return + } + fmt.Fprint(w, count) +} + func RequestRemoteDataCached(remoteCommand, data string, auth AuthInfo) (string, error) { cached, ok := responseCache.Get(getCacheKey(remoteCommand, data)) if ok { diff --git a/socketserver/internal/server/backend_test.go b/socketserver/internal/server/backend_test.go index e02d6c0e..0efea329 100644 --- a/socketserver/internal/server/backend_test.go +++ b/socketserver/internal/server/backend_test.go @@ -31,6 +31,8 @@ func TestSealRequest(t *testing.T) { if err != nil { t.Fatal(err) } + // sealedValues.Encode() + // id=0&msg=KKtbng49dOLLyjeuX5AnXiEe6P0uZwgeP_7mMB5vhP-wMAAPZw%3D%3D&nonce=-wRbUnifscisWUvhm3gBEXHN5QzrfzgV unsealedValues, err := UnsealRequest(sealedValues) if err != nil { diff --git a/socketserver/internal/server/publisher.go b/socketserver/internal/server/publisher.go index eae5488e..e3b57378 100644 --- a/socketserver/internal/server/publisher.go +++ b/socketserver/internal/server/publisher.go @@ -50,32 +50,6 @@ func PublishToWatchers(channel string, msg ClientMessage) (count int) { return } -func HandlePublishRequest(w http.ResponseWriter, r *http.Request) { - formData, err := UnsealRequest(r.Form) - if err != nil { - w.WriteHeader(403) - fmt.Fprintf(w, "Error: %v", err) - return - } - - cmd := formData.Get("cmd") - json := formData.Get("args") - chat := formData.Get("chat") - watchChannel := formData.Get("channel") - cm := ClientMessage{MessageID: -1, Command: Command(cmd), origArguments: json} - var count int - if chat != "" { - count = PublishToChat(chat, cm) - } else if watchChannel != "" { - count = PublishToWatchers(watchChannel, cm) - } else { - w.WriteHeader(400) - fmt.Fprint(w, "Need to specify either chat or channel") - return - } - fmt.Fprint(w, count) -} - // Add a channel to the subscriptions while holding a read-lock to the map. // Locks: // - ALREADY HOLDING a read-lock to the 'which' top-level map via the rlocker object