about summary refs log tree commit diff
diff options
context:
space:
mode:
authorFranck Cuny <franck@lumberjaph.net>2013-04-21 16:38:11 -0700
committerFranck Cuny <franck@lumberjaph.net>2013-04-21 16:38:11 -0700
commit1fadb46a69a21cbac98ee11b4575b2b563f98394 (patch)
tree43969515a25ad5337959dcfa3b72e983ec014bc0
parentNormalize the name of captured components. (diff)
downloadpath-router-1fadb46a69a21cbac98ee11b4575b2b563f98394.tar.gz
Add a constructor to create the Request object.
Some logic will be needed to create this object, it's easier to do that
with a constructor.
-rw-r--r--mooh.go7
-rw-r--r--request.go7
2 files changed, 9 insertions, 5 deletions
diff --git a/mooh.go b/mooh.go
index 465caf5..a8858a6 100644
--- a/mooh.go
+++ b/mooh.go
@@ -19,12 +19,9 @@ func (self *Dispatcher) ServeHTTP(resp http.ResponseWriter, req *http.Request) {
 		return
 	}
 
-	request := Request{
-		match.Mapping,
-		req,
-	}
+	request := NewRequest(req, match)
 
-	nresp, error := match.Route.Execute(&request)
+	nresp, error := match.Route.Execute(request)
 
 	if error == nil {
 		fmt.Fprint(resp, nresp.Content)
diff --git a/request.go b/request.go
index 02ad2ba..d71d579 100644
--- a/request.go
+++ b/request.go
@@ -12,3 +12,10 @@ type Request struct {
 func (self *Request) Param(name string) string {
 	return self.params[name]
 }
+
+func NewRequest(req *http.Request, match *Match) *Request{
+	return &Request{
+		match.Mapping,
+		req,
+	}
+}