arimelody-web/admin/music/musichttp.go
ari melody 21912d4ec2
refactor mux path routes
legend has it that if you refactor your code enough times, one day you
will finally be happy
2025-11-07 17:48:06 +00:00

26 lines
826 B
Go

package music
import (
"arimelody-web/model"
"net/http"
)
func Handler(app *model.AppState) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
mux := http.NewServeMux()
mux.Handle("/releases/", http.StripPrefix("/releases", serveReleases(app)))
mux.HandleFunc("/artists/{id}", func(w http.ResponseWriter, r *http.Request) {
serveArtist(app, r.PathValue("id")).ServeHTTP(w, r)
})
mux.Handle("/artists/", http.StripPrefix("/artists", serveArtists(app)))
mux.HandleFunc("/tracks/{id}", func(w http.ResponseWriter, r *http.Request) {
serveTrack(app, r.PathValue("id")).ServeHTTP(w, r)
})
mux.Handle("/tracks/", http.StripPrefix("/tracks", serveTracks(app)))
mux.ServeHTTP(w, r)
})
}