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
Modifier and TypeFieldDescriptionfinal String
The bind address,null
for none.final IPortController
Interface for the port control,null
if in iiziGo (for now).final String
The external host name when front-end reverse-proxied, null for none.final String
The name of the external host, including a potential ":port" addition, or none if it's matching the port number.final int
The external port number (1-65534) when front-end reverse-proxied, 0 for none.final boolean
Flag for secure port by means of front-end proxy, even if theisHTTPS
flag is false.final boolean
Flag for HTTPS.final boolean
The secure connection flag.final int
The (local) port number (1-65534).Constructor Summary
ConstructorDescriptionPortConfig
(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.boolean
isSamePortConfig
(PortConfig portConfig) Checks if two port configurations are equal: i.e.void
Restarts 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 theisHTTPS
flag 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,null
for 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,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 theisHTTPS
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
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
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:8080
orhttps://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
orhttps://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).