mirror of
https://github.com/aljazceru/njump.git
synced 2025-12-17 06:14:22 +01:00
a more stupid way of doing middle chaining, but at least it is clearer.
This commit is contained in:
24
main.go
24
main.go
@@ -144,15 +144,21 @@ func main() {
|
||||
mux.HandleFunc("/{code}", renderEvent)
|
||||
mux.HandleFunc("/{$}", renderHomepage)
|
||||
|
||||
var mainHandler http.Handler = relay
|
||||
// apply http middlewares
|
||||
for _, middleware := range []func(http.Handler) http.Handler{
|
||||
cors.Default().Handler,
|
||||
loggingMiddleware,
|
||||
agentBlock,
|
||||
cloudflareBlock,
|
||||
} {
|
||||
mainHandler = middleware(mainHandler)
|
||||
corsH := cors.Default()
|
||||
corsM := func(next http.HandlerFunc) http.HandlerFunc {
|
||||
return corsH.Handler(next).ServeHTTP
|
||||
}
|
||||
|
||||
var mainHandler http.HandlerFunc = func(w http.ResponseWriter, r *http.Request) {
|
||||
cloudflareBlock(
|
||||
agentBlock(
|
||||
loggingMiddleware(
|
||||
corsM(
|
||||
relay.ServeHTTP,
|
||||
),
|
||||
),
|
||||
),
|
||||
)(w, r)
|
||||
}
|
||||
|
||||
log.Print("listening at http://0.0.0.0:" + s.Port)
|
||||
|
||||
Reference in New Issue
Block a user