diff --git a/containers/grizzly2-http/src/main/java/org/glassfish/jersey/grizzly2/httpserver/GrizzlyHttpServerFactory.java b/containers/grizzly2-http/src/main/java/org/glassfish/jersey/grizzly2/httpserver/GrizzlyHttpServerFactory.java index ee2a58324b..4164e3a40e 100644 --- a/containers/grizzly2-http/src/main/java/org/glassfish/jersey/grizzly2/httpserver/GrizzlyHttpServerFactory.java +++ b/containers/grizzly2-http/src/main/java/org/glassfish/jersey/grizzly2/httpserver/GrizzlyHttpServerFactory.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, 2019 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2022 Oracle and/or its affiliates. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -191,6 +191,31 @@ public static HttpServer createHttpServer(final URI uri, true); } + /** + * Create new {@link HttpServer} instance. + * + * @param uri uri on which the {@link ApplicationHandler} will be deployed. Only first path + * segment will be used as context path, the rest will be ignored. + * @param config web application configuration. + * @param secure used for call {@link NetworkListener#setSecure(boolean)}. + * @param sslEngineConfigurator Ssl settings to be passed to {@link NetworkListener#setSSLEngineConfig}. + * @param parentContext DI provider specific context with application's registered bindings. + * @param start if set to false, server will not get started, this allows end users to set + * additional properties on the underlying listener. + * @return newly created {@code HttpServer}. + * @throws ProcessingException in case of any failure when creating a new {@code HttpServer} instance. + * @see GrizzlyHttpContainer + * @since 2.37 + */ + public static HttpServer createHttpServer(final URI uri, + final ResourceConfig config, + final boolean secure, + final SSLEngineConfigurator sslEngineConfigurator, + final Object parentContext, + final boolean start) { + return createHttpServer(uri, new GrizzlyHttpContainer(config, parentContext), secure, sslEngineConfigurator, start); + } + /** * Create new {@link HttpServer} instance. * @@ -209,6 +234,27 @@ public static HttpServer createHttpServer(final URI uri, return createHttpServer(uri, new GrizzlyHttpContainer(config, parentContext), false, null, true); } + /** + * Create new {@link HttpServer} instance. + * + * @param uri uri on which the {@link ApplicationHandler} will be deployed. Only first path + * segment will be used as context path, the rest will be ignored. + * @param config web application configuration. + * @param parentContext DI provider specific context with application's registered bindings. + * @param start if set to false, server will not get started, this allows end users to set + * additional properties on the underlying listener. + * @return newly created {@code HttpServer}. + * @throws ProcessingException in case of any failure when creating a new {@code HttpServer} instance. + * @see GrizzlyHttpContainer + * @since 2.37 + */ + public static HttpServer createHttpServer(final URI uri, + final ResourceConfig config, + final Object parentContext, + final boolean start) { + return createHttpServer(uri, new GrizzlyHttpContainer(config, parentContext), false, null, start); + } + /** * Create new {@link HttpServer} instance. *