Class PortConfig

java.lang.Object
com.iizix.comm.PortConfig

public class PortConfig extends Object
Class used to hold information of the started port.
Author:
Christopher Mindus
  • Field Details Link icon

    • port Link icon

      public final int port
      The (local) port number (1-65534).
    • isHTTPS Link icon

      public final boolean isHTTPS
      Flag for HTTPS.
    • isFrontEndSecured Link icon

      public final boolean isFrontEndSecured
      Flag for secure port by means of front-end proxy, even if the isHTTPS flag is false.
    • isSecured Link icon

      public final boolean isSecured
      The secure connection flag. The server may use a clear-text connection, but the client may use TLS if a front-end proxy is present.
    • bind Link icon

      public final String bind
      The bind address, null for none.
    • externalHostName Link icon

      public final String externalHostName
      The external host name when front-end reverse-proxied, null for none.
    • externalPort Link icon

      public final int externalPort
      The external port number (1-65534) when front-end reverse-proxied, 0 for none.
    • externalNameAndPort Link icon

      public final String externalNameAndPort
      The name of the external host, including a potential ":port" addition, or none if it's matching the port number.
    • controller Link icon

      public final IPortController controller
      Interface for the port control, null if in iiziGo (for now).
  • Constructor Details Link icon

    • PortConfig Link icon

      public PortConfig(int port, boolean isHTTPS, boolean isFrontEndSecured, String bind, String externalHostName, int externalPort, IPortController controller)
      Constructor.
      Parameters:
      port - The port number, zero for none.
      isHTTPS - Flag for HTTPS.
      isFrontEndSecured - Flag for secure port by means of front-end reverse-proxy, even if the isHTTPS flag is false.
      bind - The bind address, null for none.
      externalHostName - The external host name when front-end reverse-proxied, null for none.
      externalPort - The external port when front-end reverse-proxied, 0 for none.
      controller - The port controller, never null.
  • Method Details Link icon

    • restartConnector Link icon

      public void restartConnector()
      Restarts the Jetty (HTTPS) server connector after Let's Encrypt domain certificate renewal.
    • isSamePortConfig Link icon

      public boolean isSamePortConfig(PortConfig portConfig)
      Checks if two port configurations are equal: i.e. the same bind address (or none), the port number, front-end secured and the external host name and port.
      Parameters:
      portConfig - Another port configuration.
      Returns:
      true if the port configurations match, false otherwise.
    • getRemoteServerNameAndPort Link icon

      public String getRemoteServerNameAndPort(HttpServletRequest servletRequest)
      Gets the remote server name and port. The port is omitted if 80 for unsecure or 443 for secured connections.
      Parameters:
      servletRequest - The servlet request.
      Returns:
      The remote server name and port (perhaps omitted if default value).
    • getRemoteServerNameAndPort Link icon

      public String getRemoteServerNameAndPort(HttpServletRequest servletRequest, boolean omitDefaultPort)
      Gets the remote server name and port. The port is optionally omitted if 80 for unsecure or 443 for secured connections.
      Parameters:
      servletRequest - The servlet request.
      omitDefaultPort - Flag to omit the default port.
      Returns:
      The remote server name and port (perhaps omitted if default value).
    • getRemoteProtocolServerNameAndPort Link icon

      public String getRemoteProtocolServerNameAndPort(HttpServletRequest servletRequest)
      Gets the remote protocol, server name and port, e.g. http://clear.text.server:8080 or https://secure.server.com. The port is omitted if 80 for unsecure or 443 for secured connections.
      Returns:
      The protocol, remote server name and port (perhaps omitted if default value).
    • getRemoteProtocolServerNameAndPort Link icon

      public String getRemoteProtocolServerNameAndPort(HttpServletRequest servletRequest, boolean omitDefaultPort)
      Gets the remote protocol, server name and port, e.g. http://clear.text.server:8080 or https://secure.server.com. The port is omitted if 80 for unsecure or 443 for secured connections.
      Parameters:
      servletRequest - The servlet request.
      omitDefaultPort - Flag to omit the default port.
      Returns:
      The protocol, remote server name and port (perhaps omitted if default value).