/** * @param serverFactory a target implementation server class * @param configuringFunction a factory to build server configuration (see also {@link HttpServerFactory} * @param <IN> incoming data type * @param <OUT> outgoing data type * @return a simple HTTP server */ public static <IN, OUT> HttpServer<IN, OUT> httpServer( Class<? extends HttpServer> serverFactory, Function<? super Spec.HttpServerSpec<IN, OUT>, ? extends Spec.HttpServerSpec<IN, OUT>> configuringFunction ) { return configuringFunction.apply(new Spec.HttpServerSpec<IN, OUT>(serverFactory)).get(); }