diff pkg/controllers/system.go @ 4244:4394daeea96a json-handler-middleware

Moved JSONHandler into middleware package.
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Thu, 22 Aug 2019 11:26:48 +0200
parents d776110b4db0
children 152b9eb5ca47
line wrap: on
line diff
--- a/pkg/controllers/system.go	Thu Aug 22 10:54:08 2019 +0200
+++ b/pkg/controllers/system.go	Thu Aug 22 11:26:48 2019 +0200
@@ -34,6 +34,8 @@
 	"gemma.intevation.de/gemma/pkg/geoserver"
 	"gemma.intevation.de/gemma/pkg/imports"
 	"gemma.intevation.de/gemma/pkg/models"
+
+	mw "gemma.intevation.de/gemma/pkg/middleware"
 )
 
 const (
@@ -57,7 +59,7 @@
 
 // System status end points
 
-func showSystemLog(req *http.Request) (jr JSONResult, err error) {
+func showSystemLog(req *http.Request) (jr mw.JSONResult, err error) {
 
 	serviceName := mux.Vars(req)["service"]
 	fileName := mux.Vars(req)["file"]
@@ -66,7 +68,7 @@
 	// able to inject a verbatim '/' via the middleware, but better be on
 	// the safe site...
 	if strings.Contains(fileName, "/") {
-		err = JSONError{http.StatusBadRequest,
+		err = mw.JSONError{http.StatusBadRequest,
 			"error: no slashes allowed in file name"}
 		return
 	}
@@ -77,7 +79,7 @@
 	case "apache2", "postgresql":
 		path = "/var/log/" + serviceName + "/" + fileName
 	default:
-		err = JSONError{http.StatusBadRequest,
+		err = mw.JSONError{http.StatusBadRequest,
 			"error: invalid service: " + serviceName}
 		return
 	}
@@ -88,7 +90,7 @@
 		return
 	}
 
-	jr = JSONResult{
+	jr = mw.JSONResult{
 		Result: struct {
 			Path    string `json:"path"`
 			Content string `json:"content"`
@@ -97,11 +99,11 @@
 	return
 }
 
-func getSystemConfig(req *http.Request) (jr JSONResult, err error) {
+func getSystemConfig(req *http.Request) (jr mw.JSONResult, err error) {
 
 	cfg := config.PublishedConfig()
 	if cfg == "" {
-		jr = JSONResult{Result: strings.NewReader("{}")}
+		jr = mw.JSONResult{Result: strings.NewReader("{}")}
 		return
 	}
 
@@ -110,14 +112,14 @@
 		return
 	}
 
-	jr = JSONResult{Result: bytes.NewReader(data)}
+	jr = mw.JSONResult{Result: bytes.NewReader(data)}
 	return
 }
 
-func getSystemSettings(req *http.Request) (jr JSONResult, err error) {
+func getSystemSettings(req *http.Request) (jr mw.JSONResult, err error) {
 
 	var rows *sql.Rows
-	if rows, err = JSONConn(req).QueryContext(req.Context(), getSettingsSQL); err != nil {
+	if rows, err = mw.JSONConn(req).QueryContext(req.Context(), getSettingsSQL); err != nil {
 		return
 	}
 	defer rows.Close()
@@ -135,7 +137,7 @@
 		return
 	}
 
-	jr = JSONResult{Result: settings}
+	jr = mw.JSONResult{Result: settings}
 	return
 }
 
@@ -298,13 +300,13 @@
 	}
 }
 
-func setSystemSettings(req *http.Request) (jr JSONResult, err error) {
+func setSystemSettings(req *http.Request) (jr mw.JSONResult, err error) {
 
-	settings := JSONInput(req).(*map[string]string)
+	settings := mw.JSONInput(req).(*map[string]string)
 
 	ctx := req.Context()
 	var tx *sql.Tx
-	if tx, err = JSONConn(req).BeginTx(ctx, nil); err != nil {
+	if tx, err = mw.JSONConn(req).BeginTx(ctx, nil); err != nil {
 		return
 	}
 	defer tx.Rollback()
@@ -355,7 +357,7 @@
 		fn(req)
 	}
 
-	jr = JSONResult{
+	jr = mw.JSONResult{
 		Code: http.StatusCreated,
 		Result: struct {
 			Result string `json:"result"`