Class ProxyAutoConfig

java.lang.Object
org.htmlunit.corejs.javascript.ScriptableObject
org.htmlunit.javascript.HtmlUnitScriptable
org.htmlunit.javascript.proxyautoconfig.ProxyAutoConfig
All Implemented Interfaces:
Serializable, Cloneable, org.htmlunit.corejs.javascript.ConstProperties, org.htmlunit.corejs.javascript.debug.DebuggableObject, org.htmlunit.corejs.javascript.Scriptable, org.htmlunit.corejs.javascript.SymbolScriptable

public final class ProxyAutoConfig extends HtmlUnitScriptable
Provides an implementation of Proxy Auto-Config (PAC).
See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.htmlunit.corejs.javascript.ScriptableObject

    org.htmlunit.corejs.javascript.ScriptableObject.KeyComparator
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private static final String
     

    Fields inherited from class org.htmlunit.corejs.javascript.ScriptableObject

    CONST, DONTENUM, EMPTY, PERMANENT, READONLY, UNINITIALIZED_CONST

    Fields inherited from interface org.htmlunit.corejs.javascript.Scriptable

    NOT_FOUND
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    private
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static long
    Concatenates the four dot-separated bytes into one 4-byte word and converts it to decimal.
    static boolean
    dateRange(String value1, Object value2, Object value3, Object value4, Object value5, Object value6, Object value7)
    Checks if today is included in the specified range.
    private static Calendar
    dateRange_createCalendar(TimeZone timezone, int day, int month, int year)
     
    private static int
     
    private static int
     
    static boolean
    dnsDomainIs(String host, String domain)
    Returns true if the domain of hostname matches.
    static int
    Returns the number (integer) of DNS domain levels (number of dots) in the hostname.
    static String
    Resolves the given DNS hostname into an IP address, and returns it in the dot separated format as a string.
    private static int
     
    static boolean
    isInNet(String host, String pattern, String mask)
    Returns true if the IP address of the host matches the specified IP address pattern.
    static boolean
    Returns true if there is no domain name in the hostname (no dots).
    static boolean
    Tries to resolve the hostname.
    static boolean
    Returns true if the hostname matches exactly the specified hostname, or if there is no domain name part in the hostname, but the unqualified hostname matches.
    static String
    Returns the IP address of the local host, as a string in the dot-separated integer format.
    static boolean
    shExpMatch(String str, String shexp)
    Matches the specified string against a shell expression, not regular expression.
    static boolean
    timeRange(String value1, Object value2, Object value3, Object value4, Object value5, Object value6, Object value7)
    Checks if the time now is included in the specified range.
    private static Calendar
    timeRange_createCalendar(TimeZone timezone, int hour, int minute, int second)
     
    static boolean
    weekdayRange(String wd1, Object wd2, Object gmt)
    Checks if today is included in the specified range.

    Methods inherited from class org.htmlunit.corejs.javascript.ScriptableObject

    applyDescriptorToAttributeBitset, associateValue, avoidObjectDetection, buildDataDescriptor, callMethod, callMethod, checkPropertyChange, checkPropertyDefinition, defineClass, defineClass, defineClass, defineConst, defineConstProperty, defineFunctionProperties, defineOwnProperties, defineOwnProperty, defineOwnProperty, defineProperty, defineProperty, defineProperty, defineProperty, defineProperty, defineProperty, defineProperty, delete, delete, delete, deleteProperty, deleteProperty, deleteProperty, ensureScriptable, ensureScriptableObject, ensureSymbolScriptable, get, get, get, getAllIds, getArrayPrototype, getAssociatedValue, getAttributes, getAttributes, getAttributes, getAttributes, getAttributes, getClassPrototype, getDefaultValue, getExternalArrayData, getExternalArrayLength, getFunctionPrototype, getGeneratorFunctionPrototype, getGetterOrSetter, getGetterOrSetter, getIds, getObjectPrototype, getOwnPropertyDescriptor, getParentScope, getProperty, getProperty, getProperty, getPropertyIds, getPrototype, getTopLevelScope, getTopScopeValue, getTypedProperty, getTypedProperty, getTypeOf, has, has, hasProperty, hasProperty, hasProperty, isAccessorDescriptor, isConst, isDataDescriptor, isEmpty, isExtensible, isFalse, isGenericDescriptor, isGetterOrSetter, isSealed, isTrue, preventExtensions, put, put, putConst, putConstProperty, putProperty, putProperty, putProperty, querySlot, redefineProperty, sameValue, sealObject, setAttributes, setAttributes, setAttributes, setAttributes, setAttributes, setCommonDescriptorProperties, setExternalArrayData, setGetterOrSetter, setPrototype, size

    Methods inherited from class java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

    • ProxyAutoConfig

      private ProxyAutoConfig()
  • Method Details

    • isPlainHostName

      public static boolean isPlainHostName(String host)
      Returns true if there is no domain name in the hostname (no dots).
      Parameters:
      host - the hostname from the URL (excluding port number).
      Returns:
      true if there is no domain name in the hostname (no dots).
    • dnsDomainIs

      public static boolean dnsDomainIs(String host, String domain)
      Returns true if the domain of hostname matches.
      Parameters:
      host - the hostname from the URL
      domain - the domain name to test the hostname against
      Returns:
      true if the domain of hostname matches.
    • localHostOrDomainIs

      public static boolean localHostOrDomainIs(String host, String hostdom)
      Returns true if the hostname matches exactly the specified hostname, or if there is no domain name part in the hostname, but the unqualified hostname matches.
      Parameters:
      host - the hostname from the URL
      hostdom - fully qualified hostname to match against
      Returns:
      true if the hostname matches exactly the specified hostname, or if there is no domain name part in the hostname, but the unqualified hostname matches.
    • isResolvable

      public static boolean isResolvable(String host)
      Tries to resolve the hostname. Returns true if succeeds.
      Parameters:
      host - the hostname from the URL.
      Returns:
      true if the specific hostname is resolvable.
    • isInNet

      public static boolean isInNet(String host, String pattern, String mask)
      Returns true if the IP address of the host matches the specified IP address pattern.
      Parameters:
      host - a DNS hostname, or IP address. If a hostname is passed, it will be resolved into an IP address by this function.
      pattern - an IP address pattern in the dot-separated format
      mask - mask for the IP address pattern informing which parts of the IP address should be matched against. 0 means ignore, 255 means match
      Returns:
      true if the IP address of the host matches the specified IP address pattern.
    • dnsResolve

      public static String dnsResolve(String host)
      Resolves the given DNS hostname into an IP address, and returns it in the dot separated format as a string.
      Parameters:
      host - the hostname to resolve
      Returns:
      the resolved IP address
    • myIpAddress

      public static String myIpAddress()
      Returns the IP address of the local host, as a string in the dot-separated integer format.
      Returns:
      the IP address of the local host, as a string in the dot-separated integer format.
    • dnsDomainLevels

      public static int dnsDomainLevels(String host)
      Returns the number (integer) of DNS domain levels (number of dots) in the hostname.
      Parameters:
      host - the hostname from the URL
      Returns:
      the number (integer) of DNS domain levels (number of dots) in the hostname.
    • shExpMatch

      public static boolean shExpMatch(String str, String shexp)
      Matches the specified string against a shell expression, not regular expression.
      Parameters:
      str - a string to match
      shexp - the shell expression
      Returns:
      if the string matches
    • weekdayRange

      public static boolean weekdayRange(String wd1, Object wd2, Object gmt)
      Checks if today is included in the specified range.
      Parameters:
      wd1 - week day 1
      wd2 - week day 2, optional
      gmt - string of "GMT", or not specified
      Returns:
      if today is in range
    • dateRange

      public static boolean dateRange(String value1, Object value2, Object value3, Object value4, Object value5, Object value6, Object value7)
      Checks if today is included in the specified range.
      Parameters:
      value1 - the value 1
      value2 - the value 2
      value3 - the value 3
      value4 - the value 4
      value5 - the value 5
      value6 - the value 6
      value7 - the value 7
      Returns:
      if today is in range
    • dateRange_createCalendar

      private static Calendar dateRange_createCalendar(TimeZone timezone, int day, int month, int year)
    • getSmallInt

      private static int getSmallInt(Object object)
    • dateRange_getMonth

      private static int dateRange_getMonth(Object object)
    • dateRange_getYear

      private static int dateRange_getYear(Object object)
    • timeRange

      public static boolean timeRange(String value1, Object value2, Object value3, Object value4, Object value5, Object value6, Object value7)
      Checks if the time now is included in the specified range.
      Parameters:
      value1 - the value 1
      value2 - the value 2
      value3 - the value 3
      value4 - the value 4
      value5 - the value 5
      value6 - the value 6
      value7 - the value 7
      Returns:
      if the time now is in the range
    • timeRange_createCalendar

      private static Calendar timeRange_createCalendar(TimeZone timezone, int hour, int minute, int second)
    • convertAddr

      public static long convertAddr(String ip)
      Concatenates the four dot-separated bytes into one 4-byte word and converts it to decimal.
      Parameters:
      ip - any dotted address such as an IP address or mask.
      Returns:
      concatenates the four dot-separated bytes into one 4-byte word and converts it to decimal.