Class PacProxySelector

java.lang.Object
java.net.ProxySelector
com.github.markusbernhardt.proxy.selector.pac.PacProxySelector

public class PacProxySelector extends ProxySelector
ProxySelector that will use a PAC script to find an proxy for a given URI.
  • Field Details

  • Constructor Details

    • PacProxySelector

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

    • 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(URI uri, SocketAddress sa, IOException ioe)
      connectFailed
      Specified by:
      connectFailed in class ProxySelector
      See Also:
    • select

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

      private List<Proxy> findProxy(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 Proxy buildProxyFromPacResult(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 String concat(String[] strings, int startIndex)