commit ec69e971328e55c18d25f00d87ac069197b2ba77
parent b7ad20a903f8ed70063d345f06c92a4825c3f065
Author: MTRNord <mtrnord1@gmail.com>
Date: Sat, 2 Jun 2018 13:09:51 +0200
Make a action switch
Diffstat:
1 file changed, 29 insertions(+), 14 deletions(-)
diff --git a/wsListener/server.go b/wsListener/server.go
@@ -22,14 +22,6 @@ func HomeHandler(w http.ResponseWriter, r *http.Request) {
}
func DFHandler(w http.ResponseWriter, r *http.Request) {
- type params struct {
- Artist string `json:"music-artist"`
- Room string `json:"room"`
- Genre string `json:"MusikGenre"`
- }
-
- var p params
-
var dfr *df.Request
if r.Body == nil {
@@ -45,11 +37,35 @@ func DFHandler(w http.ResponseWriter, r *http.Request) {
return
}
+ switch dfr.QueryResult.Action {
+ case "play_music":
+ dff := playMusicDispatch(dfr, w)
+ if dff == nil {
+ return
+ }
+
+ w.Header().Set("Content-Type", "application/json")
+ w.WriteHeader(http.StatusOK)
+ json.NewEncoder(w).Encode(dff)
+
+ }
+
+}
+
+func playMusicDispatch(dfr *df.Request, w http.ResponseWriter) *df.Fulfillment {
+ type params struct {
+ Artist string `json:"music-artist"`
+ Room string `json:"room"`
+ Genre string `json:"MusikGenre"`
+ }
+
+ var p params
+
// Retrieve the params of the request
if err := dfr.GetParams(&p); err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
log.Println("[WSERROR] failed to get parmas: " + err.Error())
- return
+ return nil
}
log.Printf("REQUEST: %+v", dfr.QueryResult)
log.Printf("SESSION: %s", dfr.Session)
@@ -59,11 +75,10 @@ func DFHandler(w http.ResponseWriter, r *http.Request) {
// Send back a fulfillment
dff := &df.Fulfillment{
FulfillmentMessages: df.Messages{
- df.ForGoogle(df.SingleSimpleResponse("hello", "hello")),
- {RichMessage: df.Text{Text: []string{"hello"}}},
+ df.ForGoogle(df.SingleSimpleResponse("Musik wird gestartet!", "Musik wird gestartet!")),
+ {RichMessage: df.Text{Text: []string{"Musik wird gestartet!"}}},
},
}
- w.Header().Set("Content-Type", "application/json")
- w.WriteHeader(http.StatusOK)
- json.NewEncoder(w).Encode(dff)
+
+ return dff
}