22
33import static com .retailsvc .http .Handlers .notFoundHandler ;
44import static java .lang .Thread .ofVirtual ;
5+ import static java .util .Objects .isNull ;
56import static java .util .Objects .requireNonNull ;
6- import static java .util .Objects .requireNonNullElseGet ;
77import static java .util .concurrent .Executors .newThreadPerTaskExecutor ;
88
99import com .retailsvc .http .openapi .OpenApiValidationFilter ;
@@ -70,11 +70,19 @@ public OpenApiServer(
7070 requireNonNull (specification , "OpenAPI specification must not be null" );
7171 requireNonNull (jsonMapper , "Request body mapper must not be null" );
7272 requireNonNull (requestHandlers , "Request handlers must not be null" );
73- ExceptionHandler errorHandler =
74- requireNonNullElseGet (exceptionHandler , Handlers ::defaultExceptionHandler );
73+
74+ if (isNull (exceptionHandler )) {
75+ LOG .warn ("No exception handler set, using default." );
76+ exceptionHandler = Handlers .defaultExceptionHandler ();
77+ }
7578
7679 httpServer =
77- initializeServer (httpPort , specification , jsonMapper , requestHandlers , errorHandler , t0 );
80+ initializeServer (
81+ httpPort , specification , jsonMapper , requestHandlers , exceptionHandler , t0 );
82+ }
83+
84+ public int listenPort () {
85+ return httpServer .getAddress ().getPort ();
7886 }
7987
8088 private HttpServer initializeServer (
@@ -94,7 +102,7 @@ private HttpServer initializeServer(
94102 filters .add (new BodyHandler ());
95103 filters .add (new OpenApiValidationFilter (specification , jsonMapper ));
96104
97- context .setHandler (new RequestDispatchingHandler (specification , requestHandlers ));
105+ context .setHandler (new RequestDispatchingHandler (requestHandlers ));
98106
99107 server .createContext ("/" , notFoundHandler ());
100108 server .start ();
0 commit comments