HTRACE-98. Web Server should use PrefixHandler (Abraham Elmahrek via Colin P. McCabe)
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 39e5744..3ecb14b 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
@@ -221,6 +221,7 @@
ident = "index.html" // default to index.html
}
ident = strings.Replace(ident, "/", "__", -1)
+ hand.lg.Debugf("defaultServeHandler(path=%s, ident=%s)\n", req.URL.Path, ident)
rsc := resource.Catalog[ident]
if rsc == "" {
hand.lg.Warnf("failed to find entry for %s\n", ident)
@@ -254,8 +255,6 @@
rsv.lg = common.NewLogger("rest", cnf)
r := mux.NewRouter().StrictSlash(false)
- // Default Handler. This will serve requests for static requests.
- r.Handle("/", &defaultServeHandler{lg: rsv.lg})
r.Handle("/server/info", &serverInfoHandler{lg: rsv.lg}).Methods("GET")
@@ -274,6 +273,9 @@
lg: rsv.lg}}
span.Handle("/{id}/children", findChildrenH).Methods("GET")
+ // Default Handler. This will serve requests for static requests.
+ r.PathPrefix("/").Handler(&defaultServeHandler{lg: rsv.lg}).Methods("GET")
+
go http.Serve(rsv.listener, r)
rsv.lg.Infof("Started REST server on %s...\n", rsv.listener.Addr().String())