Class PortResolverImpl

  • All Implemented Interfaces:
    PortResolver

    public class PortResolverImpl
    extends java.lang.Object
    implements PortResolver
    Concrete implementation of PortResolver that obtains the port from ServletRequest.getServerPort().

    This class is capable of handling the IE bug which results in an incorrect URL being presented in the header subsequent to a redirect to a different scheme and port where the port is not a well-known number (ie 80 or 443). Handling involves detecting an incorrect response from ServletRequest.getServerPort() for the scheme (eg a HTTP request on 8443) and then determining the real server port (eg HTTP request is really on 8080). The map of valid ports is obtained from the configured PortMapper.

    • Constructor Detail

      • PortResolverImpl

        public PortResolverImpl()
    • Method Detail

      • getPortMapper

        public PortMapper getPortMapper()
      • getServerPort

        public int getServerPort​(javax.servlet.ServletRequest request)
        Description copied from interface: PortResolver
        Indicates the port the ServletRequest was received on.
        Specified by:
        getServerPort in interface PortResolver
        Parameters:
        request - that the method should lookup the port for
        Returns:
        the port the request was received on
      • setPortMapper

        public void setPortMapper​(PortMapper portMapper)