package nf import ( "errors" "net/http" ) type Ctx struct { app *App Response http.ResponseWriter Request *http.Request Path string Method string Params map[string]string StatusCode int } func newCtx(a *App, w http.ResponseWriter, req *http.Request) *Ctx { return &Ctx{ app: a, Response: w, Request: req, Path: req.URL.Path, Method: req.Method, } } func (c *Ctx) Param(key string) string { value, _ := c.Params[key] return value } func (c *Ctx) Status(status int) *Ctx { if c.StatusCode != 0 { c.app.logger.Warn() } c.StatusCode = status return c } func (c *Ctx) SendStatus(status int) error { panic("impl this") } func (c *Ctx) SendString(value string) error { _, err := c.Response.Write([]byte(value)) _ = err return errors.New(value) }