code: func (c *Context) Copy() *Context {
  	var cp = *c
  	cp.writermem.ResponseWriter = nil
  	cp.Writer = &cp.writermem
  	cp.index = abortIndex
  	cp.handlers = nil
  	cp.Keys = map[string]interface{}{}
  	for k, v := range c.Keys {
  		cp.Keys[k] = v
  	}
  	return &cp
  }
docs: // Copy returns a copy of the current context that can be safely used outside the request's scope.
  // This has to be used when the context has to be passed to a goroutine.