Interface IWebServerConfiguration

  • All Known Implementing Classes:
    WebServerConfiguration

    public interface IWebServerConfiguration
    Defines the webserver configuration interface
    • Method Detail

      • getHostname

        java.lang.String getHostname()
        Get the hostname
        Returns:
        the hostname
      • getPort

        int getPort()
        Get the port
        Returns:
        the port
      • getDirectory

        java.lang.String getDirectory()
        Get the directory
        Returns:
        the directory
      • isLocalDirectory

        boolean isLocalDirectory()
        Define if the directory is local
        Returns:
        true if the directory is local
      • isDirectoryListingEnabled

        boolean isDirectoryListingEnabled()
        Define if the directory listing is enabled
        Returns:
        true if it is enabled
      • readFromClasspath

        boolean readFromClasspath()
        Define if the directory should be read from the classpath
        Returns:
        true if the directory should be read from the classpath
      • getVerboseLevel

        VerboseLevel getVerboseLevel()
        Get the verbose level
        Returns:
        the verbose level
      • getAccessLogFormatString

        java.lang.String getAccessLogFormatString()
        Get access log format string:

        • %a - Remote IP address
        • %A - Local IP address
        • %b - Bytes sent, excluding HTTP headers, or '-' if no bytes were sent
        • %B - Bytes sent, excluding HTTP headers
        • %h - Remote host name
        • %H - Request protocol
        • %l - Remote logical username from identd (always returns '-')
        • %m - Request method
        • %o - Obfuscated remote IP address (IPv4: last byte removed, IPv6: cut off after second colon, ie. '1.2.3.' or 'fe08:44:')
        • %p - Local port
        • %q - Query string (excluding the '?' character)
        • %r - First line of the request
        • %s - HTTP status code of the response
        • %t - Date and time, in Common Log Format format
        • %u - Remote user that was authenticated
        • %U - Requested URL path
        • %v - Local server name
        • %D - Time taken to process the request, in millis
        • %T - Time taken to process the request, in seconds
        • %I - current Request thread name (can compare later with stacktraces)

        In addition, the caller can specify one of the following aliases for commonly utilized patterns:

        • common - %h %l %u %t "%r" %s %b
        • combined - %h %l %u %t "%r" %s %b "%{i,Referer}" "%{i,User-Agent}"
        • commonobf - %o %l %u %t "%r" %s %b
        • combinedobf - %o %l %u %t "%r" %s %b "%{i,Referer}" "%{i,User-Agent}"

        There is also support to write information from the cookie, incoming header, or the session
        It is modeled after the apache syntax:

        • %{i,xxx} for incoming headers
        • %{o,xxx} for outgoing response headers
        • %{c,xxx} for a specific cookie
        • %{r,xxx} xxx is an attribute in the ServletRequest
        • %{s,xxx} xxx is an attribute in the HttpSession

        Returns:
        the accesslog format string
      • hasBasicAuthentication

        boolean hasBasicAuthentication()
        Define if the resource has basic authentication
        Returns:
        true if it is enabled
      • getBasicAuthentication

        java.lang.String getBasicAuthentication()
        Get the basic authentication: user:password
        Returns:
        the basic authentication
      • hasHealthCheck

        boolean hasHealthCheck()
        Define if the server support health
        Returns:
        true if it is enabled
      • getHealthPath

        java.lang.String getHealthPath()
        Get the health path
        Returns:
        the health path
      • getResourcePath

        java.lang.String getResourcePath()
        Get the resource path
        Returns:
        the resource path