summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--grimtube.go36
-rw-r--r--templates/error.html7
2 files changed, 30 insertions, 13 deletions
diff --git a/grimtube.go b/grimtube.go
index a48e00e..9851c8d 100644
--- a/grimtube.go
+++ b/grimtube.go
@@ -25,10 +25,9 @@ func serve(w http.ResponseWriter, templatePath string, data interface{}) {
panic(err)
} else {
if err := t.Execute(w, data); err != nil {
- log.Fatal(err)
+ log.Println(err)
}
}
- //log.Println(err)
}
func index(w http.ResponseWriter, r *http.Request) {
@@ -56,17 +55,24 @@ func search(w http.ResponseWriter, r *http.Request) {
items, err := ytparser.Search(term, page)
if err != nil {
log.Println(err)
+ data := struct {
+ Error error
+ }{
+ err,
+ }
+ serve(w, "templates/error.html", data)
+ } else {
+ data := struct {
+ Items []ytparser.Item
+ Term string
+ Page int
+ }{
+ items,
+ term,
+ page,
+ }
+ serve(w, "templates/search.html", data)
}
- data := struct {
- Items []ytparser.Item
- Term string
- Page int
- }{
- items,
- term,
- page,
- }
- serve(w, "templates/search.html", data)
default:
}
}
@@ -81,13 +87,17 @@ func embed(w http.ResponseWriter, r *http.Request) {
}
}
+func favicon(w http.ResponseWriter, r *http.Request) {
+ http.ServeFile(w, r, "favicon.ico")
+}
+
func main() {
fs := http.FileServer(http.Dir("static"))
http.Handle("/static/", http.StripPrefix("/static/", fs))
+ http.HandleFunc("/favicon.ico", favicon)
http.HandleFunc("/", index)
http.HandleFunc("/search", search)
http.HandleFunc("/embed", embed)
-
log.Fatal(http.ListenAndServe(":8080", nil))
}
diff --git a/templates/error.html b/templates/error.html
new file mode 100644
index 0000000..202e53a
--- /dev/null
+++ b/templates/error.html
@@ -0,0 +1,7 @@
+{{define "title"}}Index{{end}}
+{{define "content"}}
+ <div id="error">
+ <p>Error: {{.Error}}</p>
+ <p>Please try refreshing</p>
+ </div>
+{{end}}