use of org.littleshoot.proxy.SslEngineSource in project java-cloudant by cloudant.
the class HttpProxyTest method setupAndStartProxy.
/**
* Starts a littleproxy instance that will proxy the requests. Applies appropriate configuration
* options to the proxy based on the test parameters.
*
* @throws Exception
*/
@BeforeEach
public void setupAndStartProxy(final boolean okUsable, final boolean useSecureProxy, final boolean useHttpsServer, final boolean useProxyAuth) throws Exception {
HttpProxyServerBootstrap proxyBoostrap = DefaultHttpProxyServer.bootstrap().withAllowLocalOnly(// only run on localhost
true).withAuthenticateSslClients(// we aren't checking client certs
false);
if (useProxyAuth) {
// check the proxy user and password
ProxyAuthenticator pa = new ProxyAuthenticator() {
@Override
public boolean authenticate(String userName, String password) {
return (mockProxyUser.equals(userName) && mockProxyPass.equals(password));
}
@Override
public String getRealm() {
return null;
}
};
proxyBoostrap.withProxyAuthenticator(pa);
}
if (useSecureProxy) {
proxyBoostrap.withSslEngineSource(new SslEngineSource() {
@Override
public SSLEngine newSslEngine() {
return MockWebServerResources.getSSLContext().createSSLEngine();
}
@Override
public SSLEngine newSslEngine(String peerHost, int peerPort) {
return MockWebServerResources.getSSLContext().createSSLEngine(peerHost, peerPort);
}
});
}
// Start the proxy server
proxy = proxyBoostrap.start();
}
Aggregations