1234567891011121314151617 |
- package middleware
-
- import (
- "context"
- "net/http"
- )
-
- // WithValue is a middleware that sets a given key/value in a context chain.
- func WithValue(key, val interface{}) func(next http.Handler) http.Handler {
- return func(next http.Handler) http.Handler {
- fn := func(w http.ResponseWriter, r *http.Request) {
- r = r.WithContext(context.WithValue(r.Context(), key, val))
- next.ServeHTTP(w, r)
- }
- return http.HandlerFunc(fn)
- }
- }
|