use of org.apache.hc.core5.http.URIScheme in project httpcomponents-core by apache.
the class HttpAsyncServer method listen.
/**
* @since 5.1
*/
public Future<ListenerEndpoint> listen(final SocketAddress address, final URIScheme scheme, final Object attachment, final FutureCallback<ListenerEndpoint> callback) {
final InetSocketAddress inetSocketAddress = (InetSocketAddress) address;
final EndpointParameters parameters = new EndpointParameters(scheme.id, canonicalName != null ? canonicalName : "localhost", inetSocketAddress.getPort(), attachment);
return super.listen(address, parameters, callback);
}
use of org.apache.hc.core5.http.URIScheme in project httpcomponents-core by apache.
the class ServerHttpProtocolNegotiationStarter method createHandler.
@Override
public HttpConnectionEventHandler createHandler(final ProtocolIOSession ioSession, final Object attachment) {
HttpVersionPolicy endpointPolicy = versionPolicy;
URIScheme uriScheme = URIScheme.HTTP;
if (attachment instanceof EndpointParameters) {
final EndpointParameters params = (EndpointParameters) attachment;
if (tlsStrategy != null && URIScheme.HTTPS.same(params.getScheme())) {
uriScheme = URIScheme.HTTPS;
tlsStrategy.upgrade(ioSession, params, params.getAttachment(), handshakeTimeout, null);
}
if (params.getAttachment() instanceof HttpVersionPolicy) {
endpointPolicy = (HttpVersionPolicy) params.getAttachment();
}
}
ioSession.registerProtocol(ApplicationProtocol.HTTP_1_1.id, new ServerHttp1UpgradeHandler(http1StreamHandlerFactory));
ioSession.registerProtocol(ApplicationProtocol.HTTP_2.id, new ServerH2UpgradeHandler(http2StreamHandlerFactory));
switch(endpointPolicy) {
case FORCE_HTTP_2:
return new ServerH2PrefaceHandler(ioSession, http2StreamHandlerFactory);
case FORCE_HTTP_1:
return new ServerHttp1IOEventHandler(http1StreamHandlerFactory.create(uriScheme.id, ioSession));
default:
return new HttpProtocolNegotiator(ioSession, null);
}
}
Aggregations