From bdd32f152d73f31beffa854fb7382072043ef235 Mon Sep 17 00:00:00 2001
From: FuXiaoHei <fuxiaohei@hexiaz.com>
Date: Sun, 23 Mar 2014 13:48:01 +0800
Subject: [PATCH] add m.NotFound handler

---
 routers/dashboard.go | 7 +++++++
 web.go               | 3 +++
 2 files changed, 10 insertions(+)

diff --git a/routers/dashboard.go b/routers/dashboard.go
index f61d67b7de..dafe9f31ec 100644
--- a/routers/dashboard.go
+++ b/routers/dashboard.go
@@ -20,5 +20,12 @@ func Home(ctx *middleware.Context) {
 
 func Help(ctx *middleware.Context) {
 	ctx.Data["PageIsHelp"] = true
+	ctx.Data["Title"] = "Help"
 	ctx.HTML(200, "help")
 }
+
+func NotFound(ctx *middleware.Context) {
+	ctx.Data["PageIsNotFound"] = true
+	ctx.Data["Title"] = 404
+	ctx.Handle(404, "home.NotFound", nil)
+}
diff --git a/web.go b/web.go
index bf654aace2..a0f9f7051a 100644
--- a/web.go
+++ b/web.go
@@ -163,6 +163,9 @@ func runWeb(*cli.Context) {
 		m.Get("/template/**", dev.TemplatePreview)
 	}
 
+	// not found handler
+	m.NotFound(routers.NotFound)
+
 	listenAddr := fmt.Sprintf("%s:%s",
 		base.Cfg.MustValue("server", "HTTP_ADDR"),
 		base.Cfg.MustValue("server", "HTTP_PORT", "3000"))