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

    • port

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

      public final boolean isHTTPS
      Flag for HTTPS.
    • isFrontEndSecured

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

      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

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

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

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

      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

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

    • PortConfig

      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

    • restartConnector

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

      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

      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

      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

      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

      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).