context.go 411 B

1234567891011121314151617181920212223
  1. package protocol
  2. import (
  3. "context"
  4. )
  5. type key int
  6. const (
  7. requestKey key = iota
  8. )
  9. func ContextWithRequestHeader(ctx context.Context, request *RequestHeader) context.Context {
  10. return context.WithValue(ctx, requestKey, request)
  11. }
  12. func RequestHeaderFromContext(ctx context.Context) *RequestHeader {
  13. request := ctx.Value(requestKey)
  14. if request == nil {
  15. return nil
  16. }
  17. return request.(*RequestHeader)
  18. }