cerner / beadledom

A simple, composable framework for building RESTful services
http://engineering.cerner.com/beadledom
Apache License 2.0
25 stars 30 forks source link

Add ContainerRequestFilter to properly support services running behind proxies #149

Closed nab0310 closed 5 years ago

nab0310 commented 5 years ago

What was changed? Why is this necessary?

If the service consuming beadledom was using swagger 2 and https behind a reverse-proxy or load balancer, it would fail to load the api-docs of that service because it made the request over http. This PR introduces a ContainerRequestFilter that reads the request context and determines if it originated from a secure context.

An integration module was also added to test these changes. The module uses a simple service and a reverse proxy to properly test the changes.

This PR is an update to https://github.com/cerner/beadledom/pull/137 and references the issue https://github.com/cerner/beadledom/issues/131

How was it tested?

mvn clean install

The new integration module directly tests the added functionality.

How to test

This is bare minimum acceptable testing

johnlcox commented 5 years ago

Add an entry to the changelog.

nab0310 commented 5 years ago

Add an entry to the changelog.

Added: https://github.com/cerner/beadledom/pull/149/commits/0bb084b91c13cd5b595223d33244b4bb9b9d1421

I'm not too solid on the actual sentence surrounding the ForwardedHeaderFilter so some feedback would be appreciated there.