@@ -22,7 +22,7 @@ const (
2222 startupTime = time .Millisecond * 500
2323)
2424
25- func newMetricsHandler (readyServer * ReadyServer ) * mux.Router {
25+ func newMetricsHandler (readyServer * ReadyServer , quickTunnelHostname string ) * mux.Router {
2626 router := mux .NewRouter ()
2727 router .PathPrefix ("/debug/" ).Handler (http .DefaultServeMux )
2828
@@ -33,6 +33,9 @@ func newMetricsHandler(readyServer *ReadyServer) *mux.Router {
3333 if readyServer != nil {
3434 router .Handle ("/ready" , readyServer )
3535 }
36+ router .HandleFunc ("/quicktunnel" , func (w http.ResponseWriter , r * http.Request ) {
37+ _ , _ = fmt .Fprintf (w , `{"hostname":"%s"}` , quickTunnelHostname )
38+ })
3639
3740 return router
3841}
@@ -41,14 +44,15 @@ func ServeMetrics(
4144 l net.Listener ,
4245 shutdownC <- chan struct {},
4346 readyServer * ReadyServer ,
47+ quickTunnelHostname string ,
4448 log * zerolog.Logger ,
4549) (err error ) {
4650 var wg sync.WaitGroup
4751 // Metrics port is privileged, so no need for further access control
4852 trace .AuthRequest = func (* http.Request ) (bool , bool ) { return true , true }
4953 // TODO: parameterize ReadTimeout and WriteTimeout. The maximum time we can
5054 // profile CPU usage depends on WriteTimeout
51- h := newMetricsHandler (readyServer )
55+ h := newMetricsHandler (readyServer , quickTunnelHostname )
5256 server := & http.Server {
5357 ReadTimeout : 10 * time .Second ,
5458 WriteTimeout : 10 * time .Second ,
0 commit comments