Package com.iizix.comm
Class PortConfig
java.lang.Object
com.iizix.comm.PortConfig
Class used to hold information of the started port.
- Author:
- Christopher Mindus
Field Summary
FieldsModifier and TypeFieldDescriptionfinal StringThe bind address,nullfor none.final IPortControllerInterface for the port control,nullif in iiziGo (for now).final StringThe external host name when front-end reverse-proxied, null for none.final StringThe name of the external host, including a potential ":port" addition, or none if it's matching the port number.final intThe external port number (1-65534) when front-end reverse-proxied, 0 for none.final booleanFlag for secure port by means of front-end proxy, even if theisHTTPSflag is false.final booleanFlag for HTTPS.final booleanThe secure connection flag.final intThe (local) port number (1-65534).Constructor Summary
ConstructorsConstructorDescriptionPortConfig(int port, boolean isHTTPS, boolean isFrontEndSecured, String bind, String externalHostName, int externalPort, IPortController controller) Constructor.Method Summary
Modifier and TypeMethodDescriptiongetRemoteProtocolServerNameAndPort(HttpServletRequest servletRequest) Gets the remote protocol, server name and port, e.g.getRemoteProtocolServerNameAndPort(HttpServletRequest servletRequest, boolean omitDefaultPort) Gets the remote protocol, server name and port, e.g.getRemoteServerNameAndPort(HttpServletRequest servletRequest) Gets the remote server name and port.getRemoteServerNameAndPort(HttpServletRequest servletRequest, boolean omitDefaultPort) Gets the remote server name and port.booleanisSamePortConfig(PortConfig portConfig) Checks if two port configurations are equal: i.e.voidRestarts the Jetty (HTTPS) server connector after Let's Encrypt domain certificate renewal.
Field Details
port
public final int portThe (local) port number (1-65534).isHTTPS
public final boolean isHTTPSFlag for HTTPS.isFrontEndSecured
public final boolean isFrontEndSecuredFlag for secure port by means of front-end proxy, even if theisHTTPSflag is false.isSecured
public final boolean isSecuredThe 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
The bind address,nullfor none.externalHostName
The external host name when front-end reverse-proxied, null for none.externalPort
public final int externalPortThe external port number (1-65534) when front-end reverse-proxied, 0 for none.externalNameAndPort
The name of the external host, including a potential ":port" addition, or none if it's matching the port number.controller
Interface for the port control,nullif 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 theisHTTPSflag 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
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:
trueif the port configurations match,falseotherwise.
getRemoteServerNameAndPort
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
Gets the remote protocol, server name and port, e.g.http://clear.text.server:8080orhttps://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:8080orhttps://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).