diff --git a/config/config.go b/config/config.go index ac381def..5f8568d8 100644 --- a/config/config.go +++ b/config/config.go @@ -275,6 +275,8 @@ type Config struct { HTMLErrorTemplateFile string `yaml:"html_error_template_file,omitempty"` PerRequestMetricsReporting bool `yaml:"per_request_metrics_reporting,omitempty"` + + SendHttpStartStopServerEvent bool `yaml:"send_http_start_stop_server_event,omitempty"` } var defaultConfig = Config{ @@ -330,6 +332,8 @@ var defaultConfig = Config{ StickySessionCookieNames: StringSet{"JSESSIONID": struct{}{}}, PerRequestMetricsReporting: true, + + SendHttpStartStopServerEvent: true, } func DefaultConfig() (*Config, error) { diff --git a/config/config_test.go b/config/config_test.go index 0ae349a0..e8245845 100644 --- a/config/config_test.go +++ b/config/config_test.go @@ -628,6 +628,17 @@ backends: Expect(config.PerRequestMetricsReporting).To(BeFalse()) }) + It("defaults SendHttpStartStopServerEvent to true", func() { + Expect(config.SendHttpStartStopServerEvent).To(Equal(true)) + }) + + It("sets SendHttpStartStopServerEvent", func() { + var b = []byte(`send_http_start_stop_server_event: false`) + err := config.Initialize(b) + Expect(err).ToNot(HaveOccurred()) + Expect(config.SendHttpStartStopServerEvent).To(BeFalse()) + }) + }) Describe("Process", func() { diff --git a/proxy/proxy.go b/proxy/proxy.go index c691600d..a2914304 100644 --- a/proxy/proxy.go +++ b/proxy/proxy.go @@ -164,7 +164,9 @@ func NewProxy( n.Use(handlers.NewRequestInfo()) n.Use(handlers.NewProxyWriter(logger)) n.Use(handlers.NewVcapRequestIdHeader(logger)) - n.Use(handlers.NewHTTPStartStop(dropsonde.DefaultEmitter, logger)) + if cfg.SendHttpStartStopServerEvent { + n.Use(handlers.NewHTTPStartStop(dropsonde.DefaultEmitter, logger)) + } n.Use(handlers.NewAccessLog(accessLogger, headersToLog, logger)) n.Use(handlers.NewReporter(reporter, logger)) n.Use(handlers.NewHTTPRewriteHandler(cfg.HTTPRewrite, headersToAlwaysRemove))