make the "raw" handlers a bit more consistent

also, todo: think about deleting them
This commit is contained in:
sentriz
2020-04-25 03:17:50 +01:00
parent 56a39126ec
commit 295bf5677f
3 changed files with 9 additions and 5 deletions

View File

@@ -18,9 +18,9 @@ import (
"github.com/oxtoacart/bpool"
"github.com/wader/gormstore"
"go.senan.xyz/gonic/server/db"
"go.senan.xyz/gonic/server/assets"
"go.senan.xyz/gonic/server/ctrlbase"
"go.senan.xyz/gonic/server/db"
"go.senan.xyz/gonic/version"
)
@@ -146,6 +146,7 @@ type Response struct {
}
type handlerAdmin func(r *http.Request) *Response
type handlerAdminRaw func(w http.ResponseWriter, r *http.Request)
//nolint:gocognit
func (c *Controller) H(h handlerAdmin) http.Handler {
@@ -212,6 +213,10 @@ func (c *Controller) H(h handlerAdmin) http.Handler {
})
}
func (c *Controller) HR(h handlerAdminRaw) http.Handler {
return http.HandlerFunc(h)
}
// ## begin utilities
// ## begin utilities
// ## begin utilities

View File

@@ -82,6 +82,7 @@ func writeResp(w http.ResponseWriter, r *http.Request, resp *spec.Response) erro
}
type handlerSubsonic func(r *http.Request) *spec.Response
type handlerSubsonicRaw func(w http.ResponseWriter, r *http.Request) *spec.Response
func (c *Controller) H(h handlerSubsonic) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
@@ -96,8 +97,6 @@ func (c *Controller) H(h handlerSubsonic) http.Handler {
})
}
type handlerSubsonicRaw func(w http.ResponseWriter, r *http.Request) *spec.Response
func (c *Controller) HR(h handlerSubsonicRaw) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
response := h(w, r)

View File

@@ -89,7 +89,7 @@ func setupAdmin(r *mux.Router, ctrl *ctrladmin.Controller) {
// ** begin public routes (creates session)
r.Use(ctrl.WithSession)
r.Handle("/login", ctrl.H(ctrl.ServeLogin))
r.HandleFunc("/login_do", ctrl.ServeLoginDo) // "raw" handler, updates session
r.Handle("/login_do", ctrl.HR(ctrl.ServeLoginDo)) // "raw" handler, updates session
assets.PrefixDo("static", func(path string, asset *assets.EmbeddedAsset) {
_, name := filepath.Split(path)
route := filepath.Join("/static", name)
@@ -101,7 +101,7 @@ func setupAdmin(r *mux.Router, ctrl *ctrladmin.Controller) {
// ** begin user routes (if session is valid)
routUser := r.NewRoute().Subrouter()
routUser.Use(ctrl.WithUserSession)
routUser.HandleFunc("/logout", ctrl.ServeLogout) // "raw" handler, updates session
routUser.Handle("/logout", ctrl.HR(ctrl.ServeLogout)) // "raw" handler, updates session
routUser.Handle("/home", ctrl.H(ctrl.ServeHome))
routUser.Handle("/change_own_password", ctrl.H(ctrl.ServeChangeOwnPassword))
routUser.Handle("/change_own_password_do", ctrl.H(ctrl.ServeChangeOwnPasswordDo))