35 lines
866 B
Go
35 lines
866 B
Go
package main
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
"github.com/flosch/pongo2"
|
|
"github.com/zenazn/goji/web"
|
|
)
|
|
|
|
var indexTpl = pongo2.Must(pongo2.FromCache("templates/index.html"))
|
|
var notFoundTpl = pongo2.Must(pongo2.FromCache("templates/404.html"))
|
|
var oopsTpl = pongo2.Must(pongo2.FromCache("templates/oops.html"))
|
|
|
|
func indexHandler(c web.C, w http.ResponseWriter, r *http.Request) {
|
|
err := indexTpl.ExecuteWriter(pongo2.Context{}, w)
|
|
if err != nil {
|
|
http.Error(w, err.Error(), http.StatusInternalServerError)
|
|
}
|
|
}
|
|
|
|
func notFoundHandler(c web.C, w http.ResponseWriter, r *http.Request) {
|
|
w.WriteHeader(404)
|
|
err := notFoundTpl.ExecuteWriter(pongo2.Context{}, w)
|
|
if err != nil {
|
|
oopsHandler(c, w, r)
|
|
}
|
|
}
|
|
|
|
func oopsHandler(c web.C, w http.ResponseWriter, r *http.Request) {
|
|
err := oopsTpl.ExecuteWriter(pongo2.Context{}, w)
|
|
if err != nil {
|
|
oopsHandler(c, w, r)
|
|
}
|
|
}
|