code: func (c *Ctx) WithValue(key interface{}, val interface{}) {
  	c.request = c.request.WithContext(context.WithValue(c.request.Context(), key, val)) // temporarily shallow copying to avoid problems with external libraries
  }
docs: // WithValue calls golang.org/x/net/context WithValue and automatically
  // updates context on the containing lars.Ctx object.
  // Can also use Set() function on Ctx object (Recommended)