Class PacProxySelector


  • public class PacProxySelector
    extends java.net.ProxySelector
    ProxySelector that will use a PAC script to find an proxy for a given URI.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private java.net.Proxy buildProxyFromPacResult​(java.lang.String pacResult)
      The proxy evaluator will return a proxy string.
      private static java.lang.String concat​(java.lang.String[] strings, int startIndex)  
      void connectFailed​(java.net.URI uri, java.net.SocketAddress sa, java.io.IOException ioe)
      connectFailed
      private java.util.List<java.net.Proxy> findProxy​(java.net.URI uri)
      Evaluation of the given URL with the PAC-file.
      static boolean isEnabled()
      Checks if the selector is currently enabled.
      java.util.List<java.net.Proxy> select​(java.net.URI uri)
      select
      private void selectEngine​(PacScriptSource pacSource)
      Selects one of the available PAC parser engines.
      static void setEnabled​(boolean enable)
      Can be used to enable / disable the proxy selector.
      • Methods inherited from class java.net.ProxySelector

        getDefault, of, setDefault
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • PacProxySelector

        public PacProxySelector​(PacScriptSource pacSource)
        Constructor
        Parameters:
        pacSource - the source for the PAC file.
    • Method Detail

      • setEnabled

        public static void setEnabled​(boolean enable)
        Can be used to enable / disable the proxy selector. If disabled it will return DIRECT for all urls.
        Parameters:
        enable - the new status to set.
      • isEnabled

        public static boolean isEnabled()
        Checks if the selector is currently enabled.
        Returns:
        true if enabled else false.
      • selectEngine

        private void selectEngine​(PacScriptSource pacSource)
        Selects one of the available PAC parser engines.
        Parameters:
        pacSource - to use as input.
      • connectFailed

        public void connectFailed​(java.net.URI uri,
                                  java.net.SocketAddress sa,
                                  java.io.IOException ioe)
        connectFailed
        Specified by:
        connectFailed in class java.net.ProxySelector
        See Also:
        ProxySelector.connectFailed(java.net.URI, java.net.SocketAddress, java.io.IOException)
      • select

        public java.util.List<java.net.Proxy> select​(java.net.URI uri)
        select
        Specified by:
        select in class java.net.ProxySelector
        See Also:
        ProxySelector.select(java.net.URI)
      • findProxy

        private java.util.List<java.net.Proxy> findProxy​(java.net.URI uri)
        Evaluation of the given URL with the PAC-file. Two cases can be handled here: DIRECT Fetch the object directly from the content HTTP server denoted by its URL PROXY name:port Fetch the object via the proxy HTTP server at the given location (name and port)
        Parameters:
        uri - URI to be evaluated.
        Returns:
        Proxy-object list as result of the evaluation.
      • buildProxyFromPacResult

        private java.net.Proxy buildProxyFromPacResult​(java.lang.String pacResult)
        The proxy evaluator will return a proxy string. This method will take this string and build a matching Proxy for it.
        Parameters:
        pacResult - the result from the PAC parser.
        Returns:
        a Proxy
      • concat

        private static java.lang.String concat​(java.lang.String[] strings,
                                               int startIndex)