Interface WebServer

    • Method Detail

      • configuration

        ServerConfiguration configuration()
        Gets effective server configuration.
        Returns:
        Server configuration
      • start

        CompletionStage<WebServer> start()
        Starts the server. Has no effect if server is running.
        Returns:
        a completion stage of starting tryProcess
      • whenShutdown

        CompletionStage<WebServer> whenShutdown()
        Completion stage is completed when server is shut down.
        Returns:
        a completion stage of the server
      • shutdown

        CompletionStage<WebServer> shutdown()
        Attempt to gracefully shutdown server. It is possible to use returned CompletionStage to react.

        RequestMethod can be called periodically.

        Returns:
        to react on finished shutdown tryProcess
        See Also:
        start()
      • isRunning

        boolean isRunning()
        Returns true if the server is currently running. Running server in stopping phase returns true until it is not fully stopped.
        Returns:
        true if server is running
      • port

        default int port()
        Returns a port number the default server socket is bound to and is listening on; or -1 if unknown or not active.

        It is supported only when server is running.

        Returns:
        a listen port; or -1 if unknown or the default server socket is not active
      • port

        int port​(String socketName)
        Returns a port number an additional named server socket is bound to and is listening on; or -1 if unknown or not active.
        Parameters:
        socketName - the name of an additional named server socket
        Returns:
        a listen port; or -1 if socket name is unknown or the server socket is not active
      • create

        static WebServer create​(Supplier<? extends ServerConfiguration> configurationBuilder,
                                Routing routing)
        Creates a new instance from a provided configuration and a routing.
        Parameters:
        configurationBuilder - a server configuration builder that will be built as a first step of this method execution; may be null
        routing - a routing instance
        Returns:
        a new web server instance
        Throws:
        IllegalStateException - if none SPI implementation found
        NullPointerException - if 'routing' parameter is null
      • create

        static WebServer create​(Supplier<? extends ServerConfiguration> configurationBuilder,
                                Supplier<? extends Routing> routingBuilder)
        Creates new instance form provided configuration and routing.
        Parameters:
        configurationBuilder - a server configuration builder that will be built as a first step of this method execution; may be null
        routingBuilder - a routing builder that will be built as a second step of this method execution
        Returns:
        a new web server instance
        Throws:
        IllegalStateException - if none SPI implementation found
        NullPointerException - if 'routingBuilder' parameter is null
      • create

        static WebServer create​(ServerConfiguration configuration,
                                Supplier<? extends Routing> routingBuilder)
        Creates new instance form provided configuration and routing.
        Parameters:
        configuration - a server configuration instance
        routingBuilder - a routing builder that will be built as a second step of this method execution
        Returns:
        a new web server instance
        Throws:
        IllegalStateException - if none SPI implementation found
        NullPointerException - if 'routingBuilder' parameter is null
      • create

        static WebServer create​(Routing routing)
        Creates new instance form provided routing and default configuration.
        Parameters:
        routing - a routing instance
        Returns:
        a new web server instance
        Throws:
        IllegalStateException - if none SPI implementation found
        NullPointerException - if 'routing' parameter is null
      • create

        static WebServer create​(ServerConfiguration configuration,
                                Routing routing)
        Creates new instance form provided configuration and routing.
        Parameters:
        configuration - a server configuration instance
        routing - a routing instance
        Returns:
        a new web server instance
        Throws:
        IllegalStateException - if none SPI implementation found
        NullPointerException - if 'routing' parameter is null
      • create

        static WebServer create​(Supplier<? extends Routing> routingBuilder)
        Creates new instance form provided routing and default configuration.
        Parameters:
        routingBuilder - a routing builder instance that will be built as a first step of this method execution
        Returns:
        a new web server instance
        Throws:
        IllegalStateException - if none SPI implementation found
        NullPointerException - if 'routing' parameter is null
      • builder

        static WebServer.Builder builder​(Supplier<? extends Routing> routingBuilder)
        Creates a builder of the WebServer.
        Parameters:
        routingBuilder - the routing builder; must not be null
        Returns:
        the builder
      • builder

        static WebServer.Builder builder​(Routing routing)
        Creates a builder of the WebServer.
        Parameters:
        routing - the routing; must not be null
        Returns:
        the builder