summaryrefslogtreecommitdiffstats
path: root/api
diff options
context:
space:
mode:
authorChristopher Speller <crspeller@gmail.com>2015-10-01 07:26:54 -0400
committerChristopher Speller <crspeller@gmail.com>2015-10-01 07:26:54 -0400
commit9ce826863bdb279b5b19e16c30cd02b8bbae1ff4 (patch)
treeb990b0dc53543542bd89fb7e07cc4e36abe87b5e /api
parent53bdc34f3768b06a0cffdcaa52ca5335f52339d0 (diff)
parent0da42c555943fde2c8623555ca4396a0bbf9ae3e (diff)
downloadchat-9ce826863bdb279b5b19e16c30cd02b8bbae1ff4.tar.gz
chat-9ce826863bdb279b5b19e16c30cd02b8bbae1ff4.tar.bz2
chat-9ce826863bdb279b5b19e16c30cd02b8bbae1ff4.zip
Merge pull request #866 from mattermost/PLT-345
PLT-345 adding client side logging
Diffstat (limited to 'api')
-rw-r--r--api/admin.go24
1 files changed, 23 insertions, 1 deletions
diff --git a/api/admin.go b/api/admin.go
index 3ef8c12a8..d9714d6d2 100644
--- a/api/admin.go
+++ b/api/admin.go
@@ -23,8 +23,10 @@ func InitAdmin(r *mux.Router) {
sr.Handle("/logs", ApiUserRequired(getLogs)).Methods("GET")
sr.Handle("/config", ApiUserRequired(getConfig)).Methods("GET")
sr.Handle("/save_config", ApiUserRequired(saveConfig)).Methods("POST")
- sr.Handle("/client_props", ApiAppHandler(getClientProperties)).Methods("GET")
sr.Handle("/test_email", ApiUserRequired(testEmail)).Methods("POST")
+ sr.Handle("/client_props", ApiAppHandler(getClientProperties)).Methods("GET")
+ sr.Handle("/log_client", ApiAppHandler(logClient)).Methods("POST")
+
}
func getLogs(c *Context, w http.ResponseWriter, r *http.Request) {
@@ -59,6 +61,26 @@ func getClientProperties(c *Context, w http.ResponseWriter, r *http.Request) {
w.Write([]byte(model.MapToJson(utils.ClientProperties)))
}
+func logClient(c *Context, w http.ResponseWriter, r *http.Request) {
+ m := model.MapFromJson(r.Body)
+
+ lvl := m["level"]
+ msg := m["message"]
+
+ if len(msg) > 400 {
+ msg = msg[0:399]
+ }
+
+ if lvl == "ERROR" {
+ err := model.NewAppError("client", msg, "")
+ c.LogError(err)
+ }
+
+ rm := make(map[string]string)
+ rm["SUCCESS"] = "true"
+ w.Write([]byte(model.MapToJson(rm)))
+}
+
func getConfig(c *Context, w http.ResponseWriter, r *http.Request) {
if !c.HasSystemAdminPermissions("getConfig") {
return