diff --git a/client/coffee/controllers/documentCtrl.coffee b/client/coffee/controllers/documentCtrl.coffee
index 33e42ec..36ed69f 100644
--- a/client/coffee/controllers/documentCtrl.coffee
+++ b/client/coffee/controllers/documentCtrl.coffee
@@ -25,6 +25,7 @@ root.controllers.controller('documentCtrl', ['$scope', '$routeParams', '$locatio
util.get(url).then((res) ->
$scope.doc = res.data.document
$scope.meta = res.data.meta
+ $scope.enlapsed_time = res.data.enlapsed_time
).catch( (res) ->
if res.data.error == "not found"
$scope.notfound = true
diff --git a/client/partials/document.html b/client/partials/document.html
index 01805f2..3b8cd81 100644
--- a/client/partials/document.html
+++ b/client/partials/document.html
@@ -41,3 +41,8 @@
+
+
+ took {{enlapsed_time}} seconds
+
+
\ No newline at end of file
diff --git a/handlerWrapper.go b/handlerWrapper.go
index e3e1d41..d3f92f7 100644
--- a/handlerWrapper.go
+++ b/handlerWrapper.go
@@ -4,6 +4,7 @@ import (
"encoding/json"
"log"
"net/http"
+ "time"
)
type errorWrapper struct {
@@ -12,9 +13,17 @@ type errorWrapper struct {
type ApiHandler func(w http.ResponseWriter, request *http.Request) (interface{}, error)
+func (this ApiHandler) addEnlapsedTimeIfPossible(enlapsedTime time.Duration, obj interface{}) {
+ if dict, ok := obj.(map[string]interface{}); ok {
+ dict["enlapsed_time"] = enlapsedTime.Seconds()
+ }
+
+}
func (this ApiHandler) ServeHTTP(w http.ResponseWriter, request *http.Request) {
log.Println("request for", request.URL)
+ t := time.Now()
ret, err := this(w, request)
+ this.addEnlapsedTimeIfPossible(time.Since(t), ret)
if err != nil {
log.Println(err)
ret = &errorWrapper{err.Error()}