code: func (c *requestContextMap) Update(req *http.Request, context Context) error {
  	c.lock.Lock()
  	defer c.lock.Unlock()
  	if _, ok := c.contexts[req]; !ok {
  		return errors.New("No context associated")
  	}
  	// TODO: ensure the new context is a descendant of the existing one
  	c.contexts[req] = context
  	return nil
  }
docs: // Update maps the request to the given context.
  // If no context was previously associated with the request, an error is returned and the context is ignored.