package com.grendelscan.proxy; import java.net.Socket; public class ReverseProxy extends AbstractProxy { private final ReverseProxyConfig reverseConfig; public ReverseProxy(final ReverseProxyConfig config) { super(config); reverseConfig = config; } @Override protected GenericProxyRequestListenerThread createRequestListenerThread() { return new ReverseProxyRequestListenerThread(serverSocket, this); } @Override public String getName() { return "Reverse proxy for " + reverseConfig.getWebHostname() + " -> " + reverseConfig.getRemoteHost() + ":" + reverseConfig.getRemotePort() + " on " + reverseConfig.getBindIP() + ":" + reverseConfig.getBindPort(); } @Override public AbstractProxyRequestHandler getRequestHandler(final Socket socket, final boolean ssl, final int sslPort) { return new ReverseProxyRequestHandler(this); } public ReverseProxyConfig getReverseProxyConfig() { return reverseConfig; } @Override public boolean isSSL() { return false; } }