about summary refs log tree commit diff
path: root/eg/base.go
diff options
context:
space:
mode:
authorFranck Cuny <franck@lumberjaph.net>2013-04-22 20:31:27 -0700
committerFranck Cuny <franck@lumberjaph.net>2013-04-22 20:31:27 -0700
commit9db26b5a38cf49dce6af6658dc217c320404d39a (patch)
treea7139d5f6f90f64fce4831004e5a2c58eb715e0a /eg/base.go
parentChange the interface to create routes. (diff)
downloadpath-router-9db26b5a38cf49dce6af6658dc217c320404d39a.tar.gz
Add a very simple exemple to the framework.
Diffstat (limited to 'eg/base.go')
-rw-r--r--eg/base.go71
1 files changed, 71 insertions, 0 deletions
diff --git a/eg/base.go b/eg/base.go
new file mode 100644
index 0000000..cca4e40
--- /dev/null
+++ b/eg/base.go
@@ -0,0 +1,71 @@
+package main
+
+import (
+	"github.com/franckcuny/mooh"
+	"net/http"
+)
+
+func TestId(req *mooh.Request) (mooh.Response, error) {
+	r := mooh.Response{
+		Status:  200,
+		Content: "id",
+	}
+	return r, nil
+}
+
+func TestIdFoo(req *mooh.Request) (mooh.Response, error) {
+	r := mooh.Response{
+		Status:  200,
+		Content: "foo",
+	}
+	return r, nil
+}
+
+func Test(req *mooh.Request) (mooh.Response, error) {
+	resp := mooh.Response{}
+	resp.Status = 200
+	resp.Content = "duh"
+	return resp, nil
+}
+
+func TestPut(req *mooh.Request) (mooh.Response, error) {
+	resp := mooh.Response{}
+	resp.Status = 200
+	resp.Content = "ok"
+	return resp, nil
+}
+
+func main() {
+	router := mooh.BuildDispatcher()
+
+	router.AddRoute(
+		&mooh.Route{
+			Method: "GET",
+			Path:   "/foo/bar/baz",
+			Code:   Test,
+		},
+	)
+	router.AddRoute(
+		&mooh.Route{
+			Method: "PUT",
+			Path:   "/foo/bar/baz",
+			Code:   TestPut,
+		},
+	)
+	router.AddRoute(
+		&mooh.Route{
+			Method: "GET",
+			Path:   "/test/:id",
+			Code:   TestId,
+		},
+	)
+	router.AddRoute(
+		&mooh.Route{
+			Method: "GET",
+			Path:   "/test/:id/foo",
+			Code:   TestIdFoo,
+		},
+	)
+
+	http.ListenAndServe(":8080", &router)
+}