ailistener-old

The central Server which transports webhook events from the Dialogflow bot to the local nodes
git clone git://archive.git.mtrnord.blog/OpenHomeAuto/ailistener-old.git
Log | Files | Refs | README | LICENSE

commit 7598de09e9da19684b5075c79ca50787c217288b
parent d004cf74a84d663a1563ccbed76f55539b42da20
Author: MTRNord <mtrnord1@gmail.com>
Date:   Sun,  3 Jun 2018 11:17:51 +0200

Add more time tests

Diffstat:
MwsListener/server.go | 20++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)

diff --git a/wsListener/server.go b/wsListener/server.go @@ -6,6 +6,7 @@ import ( df "github.com/OpenHomeAuto/dialogflow-go-webhook" "github.com/bjarneh/latinx" "github.com/gorilla/mux" + "io/ioutil" "log" "net/http" "time" @@ -26,7 +27,7 @@ func HomeHandler(w http.ResponseWriter, r *http.Request) { func DFHandler(w http.ResponseWriter, r *http.Request) { start := time.Now() - var dfr *df.Request + dfr := &df.Request{} if r.Body == nil { http.Error(w, "Please send a request body", http.StatusNotAcceptable) @@ -34,10 +35,16 @@ func DFHandler(w http.ResponseWriter, r *http.Request) { return } defer r.Body.Close() - decoder := json.NewDecoder(r.Body) - if err := decoder.Decode(&dfr); err != nil { + body, err := ioutil.ReadAll(r.Body) + if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) - log.Println("[WSERROR] failed to decode: " + err.Error()) + log.Println("[WSERROR] failed to convert to byte: " + err.Error()) + return + } + err = dfr.UnmarshalJSON(body) + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + log.Println("[WSERROR] failed to UnmarshalJSON: " + err.Error()) return } @@ -75,12 +82,15 @@ func DFHandler(w http.ResponseWriter, r *http.Request) { default: w.WriteHeader(http.StatusNotImplemented) log.Println("[WSINFO] default resp") + elapsed := time.Since(start) + log.Printf("Took %s", elapsed) return } } func playMusicDispatch(dfr *df.Request, w http.ResponseWriter) *df.Fulfillment { + start := time.Now() type MusicParams struct { Artist string `json:"music-artist"` Room string `json:"room"` @@ -160,6 +170,8 @@ func playMusicDispatch(dfr *df.Request, w http.ResponseWriter) *df.Fulfillment { }, } } + elapsed := time.Since(start) + log.Printf("playMusicDispatch Took %s", elapsed) return resp }