commit d004cf74a84d663a1563ccbed76f55539b42da20
parent 35a430e97819cdd34a2f8faffc57338261e260db
Author: MTRNord <mtrnord1@gmail.com>
Date: Sun, 3 Jun 2018 11:15:15 +0200
Measure needed time on old code
Diffstat:
1 file changed, 4 insertions(+), 11 deletions(-)
diff --git a/wsListener/server.go b/wsListener/server.go
@@ -6,7 +6,6 @@ import (
df "github.com/OpenHomeAuto/dialogflow-go-webhook"
"github.com/bjarneh/latinx"
"github.com/gorilla/mux"
- "io/ioutil"
"log"
"net/http"
"time"
@@ -27,7 +26,7 @@ func HomeHandler(w http.ResponseWriter, r *http.Request) {
func DFHandler(w http.ResponseWriter, r *http.Request) {
start := time.Now()
- dfr := &df.Request{}
+ var dfr *df.Request
if r.Body == nil {
http.Error(w, "Please send a request body", http.StatusNotAcceptable)
@@ -35,16 +34,10 @@ func DFHandler(w http.ResponseWriter, r *http.Request) {
return
}
defer r.Body.Close()
- body, err := ioutil.ReadAll(r.Body)
- if err != nil {
+ decoder := json.NewDecoder(r.Body)
+ if err := decoder.Decode(&dfr); err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
- 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())
+ log.Println("[WSERROR] failed to decode: " + err.Error())
return
}