// SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Commercial // SPDX-FileCopyrightText: 2025-2026 Christian Galo package middleware import "net/http" type Middleware func(http.Handler) http.Handler // CreateStack creates a stack of middleware handlers func CreateStack(middlewares ...Middleware) Middleware { return func(nextMiddleware http.Handler) http.Handler { for i := len(middlewares) - 1; i >= 0; i-- { currentMiddleware := middlewares[i] nextMiddleware = currentMiddleware(nextMiddleware) } return nextMiddleware } }