mirror of
https://github.com/grafana/grafana.git
synced 2025-02-15 01:53:33 -06:00
Makes `pkg/web` only accept handles from the following set: ```go handlerStd = func(http.ResponseWriter, *http.Request) handlerStdCtx = func(http.ResponseWriter, *http.Request, *web.Context) handlerStdReqCtx = func(http.ResponseWriter, *http.Request, *models.ReqContext) handlerReqCtx = func(*models.ReqContext) handlerReqCtxRes = func(*models.ReqContext) Response handlerCtx = func(*web.Context) ``` This is a first step to reducing above set to only `http.Handler`. --- Due to a cyclic import situation between `pkg/models` and `pkg/web`, parts of this PR were put into `pkg/api/response`, even though they definitely do not belong there. This however is _temporary_ until we untangle `models.ReqContext`.
14 lines
237 B
Go
14 lines
237 B
Go
package ctxkey
|
|
|
|
import "context"
|
|
|
|
type Key struct{}
|
|
|
|
func Set(ctx context.Context, data interface{}) context.Context {
|
|
return context.WithValue(ctx, Key{}, data)
|
|
}
|
|
|
|
func Get(ctx context.Context) interface{} {
|
|
return ctx.Value(Key{})
|
|
}
|