# HG changeset patch # User Sascha L. Teichmann # Date 1532689436 -7200 # Node ID dfc2b035e055424c636e11403b8dfe49dead258e # Parent de6fdb316b8f83a1aa28b4f6fa27712c4aae4335 Slimming down the signature of the JSONHandler type to not take the http.ResponseWriter. Idea of this handler is to simply transform JSON to JSON. The input is already parsed. The output is generated from JSONResult. So there is no need to pass the ResponseWriter to the handler function. diff -r de6fdb316b8f -r dfc2b035e055 controllers/json.go --- a/controllers/json.go Fri Jul 27 12:30:19 2018 +0200 +++ b/controllers/json.go Fri Jul 27 13:03:56 2018 +0200 @@ -19,7 +19,7 @@ type JSONHandler struct { Input func() interface{} - Handle func(http.ResponseWriter, *http.Request, interface{}, *sql.DB) (JSONResult, error) + Handle func(interface{}, *http.Request, *sql.DB) (JSONResult, error) } type JSONError struct { @@ -46,7 +46,7 @@ token, _ := auth.GetToken(req) var jr JSONResult err := auth.ConnPool.Do(token, func(db *sql.DB) (err error) { - jr, err = j.Handle(rw, req, input, db) + jr, err = j.Handle(input, req, db) return err }) diff -r de6fdb316b8f -r dfc2b035e055 controllers/user.go --- a/controllers/user.go Fri Jul 27 12:30:19 2018 +0200 +++ b/controllers/user.go Fri Jul 27 13:03:56 2018 +0200 @@ -183,8 +183,8 @@ } func deleteUser( - rw http.ResponseWriter, req *http.Request, - input interface{}, db *sql.DB, + input interface{}, req *http.Request, + db *sql.DB, ) (jr JSONResult, err error) { user := mux.Vars(req)["user"] @@ -211,8 +211,8 @@ } func updateUser( - rw http.ResponseWriter, req *http.Request, - input interface{}, db *sql.DB, + input interface{}, req *http.Request, + db *sql.DB, ) (jr JSONResult, err error) { user := mux.Vars(req)["user"] @@ -263,8 +263,8 @@ } func createUser( - rw http.ResponseWriter, req *http.Request, - input interface{}, db *sql.DB, + input interface{}, req *http.Request, + db *sql.DB, ) (jr JSONResult, err error) { user := input.(*User) @@ -307,8 +307,8 @@ } func listUsers( - rw http.ResponseWriter, req *http.Request, - input interface{}, db *sql.DB, + input interface{}, req *http.Request, + db *sql.DB, ) (jr JSONResult, err error) { var rows *sql.Rows @@ -347,8 +347,8 @@ } func listUser( - rw http.ResponseWriter, req *http.Request, - input interface{}, db *sql.DB, + input interface{}, req *http.Request, + db *sql.DB, ) (jr JSONResult, err error) { user := mux.Vars(req)["user"]