Description
General information
- SDK/Library version: All versions
- Environment: Sandbox and Production
- Language, language version, and OS: Java 17
Issue description
Currently, Braintree SDK uses java.net.URL
, java.net.HttpURLConnection
, and javax.net.ssl.HttpsURLConnection
classes as HTTP client. Unfortunately, those classes don't support HTTPS proxies. Please take a look at the example project that I've prepared here.
The example project demonstrates how different HTTP clients interact with an HTTPS proxy. It sets up an Apache HTTP Server as a proxy and provides example test cases for two different HTTP clients. Apache HTTP client works correctly via both HTTP and HTTPS ports, while Java one works correctly only via HTTP port.
I've prepared PR that makes HTTP client implementation in Braintree SDK configurable. Please take a look at it here.
In our case, HTTPS proxy is the recommended way of integration with our tokenization provider. Other Braintree clients may benefit from it as well.