added enlapsed time to make the query on document.

This commit is contained in:
didier.amyot committed 2014-05-26 13:36:55 -04:00
1 parent 14ce42475e
commit abcff05635
3 files changed
+15

No files matched your search

@@ -25,6 +25,7 @@ root.controllers.controller('documentCtrl', ['$scope', '$routeParams', '$locatio
util.get(url).then((res) -> util.get(url).then((res) ->
$scope.doc = res.data.document $scope.doc = res.data.document
$scope.meta = res.data.meta $scope.meta = res.data.meta
$scope.enlapsed_time = res.data.enlapsed_time
).catch( (res) -> ).catch( (res) ->
if res.data.error == "not found" if res.data.error == "not found"
$scope.notfound = true $scope.notfound = true
+5
View File
@@ -41,3 +41,8 @@
</div> </div>
</div> </div>
<div class="row" ng-show="enlapsed_time">
<div class="columns large-12" style="text-align: center;">
took {{enlapsed_time}} seconds
</div>
</div>
+9
View File
@@ -4,6 +4,7 @@ import (
"encoding/json" "encoding/json"
"log" "log"
"net/http" "net/http"
"time"
) )
type errorWrapper struct { type errorWrapper struct {
@@ -12,9 +13,17 @@ type errorWrapper struct {
type ApiHandler func(w http.ResponseWriter, request *http.Request) (interface{}, error) 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) { func (this ApiHandler) ServeHTTP(w http.ResponseWriter, request *http.Request) {
log.Println("request for", request.URL) log.Println("request for", request.URL)
t := time.Now()
ret, err := this(w, request) ret, err := this(w, request)
this.addEnlapsedTimeIfPossible(time.Since(t), ret)
if err != nil { if err != nil {
log.Println(err) log.Println(err)
ret = &errorWrapper{err.Error()} ret = &errorWrapper{err.Error()}