Interface HttpServerRegistry

  • All Superinterfaces:
    com.google.common.util.concurrent.Service
    All Known Implementing Classes:
    JettyHttpServerRegistry

    public interface HttpServerRegistry
    extends com.google.common.util.concurrent.Service
    Simple HTTP server registry service.

    Creates HTTP servers and registers handlers for context paths. For proper shutdown of all servers Service.stopAsync() should be called.

    • Nested Class Summary

      • Nested classes/interfaces inherited from interface com.google.common.util.concurrent.Service

        com.google.common.util.concurrent.Service.Listener, com.google.common.util.concurrent.Service.State
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      String initHttpServer​(String schemeAndAuthority)
      Creates an HTTP server at given URI.
      String registerContext​(String schemeAndAuthority, String contextPath, String mediaType, HttpHandler handler)
      Registers a handler for HTTP requests destined to the given scheme, authority and context path.
      String registerContext​(String schemeAndAuthority, String contextPath, HttpHandler handler)
      Registers a handler for SOAP messages for the given scheme, authority and context path.
      void unregisterContext​(String schemeAndAuthority, String contextPath)
      Removes a handler for the given scheme, authority and context path.
      • Methods inherited from interface com.google.common.util.concurrent.Service

        addListener, awaitRunning, awaitRunning, awaitRunning, awaitTerminated, awaitTerminated, awaitTerminated, failureCause, isRunning, startAsync, state, stopAsync
    • Method Detail

      • initHttpServer

        String initHttpServer​(String schemeAndAuthority)
        Creates an HTTP server at given URI.

        If there was no running HTTP server found under the passed scheme and authority, this function starts a new one. If the HTTP server supports both http and https schemes, the return value scheme will match the requested value.

        Parameters:
        schemeAndAuthority - the scheme and authority where to access the HTTP server. If port number is 0, then a random open port is selected and will be part of the returned URI.
        Returns:
        the actual assigned URI of the HTTP server.
      • registerContext

        String registerContext​(String schemeAndAuthority,
                               String contextPath,
                               HttpHandler handler)
        Registers a handler for SOAP messages for the given scheme, authority and context path.

        SOAP messages use the HTTP media type SoapConstants.MEDIA_TYPE_SOAP for request and response messages. If the HTTP server supports both http and https schemes, the return value scheme will match the requested value.

        Parameters:
        schemeAndAuthority - scheme and authority used to start a new or re-use an existing HTTP server.
        contextPath - the context path where the given registry shall listen to.
        Important note: the context path needs to start with a slash.
        handler - the handler callback that is invoked on a request to the given context path.
        Returns:
        the actual full path of the HTTP server address the given handler listens to.
        See Also:
        initHttpServer(String)
      • registerContext

        String registerContext​(String schemeAndAuthority,
                               String contextPath,
                               String mediaType,
                               HttpHandler handler)
        Registers a handler for HTTP requests destined to the given scheme, authority and context path.

        If the HTTP server supports both http and https schemes, the return value scheme will match the requested value.

        Parameters:
        schemeAndAuthority - scheme and authority used to start a new or re-use an existing HTTP server.
        contextPath - the context path where the given registry shall listen to.
        Important note: the context path needs to start with a slash.
        mediaType - the media type of the response the handler will produce.
        handler - the handler callback that is invoked on a request to the given context path.
        Returns:
        the actual full path of the HTTP server address the given handler listens to.
        See Also:
        initHttpServer(String)
      • unregisterContext

        void unregisterContext​(String schemeAndAuthority,
                               String contextPath)
        Removes a handler for the given scheme, authority and context path.

        HttpHandler.handle(InputStream, OutputStream, CommunicationContext) will not be called for any request destined to the corresponding handler. Requests to the corresponding are answered with an HTTP 404.

        Parameters:
        schemeAndAuthority - scheme and authority where the context shall be removed.
        contextPath - the context path to remove. The context path needs to start with a slash.