diff --git a/htrace-core/src/go/src/org/apache/htrace/htraced/rest.go b/htrace-core/src/go/src/org/apache/htrace/htraced/rest.go index 2abf38b..5bcdeed 100644 --- a/htrace-core/src/go/src/org/apache/htrace/htraced/rest.go +++ b/htrace-core/src/go/src/org/apache/htrace/htraced/rest.go @@ -23,10 +23,12 @@ import ( "encoding/json" "io" "log" + "mime" "net/http" "org/apache/htrace/common" "org/apache/htrace/conf" "org/apache/htrace/resource" + "path/filepath" "strconv" "strings" ) @@ -186,6 +188,10 @@ func (hand *defaultServeHandler) ServeHTTP(w http.ResponseWriter, req *http.Requ if ident == "" { ident = "index.html" // default to index.html } + + file_ext := filepath.Ext(req.URL.Path) + mime_type := mime.TypeByExtension(file_ext) + ident = strings.Replace(ident, "/", "__", -1) rsc := resource.Catalog[ident] if rsc == nil { @@ -193,6 +199,7 @@ func (hand *defaultServeHandler) ServeHTTP(w http.ResponseWriter, req *http.Requ w.WriteHeader(http.StatusNotFound) return } + w.Header().Set("Content-Type", mime_type) w.Write(rsc) }