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 a0d02f05017e0667a008d24c91ac10d1c634de42
parent 06ceca9ca57227f8fe4cfeda9935cd7ae3f30fc0
Author: MTRNord <mtrnord1@gmail.com>
Date:   Sun,  3 Jun 2018 11:08:19 +0200

Use ffjson

Diffstat:
Mgo.mod | 3++-
MwsListener/server.go | 13++++++++++---
2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/go.mod b/go.mod @@ -1,8 +1,9 @@ module github.com/OpenHomeAuto/AiListener require ( - github.com/OpenHomeAuto/dialogflow-go-webhook v1.0.0 + github.com/OpenHomeAuto/dialogflow-go-webhook v0.0.0-20180603090732-edd56b21fa08 github.com/bjarneh/latinx v0.0.0-20120329061922-4dfe9ba2a293 github.com/gorilla/mux v1.6.2 github.com/leboncoin/dialogflow-go-webhook v1.0.0 + github.com/pquerna/ffjson v0.0.0-20171002144729-d49c2bc1aa13 ) 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" ) @@ -31,10 +32,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 }