def process(self, request, render_options, operation, data): filter_names = render_options.get_filters(adblock_rules=self.rules) if filter_names == ['none']: return request if not filter_names: if self.rules.filter_is_known('default'): filter_names = ['default'] else: return request url = str(request.url().toString()) browser_url = self._get_browser_url(request) domain = urlsplit(browser_url).hostname or '' # XXX: here we're using domain of a parent frame # for requests coming from iframes. options = {'domain': domain} blocking_filter = self.rules.get_blocking_filter( filter_names, url, options) if blocking_filter: if self.verbosity >= 2: msg = "Filter %s: dropped %s %s" % ( blocking_filter, render_options.get_uid(), request_repr(request, operation)) log.msg(msg, system='request_middleware') drop_request(request) return request
def process(self, request, render_options, operation, data): filter_names = render_options.get_filters(adblock_rules=self.rules) if filter_names == ['none']: return request if not filter_names: if self.rules.filter_is_known('default'): filter_names = ['default'] else: return request url = str(request.url().toString()) browser_url = self._get_browser_url(request) domain = urlsplit(browser_url).hostname or '' # XXX: here we're using domain of a parent frame # for requests coming from iframes. options = {'domain': domain} blocking_filter = self.rules.get_blocking_filter(filter_names, url, options) if blocking_filter: if self.verbosity >= 2: msg = "Filter %s: dropped %s %s" % ( blocking_filter, render_options.get_uid(), request_repr(request, operation) ) log.msg(msg, system='request_middleware') drop_request(request) return request
def process(self, request, render_options, operation, data): allowed_domains = render_options.get_allowed_domains() host_re = self._get_host_regex(allowed_domains, self.allow_subdomains) if not host_re.match(six.text_type(request.url().host())): if self.verbosity >= 2: log.msg("Dropped offsite %s" % (request_repr(request, operation),), system='request_middleware') drop_request(request) return request
def process(self, request, render_options, operation, data): scheme = str(request.url().scheme()).lower() if scheme not in self.allowed_schemes: if self.verbosity >= 2: log.msg("Dropped %s because of URI scheme" % (request_repr(request, operation), ), system='request_middleware') drop_request(request) return request
def process(self, request, render_options, operation, data): scheme = str(request.url().scheme()).lower() if scheme not in self.allowed_schemes: if self.verbosity >= 2: log.msg( "Dropped %s because of URI scheme" % (request_repr(request, operation),), system='request_middleware' ) drop_request(request) return request
def _configure_requests(self, request, operation, data): if request.hasRawHeader(b'Accept'): url = six.binary_type(request.url().toEncoded()) url_path = urlparse(url).path.lower() accepts = bytes(request.rawHeader(b'Accept')).lower() if (accepts.startswith(STORED_TYPES) or _is_xml(accepts) or url_path.endswith(STORED_EXTENSIONS)): request.track_response_body = True elif (accepts.startswith(IGNORED_TYPES) or url_path.endswith(MEDIA_EXTENSIONS)): drop_request(request)
def _configure_requests(self, request, operation, data): if request.hasRawHeader('Accept'): url = six.binary_type(request.url().toEncoded()) url_path = urlparse(url).path.lower() accepts = str(request.rawHeader('Accept')).lower() if (accepts.startswith(STORED_TYPES) or _is_xml(accepts) or url_path.endswith(STORED_EXTENSIONS)): request.track_response_body = True elif (accepts.startswith(IGNORED_TYPES) or url_path.endswith(MEDIA_EXTENSIONS)): drop_request(request)
def process(self, request, render_options, operation, data): filter_names = render_options.get_filters(adblock_rules=self.rules) if filter_names == ['none']: return request if not filter_names: if self.rules.filter_is_known('default'): filter_names = ['default'] else: return request url, options = self._url_and_adblock_options(request, render_options) blocking_filter = self.rules.get_blocking_filter( filter_names, url, options) if blocking_filter: if self.verbosity >= 2: msg = "Filter %s: dropped %s %s" % ( blocking_filter, render_options.get_uid(), request_repr(request, operation)) log.msg(msg, system='request_middleware') drop_request(request) return request
def process(self, request, render_options, operation, data): filter_names = render_options.get_filters(adblock_rules=self.rules) if filter_names == ['none']: return request if not filter_names: if self.rules.filter_is_known('default'): filter_names = ['default'] else: return request url, options = self._url_and_adblock_options(request, render_options) blocking_filter = self.rules.get_blocking_filter(filter_names, url, options) if blocking_filter: if self.verbosity >= 2: msg = "Filter %s: dropped %s %s" % ( blocking_filter, render_options.get_uid(), request_repr(request, operation) ) log.msg(msg, system='request_middleware') drop_request(request) return request
def process(self, request, splash_request, operation, data): filter_names = [f for f in getarg(splash_request, "filters", default="").split(',') if f] if filter_names == ['none']: return request if not filter_names: if self.rules.filter_is_known('default'): filter_names = ['default'] else: return request url, options = self._url_and_options(request, splash_request) blocking_filter = self.rules.get_blocking_filter(filter_names, url, options) if blocking_filter: if self.verbosity >= 2: msg = "Filter %s: dropped %s %s" % ( blocking_filter, id(splash_request), request_repr(request, operation) ) log.msg(msg, system='request_middleware') drop_request(request) return request
def abort(self): drop_request(self.request)