// Implement a GET handler that panics func (p *Panic) Get(c *yarf.Context) error { c.Render("I'm panicking!") panic("Totally panicking!") return nil }
// Get implements a GET handler that panics func (p *Panic) Get(c *yarf.Context) error { c.Render("I'm panicking!") panic("Totally panicking!") // The next line is unreachable (govet) //return nil }
// Render reads the content of the path built using the name param together with the object properties. // It outputs the content of the readed file or returns an error if that fails. func (l *LayoutMiddleware) Render(name string, c *yarf.Context) error { content, err := l.Cached(l.TplPath + "/" + l.TplName + "/layout/" + name + ".tpl") if err != nil { return yarf.ErrorNotFound() } c.Render(content) return nil }
// Get implements the GET handler with optional name parameter func (h *HelloV2) Get(c *yarf.Context) error { name := c.Param("name") salute := "(v2) Hello" if name != "" { salute += ", " + name } salute += "!" c.Render(salute) return nil }
// Render reads the content of the path built using the c.URL.Path together with the object's TplPath. // It outputs the content of the readed file or returns an error if that fails. func (v *ViewResource) Render(c *yarf.Context) error { pre, err := v.Cached(v.TplPath + "/" + v.TplName + "/layout/pre.tpl") if err != nil { return yarf.ErrorNotFound() } content, err := v.Cached(v.TplPath + "/" + v.TplName + "/view" + strings.TrimSuffix(c.Request.URL.EscapedPath(), "/") + ".tpl") if err != nil { // Try index.tpl content, err = v.Cached(v.TplPath + "/" + v.TplName + "/view" + strings.TrimSuffix(c.Request.URL.EscapedPath(), "/") + "/index.tpl") if err != nil { return yarf.ErrorNotFound() } } post, err := v.Cached(v.TplPath + "/" + v.TplName + "/layout/post.tpl") if err != nil { return yarf.ErrorNotFound() } c.Render(pre) c.Render(content) c.Render(post) return nil }
func (y *YarfParam) Get(c *yarf.Context) error { c.Render("Hello, " + c.Param("name")) return nil }
func (y *YarfMulti) Get(c *yarf.Context) error { c.Render("Hello " + c.Param("name1") + "," + c.Param("name2") + "," + c.Param("name3") + "," + c.Param("name4")) return nil }
func (y *YarfHello) Get(c *yarf.Context) error { c.Render("Hello world!") return nil }
// PostDispatch includes code to be executed after every Resource request. func (m *HelloMiddleware) PostDispatch(c *yarf.Context) error { c.Render("\n\nGoodbye from middleware!") return nil }
// PreDispatch renders a hardcoded string func (m *HelloMiddleware) PreDispatch(c *yarf.Context) error { c.Render("Hello from middleware! \n\n") return nil }
func (m *ExtraMiddleware) PostDispatch(c *yarf.Context) error { c.Render("\n\nExtra from nested middleware!") return nil }