proxyObj.ServeHTTP(resp, req) Eventually(logger).Should(Say("error")) Eventually(logger).Should(Say("route-endpoint")) }) }) Context("Log response time", func() { It("logs response time for HTTP connections", func() { body := []byte("some body") req := test_util.NewRequest("GET", "some-app", "/", bytes.NewReader(body)) resp := httptest.NewRecorder() proxyObj.ServeHTTP(resp, req) Expect(fakeAccessLogger.LogCallCount()).To(Equal(1)) Expect(fakeAccessLogger.LogArgsForCall(0).FinishedAt).NotTo(Equal(time.Time{})) }) It("logs response time for TCP connections", func() { req := test_util.NewRequest("UPGRADE", "some-app", "/", nil) req.Header.Set("Upgrade", "tcp") req.Header.Set("Connection", "upgrade") resp := httptest.NewRecorder() proxyObj.ServeHTTP(resp, req) Expect(fakeAccessLogger.LogCallCount()).To(Equal(1)) Expect(fakeAccessLogger.LogArgsForCall(0).FinishedAt).NotTo(Equal(time.Time{})) }) It("logs response time for Web Socket connections", func() {