Refactor the implementation using java.net with OkHttp.
The current HTTP client has various issues. Instead of pathing the existing implementations, it's better to use another client library. OkHTTPClient is one of the most popular one and it's used by PinDeploy and Spinnaker.
Improvements
Observability for outgoing requests.
1 shared connection pool managed by OkHttp instead of many ad-hoc connections.
Exponential backup retry on certain failures.
Logging with configurable level and sensitive header redaction.
Moved to universal so Rodimus can use the same implementation
Tests and validations
Thanks to the added observability, it's very easy to know and monitor if this refactoring is working in addition to the unit tests.
Smoke tests
Deploy both service and worker to dev1 and ensure these are working
Refactor the implementation using java.net with OkHttp.
The current HTTP client has various issues. Instead of pathing the existing implementations, it's better to use another client library. OkHTTPClient is one of the most popular one and it's used by PinDeploy and Spinnaker.
Improvements
Tests and validations
Thanks to the added observability, it's very easy to know and monitor if this refactoring is working in addition to the unit tests.
Smoke tests
Deploy both service and worker to dev1 and ensure these are working
Additional details
Various logging levels
Basic
Body and header
Metrics