package api import ( "net/http" "strings" ) // bearerAuthMiddleware enforces Bearer token authentication for protected routes. func bearerAuthMiddleware(requiredToken string) func(http.Handler) http.Handler { return func(next http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { auth := r.Header.Get("Authorization") if !strings.HasPrefix(auth, "Bearer ") { writeError(w, http.StatusUnauthorized, "Missing or invalid Authorization header") return } token := strings.TrimPrefix(auth, "Bearer ") if token != requiredToken { writeError(w, http.StatusUnauthorized, "Invalid token") return } next.ServeHTTP(w, r) }) } }