Class: URLFilter

(private) filterClasses.URLFilter(text, regexpSource, contentTypeopt, matchCaseopt, domainsopt, thirdPartyopt, sitekeysopt, headeropt, nullable, rewriteopt, nullable)

Abstract base class for URL filters

Constructor

(private) new URLFilter(text, regexpSource, contentTypeopt, matchCaseopt, domainsopt, thirdPartyopt, sitekeysopt, headeropt, nullable, rewriteopt, nullable)

Parameters:
Name Type Attributes Description
text string

see Filter()

regexpSource string

filter part that the regular expression should be build from

contentType number <optional>

Content types the filter applies to, combination of values from module:contentTypes.contentTypes

matchCase boolean <optional>

Defines whether the filter should distinguish between lower and upper case letters

domains string <optional>

Domains that the filter is restricted to, e.g. "foo.com|bar.com|~baz.com"

thirdParty boolean <optional>

Defines whether the filter should apply to third-party or first-party content only

sitekeys string <optional>

Public keys of websites that this filter should apply to

header HttpHeader <optional>
<nullable>

Header-based filtering.

rewrite string <optional>
<nullable>

The name of the internal resource to which to rewrite the URL. e.g. if the value of the $rewrite option is abp-resource:blank-html, this should be blank-html.

Source:

Extends

Members

contentType :number

Content types the filter applies to, combination of values from module:contentTypes.contentTypes

Type:
  • number
Source:

disabled :boolean

Defines whether the filter is disabled globally.

Type:
  • boolean
Overrides:
Deprecated:
Source:

disabledSubscriptions :Set.<string>

Defines which subscriptions the filter is disabled for. See module:filterClasses.ActiveFilter#isDisabledForSubscription and module:filterClasses.ActiveFilter#setDisabledForSubscription for disabling and enabling filters.

Type:
  • Set.<string>
Overrides:
Source:

(nullable) domains :Map.<string, boolean>

Map containing domains that this filter should match on/not match on or null if the filter should match on all domains

Type:
  • Map.<string, boolean>
Overrides:
Source:

domainSeparator

Overrides:
Source:
See:
  • ActiveFilter.domainSeparator

(nullable) domainSource :string

String that the domains property should be generated from

Type:
  • string
Overrides:
Source:

Header-based filtering expression. Refer to the filter documentation reference for the syntax, or BlockingFilter.filterHeaders for the reference implementation.

Type:
  • HttpHeader
Source:

hitCount :number

Number of hits on the filter since the last reset

Type:
  • number
Overrides:
Source:

lastHit :number

Last time the filter had a hit (in milliseconds since the beginning of the epoch)

Type:
  • number
Overrides:
Source:

matchCase :boolean

Defines whether the filter should distinguish between lower and upper case letters

Type:
  • boolean
Source:

(nullable) pattern :string

Expression from which a regular expression should be generated - for delayed creation of the regexp property.

Undefined if the filter uses a regex literal pattern.

Type:
  • string
Deprecated:
Source:

regexp :RegExp

Regular expression to be used when testing against this pattern

Type:
  • RegExp
Deprecated:
Source:

requiresPrivilegedSubscription :bool

True if filter should only be loaded if it comes from a privileged subscription (circumvention subscriptions or special subscriptions).

Type:
  • bool
Overrides:
Source:

(nullable) rewrite :string

The name of the internal resource to which to rewrite the URL. e.g. if the value of the $rewrite option is abp-resource:blank-html, this should be blank-html.

Type:
  • string
Source:

sitekeys

Overrides:
Source:
See:
  • ActiveFilter.sitekeys

sitekeySource

Overrides:
Source:
See:
  • ActiveFilter.sitekeySource

size :number

Number of filters contained, will always be 1 (required to optimize Matcher).

Type:
  • number
Overrides:
Source:

(nullable) thirdParty :boolean

Defines whether the filter should apply to third-party or first-party content only. Can be null (apply to all content).

Type:
  • boolean
Source:

type :string

Filter type as a string, e.g. "blocking".

Can be blocking, allowing, elemhide, elemhideexception, elemhideemulation, snippet, comment or invalid.

Type:
  • string
Overrides:
Source:

urlPattern :Pattern

Pattern for matching request URLs

Type:
  • Pattern
Source:

Methods

(static) fromText(filterText) → {module:filterClasses.Filter}

Creates a URL filter from its text representation

Parameters:
Name Type Description
filterText string

same as in Filter()

Source:
Returns:
Type
module:filterClasses.Filter

isActiveOnDomain(docDomainopt, nullable, sitekeyopt) → {boolean}

Checks whether this filter is active on a domain.

Parameters:
Name Type Attributes Description
docDomain string <optional>
<nullable>

domain name of the document that loads the URL

sitekey string <optional>

public key provided by the document

Overrides:
Source:
Returns:

true in case of the filter being active

Type
boolean

isActiveOnlyOnDomain(docDomainopt, nullable) → {boolean}

Checks whether this filter is active only on a domain and its subdomains.

Parameters:
Name Type Attributes Description
docDomain string <optional>
<nullable>
Overrides:
Source:
Returns:
Type
boolean

isDisabledForSubscription(subscriptionUrl) → {boolean}

Checks whether this filter is disabled.

Parameters:
Name Type Description
subscriptionUrl string

The subscription to check for enabled / disabled state.

Overrides:
Source:
Returns:

true if the filter is disabled

Type
boolean

isGeneric() → {boolean}

Checks whether this filter is generic or specific

Overrides:
Source:
Returns:
Type
boolean

matches(request, typeMask, sitekeyopt, nullable) → {boolean}

Tests whether the URL request matches this filter

Parameters:
Name Type Attributes Description
request module:url.URLRequest

URL request to be tested

typeMask number

bitmask of content / request types to match

sitekey string <optional>
<nullable>

public key provided by the document

Source:
Returns:

true in case of a match

Type
boolean

setDisabledForSubscription(subscriptionUrlopt, valueopt)

Disables or enables the filter.

Parameters:
Name Type Attributes Description
subscriptionUrl string <optional>

The subscription on which to disable / enable the filter.

value boolean <optional>

new disabled value, true for disabled and false for enabled

Overrides:
Source: