@@ -70,6 +70,11 @@ func NewSegmentReverseProxy(cdn *url.URL, trackingAPI *url.URL, urlPrefix string
7070 return & httputil.ReverseProxy {Director : director }
7171}
7272
73+ func healthHandler (w http.ResponseWriter , r * http.Request ) {
74+ w .WriteHeader (http .StatusOK )
75+ w .Write ([]byte ("ready" ))
76+ }
77+
7378var port = flag .String ("port" , "8080" , "bind address" )
7479var debug = flag .Bool ("debug" , false , "debug mode" )
7580var urlPrefix = flag .String ("url-prefix" , "/" , "URL prefix to strip from requests (can also use URL_PREFIX env var)" )
@@ -89,11 +94,16 @@ func main() {
8994 if urlPrefixEnv != "" && * urlPrefix == "/" {
9095 * urlPrefix = urlPrefixEnv
9196 }
97+
98+ mux := http .NewServeMux ()
99+ mux .HandleFunc ("/_health" , healthHandler )
100+
92101 proxy := NewSegmentReverseProxy (cdnURL , trackingAPIURL , * urlPrefix )
93102 if * debug {
94103 proxy = handlers .LoggingHandler (os .Stdout , proxy )
95104 log .Printf ("serving proxy at port %v with prefix %s\n " , * port , * urlPrefix )
96105 }
97106
98- log .Fatal (http .ListenAndServe (":" + * port , proxy ))
107+ mux .Handle ("/" , proxy )
108+ log .Fatal (http .ListenAndServe (":" + * port , mux ))
99109}
0 commit comments