filter

package
v0.7.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 16, 2025 License: Apache-2.0, BSD-2-Clause-Views, BSD-3-Clause, + 4 more Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Filter

type Filter struct {
	// contains filtered or unexported fields
}

Filter is capable of parsing Adblock-style filter lists and hosts rules and matching URLs against them.

Safe for concurrent use.

func NewFilter

func NewFilter(config config, ruleMatcher ruleMatcher, exceptionRuleMatcher ruleMatcher, scriptletsInjector scriptletsInjector, cosmeticRulesInjector cosmeticRulesInjector, cssRulesInjector cssRulesInjector, jsRuleInjector jsRuleInjector, eventsEmitter filterEventsEmitter) (*Filter, error)

NewFilter creates and initializes a new filter.

func (*Filter) AddRule added in v0.6.0

func (f *Filter) AddRule(rule string, filterListName *string, filterListTrusted bool) (isException bool, err error)

AddRule adds a new rule to the filter. It returns true if the rule is an exception, false otherwise.

func (*Filter) HandleRequest

func (f *Filter) HandleRequest(req *http.Request) *http.Response

HandleRequest handles the given request by matching it against the filter rules. If the request should be blocked, it returns a response that blocks the request. If the request should be modified, it modifies it in-place.

func (*Filter) HandleResponse

func (f *Filter) HandleResponse(req *http.Request, res *http.Response) error

HandleResponse handles the given response by matching it against the filter rules. If the response should be modified, it modifies it in-place.

As of April 2024, there are no response-only rules that can block or redirect responses. For that reason, this method does not return a blocking or redirecting response itself.

func (*Filter) ParseAndAddRules added in v0.6.0

func (f *Filter) ParseAndAddRules(reader io.Reader, filterListName *string, filterListTrusted bool) (ruleCount, exceptionCount int)

ParseAndAddRules parses the rules from the given reader and adds them to the filter.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL