diff --git a/resolver-go/cmd/api-server/main.go b/resolver-go/cmd/api-server/main.go index 8d53463..bf03610 100644 --- a/resolver-go/cmd/api-server/main.go +++ b/resolver-go/cmd/api-server/main.go @@ -5,6 +5,7 @@ import ( "log" "net/http" "strings" + "time" "github.com/tgckpg/resolver-go/internal/closure" "github.com/tgckpg/resolver-go/internal/generated" @@ -62,6 +63,7 @@ func (h handler) index(w http.ResponseWriter, req *http.Request) { return } + timerStart := time.Now() res, err := h.r.ResolveRequest(code, outMode, nil) if err != nil { http.Error(w, err.Error(), http.StatusNotFound) @@ -72,6 +74,8 @@ func (h handler) index(w http.ResponseWriter, req *http.Request) { if compiled, ok := h.closure.Get(res.Hash); ok { w.Header().Set("Content-Type", "application/javascript") w.Header().Set("X-Botan-Compiled", "hit") + elapsed := time.Since(timerStart) + w.Header().Set("X-Botan-Resolve-Time", elapsed.String()) w.Write(compiled) return } @@ -110,5 +114,8 @@ func (h handler) index(w http.ResponseWriter, req *http.Request) { w.Header().Set("Content-Type", res.ContentType) w.Header().Set("X-Botan-Compiled", "miss") + elapsed := time.Since(timerStart) + w.Header().Set("X-Botan-Resolve-Time", elapsed.String()) + _, _ = w.Write(res.Content) }