water.webserver.iface.HttpServerFacade Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of h2o-webserver-iface Show documentation
Show all versions of h2o-webserver-iface Show documentation
Interface module isolating H2O functionality from specific HTTP server implementation. Exposes facade that needs to have exactly one implementation on runtime classpath.
The newest version!
package water.webserver.iface;
/**
* Facade for an HTTP server implementation. We typically use Jetty behind this; however, due to use of various major versions,
* we cannot afford anymore to depend on Jetty directly; the changes between its major versions are as significant
* as if it was a completely different webserver.
*
* This interface is supposed to hide all those dependencies.
*/
public interface HttpServerFacade {
/**
* @param h2oHttpView a partial view of H2O's functionality
* @return a new instance of web server adapter
*/
WebServer createWebServer(H2OHttpView h2oHttpView);
/**
* @param h2oHttpView a partial view of H2O's functionality
* @param credentials -
* @param proxyTo -
* @return a new instance of web proxy adapter
*/
ProxyServer createProxyServer(H2OHttpView h2oHttpView, Credentials credentials, String proxyTo);
}