Exemplo n.º 1
0
		fakeResponseWriter = &fakes.FakeResponseWriter{}
		fakeHandler = &fakes.FakeHandler{}
		fakeLogger = &fakes.FakeLogger{}
	})

	It("should not log credentials", func() {
		loggerMiddleware := middleware.NewLogger(fakeLogger)
		loggerHandler := loggerMiddleware.Wrap(fakeHandler)

		loggerHandler.ServeHTTP(fakeResponseWriter, dummyRequest)

		Expect(fakeLogger.DebugCallCount()).To(Equal(1))
		_, arg1 := fakeLogger.DebugArgsForCall(0)
		loggedRequest := arg1[0]["request"].(middleware.LoggableHTTPRequest)
		Expect(loggedRequest.Header.Get("Authorization")).To(Equal(""))
	})

	It("should call next handler", func() {
		loggerMiddleware := middleware.NewLogger(fakeLogger)
		loggerHandler := loggerMiddleware.Wrap(fakeHandler)

		loggerHandler.ServeHTTP(fakeResponseWriter, dummyRequest)

		Expect(fakeHandler.ServeHTTPCallCount()).To(Equal(1))
		arg0, arg1 := fakeHandler.ServeHTTPArgsForCall(0)
		Expect(arg0).ToNot(BeNil())
		Expect(arg1).To(Equal(dummyRequest))
	})
})
Exemplo n.º 2
0
		enforcer := middleware.NewHTTPSEnforcer(httpsPort)

		wrappedMiddleware = enforcer.Wrap(fakeHandler)
	})

	Context("when the URL is valid", func() {
		BeforeEach(func() {
			var err error
			request, err = http.NewRequest("GET", "http://localhost/foo/bar", nil)
			Expect(err).NotTo(HaveOccurred())
		})

		It("does not call next middleware", func() {
			wrappedMiddleware.ServeHTTP(writer, request)

			Expect(fakeHandler.ServeHTTPCallCount()).To(BeZero())
		})

		It("redirects to https", func() {
			wrappedMiddleware.ServeHTTP(writer, request)

			Expect(writer.Code).To(Equal(http.StatusFound))
			expectedURL := fmt.Sprintf("https://localhost:%d/foo/bar", httpsPort)
			Expect(writer.HeaderMap.Get("Location")).To(Equal(expectedURL))
		})
	})

	Context("when the URL is invalid", func() {
		BeforeEach(func() {
			var err error
			request, err = http.NewRequest("GET", "http://localhost/foo/bar", nil)