make the "raw" handlers a bit more consistent
also, todo: think about deleting them
This commit is contained in:
@@ -18,9 +18,9 @@ import (
|
|||||||
"github.com/oxtoacart/bpool"
|
"github.com/oxtoacart/bpool"
|
||||||
"github.com/wader/gormstore"
|
"github.com/wader/gormstore"
|
||||||
|
|
||||||
"go.senan.xyz/gonic/server/db"
|
|
||||||
"go.senan.xyz/gonic/server/assets"
|
"go.senan.xyz/gonic/server/assets"
|
||||||
"go.senan.xyz/gonic/server/ctrlbase"
|
"go.senan.xyz/gonic/server/ctrlbase"
|
||||||
|
"go.senan.xyz/gonic/server/db"
|
||||||
"go.senan.xyz/gonic/version"
|
"go.senan.xyz/gonic/version"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -146,6 +146,7 @@ type Response struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type handlerAdmin func(r *http.Request) *Response
|
type handlerAdmin func(r *http.Request) *Response
|
||||||
|
type handlerAdminRaw func(w http.ResponseWriter, r *http.Request)
|
||||||
|
|
||||||
//nolint:gocognit
|
//nolint:gocognit
|
||||||
func (c *Controller) H(h handlerAdmin) http.Handler {
|
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
|
// ## begin utilities
|
||||||
// ## begin utilities
|
// ## begin utilities
|
||||||
|
|||||||
@@ -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 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 {
|
func (c *Controller) H(h handlerSubsonic) http.Handler {
|
||||||
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
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 {
|
func (c *Controller) HR(h handlerSubsonicRaw) http.Handler {
|
||||||
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||||
response := h(w, r)
|
response := h(w, r)
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ func setupAdmin(r *mux.Router, ctrl *ctrladmin.Controller) {
|
|||||||
// ** begin public routes (creates session)
|
// ** begin public routes (creates session)
|
||||||
r.Use(ctrl.WithSession)
|
r.Use(ctrl.WithSession)
|
||||||
r.Handle("/login", ctrl.H(ctrl.ServeLogin))
|
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) {
|
assets.PrefixDo("static", func(path string, asset *assets.EmbeddedAsset) {
|
||||||
_, name := filepath.Split(path)
|
_, name := filepath.Split(path)
|
||||||
route := filepath.Join("/static", name)
|
route := filepath.Join("/static", name)
|
||||||
@@ -101,7 +101,7 @@ func setupAdmin(r *mux.Router, ctrl *ctrladmin.Controller) {
|
|||||||
// ** begin user routes (if session is valid)
|
// ** begin user routes (if session is valid)
|
||||||
routUser := r.NewRoute().Subrouter()
|
routUser := r.NewRoute().Subrouter()
|
||||||
routUser.Use(ctrl.WithUserSession)
|
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("/home", ctrl.H(ctrl.ServeHome))
|
||||||
routUser.Handle("/change_own_password", ctrl.H(ctrl.ServeChangeOwnPassword))
|
routUser.Handle("/change_own_password", ctrl.H(ctrl.ServeChangeOwnPassword))
|
||||||
routUser.Handle("/change_own_password_do", ctrl.H(ctrl.ServeChangeOwnPasswordDo))
|
routUser.Handle("/change_own_password_do", ctrl.H(ctrl.ServeChangeOwnPasswordDo))
|
||||||
|
|||||||
Reference in New Issue
Block a user