handler.go 599 B

123456789101112131415161718192021222324252627
  1. package server
  2. import (
  3. "net/http"
  4. "github.com/felamaslen/gmus-backend/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. http.Error(w, "Unhandled error", http.StatusInternalServerError)
  18. }
  19. }
  20. }