code: func NewGoContext(instance *GoHttpServer) *GoContext {
  	// This bit in here is for the test cases, which pass in a nil value
  	if instance == nil {
  		instance = &GoHttpServer{MaxMultipartSize: 32 << 20}
  		instance.goContextStack = utils.NewStackLock(100, 200,
  			func() interface{} {
  				return NewGoContext(instance)
  			})
  		instance.goMultipartFormStack = utils.NewStackLock(100, 200,
  			func() interface{} { return &GoMultipartForm{} })
  	}
  	c := &GoContext{Request: &GoRequest{Goheader: &GoHeader{}, Engine: instance}}
  	c.Response = &GoResponse{Goheader: &GoHeader{}, Request: c.Request, Engine: instance}
  	return c
  }
docs: // Create a new go context