1package middleware
2
3import (
4 "log/slog"
5 "net/http"
6
7 "tangled.org/core/log"
8)
9
10func WithLogger(l *slog.Logger) middlewareFunc {
11 return func(next http.Handler) http.Handler {
12 return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
13 // NOTE: can add some metadata here
14 ctx := log.IntoContext(r.Context(), l)
15 next.ServeHTTP(w, r.WithContext(ctx))
16 })
17 }
18}