handler.go 615 B

12345678910111213141516171819202122232425262728
  1. package server
  2. import (
  3. "net/http"
  4. "github.com/felamaslen/go-music-player/pkg/logger"
  5. "github.com/go-redis/redis/v7"
  6. )
  7. type RouteHandler func (l *logger.Logger, rdb *redis.Client, w http.ResponseWriter, r *http.Request) error
  8. func routeHandler(
  9. l *logger.Logger,
  10. rdb *redis.Client,
  11. handler RouteHandler,
  12. ) func(w http.ResponseWriter, r *http.Request) {
  13. return func(w http.ResponseWriter, r *http.Request) {
  14. err := handler(l, rdb, w, r)
  15. if err != nil {
  16. l.Error("Unhandled error during request: %v\n", err)
  17. w.WriteHeader(500)
  18. w.Write([]byte("Unhandled error"))
  19. }
  20. }
  21. }