func mux(stats statsd.Statter, responderPath string, source cfocsp.Source) http.Handler { m := http.StripPrefix(responderPath, cfocsp.NewResponder(source)) h := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { if r.Method == "GET" && r.URL.Path == "/" { w.Header().Set("Cache-Control", "max-age=43200") // Cache for 12 hours w.WriteHeader(200) return } m.ServeHTTP(w, r) }) return metrics.NewHTTPMonitor(stats, h, "OCSP") }
func (s *stapled) initResponder(httpAddr string, logger *log.Logger) { cflog.SetLogger(&log.ResponderLogger{logger}) m := http.StripPrefix("/", cfocsp.NewResponder(s)) h := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { // hack to make monitors that just check / returns a 200 are satisfied if r.Method == "GET" && r.URL.Path == "/" { w.Header().Set("Cache-Control", "max-age=43200") // Cache for 12 hours w.WriteHeader(200) return } m.ServeHTTP(w, r) }) s.responder = &http.Server{ Addr: httpAddr, Handler: h, } }