|
@@ -60,30 +60,9 @@ func WsHandler(w http.ResponseWriter, r *http.Request) {
|
|
|
continue
|
|
continue
|
|
|
}
|
|
}
|
|
|
var payload structs.WsPayload
|
|
var payload structs.WsPayload
|
|
|
- // if it fails to marshal, assume that means no token
|
|
|
|
|
- // "verify" action is implicit
|
|
|
|
|
if err := json.Unmarshal(msg, &payload); err != nil {
|
|
if err := json.Unmarshal(msg, &payload); err != nil {
|
|
|
- config.Logger.Info("New client")
|
|
|
|
|
- // auth.CreateToken also adds to unauth map
|
|
|
|
|
- newToken, err := auth.CreateToken(conn, r, false)
|
|
|
|
|
- if err != nil {
|
|
|
|
|
- config.Logger.Error("Unable to create token")
|
|
|
|
|
- }
|
|
|
|
|
- result := map[string]interface{}{
|
|
|
|
|
- "type": "activity",
|
|
|
|
|
- "id": payload.ID, // this is like the action id
|
|
|
|
|
- "error": "null",
|
|
|
|
|
- "response": "ack",
|
|
|
|
|
- "token": newToken,
|
|
|
|
|
- }
|
|
|
|
|
- respJson, err := json.Marshal(result)
|
|
|
|
|
- if err != nil {
|
|
|
|
|
- errmsg := fmt.Sprintf("Error marshalling token (init): %v", err)
|
|
|
|
|
- config.Logger.Error(errmsg)
|
|
|
|
|
- }
|
|
|
|
|
- if err := conn.WriteMessage(websocket.TextMessage, respJson); err != nil {
|
|
|
|
|
- config.Logger.Error(fmt.Sprintf("Error writing response: %v", err))
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ config.Logger.Warn(fmt.Sprintf("Error unmarshalling payload: %v", err))
|
|
|
|
|
+ continue
|
|
|
}
|
|
}
|
|
|
config.Logger.Info(fmt.Sprintf("Received message: %s", string(msg)))
|
|
config.Logger.Info(fmt.Sprintf("Received message: %s", string(msg)))
|
|
|
var msgType structs.WsType
|
|
var msgType structs.WsType
|
|
@@ -132,6 +111,28 @@ func WsHandler(w http.ResponseWriter, r *http.Request) {
|
|
|
case "setup":
|
|
case "setup":
|
|
|
config.Logger.Info("Setup")
|
|
config.Logger.Info("Setup")
|
|
|
// setup.Setup(payload)
|
|
// setup.Setup(payload)
|
|
|
|
|
+ case "verify":
|
|
|
|
|
+ config.Logger.Info("New client")
|
|
|
|
|
+ // auth.CreateToken also adds to unauth map
|
|
|
|
|
+ newToken, err := auth.CreateToken(conn, r, false)
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ config.Logger.Error("Unable to create token")
|
|
|
|
|
+ }
|
|
|
|
|
+ result := map[string]interface{}{
|
|
|
|
|
+ "type": "activity",
|
|
|
|
|
+ "id": payload.ID, // this is like the action id
|
|
|
|
|
+ "error": "null",
|
|
|
|
|
+ "response": "ack",
|
|
|
|
|
+ "token": newToken,
|
|
|
|
|
+ }
|
|
|
|
|
+ respJson, err := json.Marshal(result)
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ errmsg := fmt.Sprintf("Error marshalling token (init): %v", err)
|
|
|
|
|
+ config.Logger.Error(errmsg)
|
|
|
|
|
+ }
|
|
|
|
|
+ if err := conn.WriteMessage(websocket.TextMessage, respJson); err != nil {
|
|
|
|
|
+ config.Logger.Error(fmt.Sprintf("Error writing response: %v", err))
|
|
|
|
|
+ }
|
|
|
default:
|
|
default:
|
|
|
errmsg := fmt.Sprintf("Unknown unauth request type: %s", payload.Type)
|
|
errmsg := fmt.Sprintf("Unknown unauth request type: %s", payload.Type)
|
|
|
config.Logger.Warn(errmsg)
|
|
config.Logger.Warn(errmsg)
|