Skip to content

GitLab

    • GitLab: the DevOps platform
    • Explore GitLab
    • Install GitLab
    • How GitLab compares
    • Get started
    • GitLab docs
    • GitLab Learn
  • Pricing
  • Talk to an expert
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
    • Switch to GitLab Next
    • Menu
    Projects Groups Snippets
  • Get a free trial
  • Sign up
  • Login
  • Sign in / Register
  • adblockplusui adblockplusui
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 233
    • Issues 233
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 11
    • Merge requests 11
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar

GitLab 15.0 is launching on May 22! This version brings many exciting improvements, but also removes deprecated features and introduces breaking changes that may impact your workflow. To see what is being deprecated and removed, please visit Breaking changes in 15.0 and Deprecations.

  • eyeo
  • adblockplus
  • abpui
  • adblockplusuiadblockplusui
  • Issues
  • #898
Closed
Open
Created Apr 24, 2020 by Hubert Figuière@hfiguiereDeveloper

Implement HTTP header filtering

Background / User story

eyeo/adblockplus/adblockpluscore#77 implements the filter option $header to allow URL blocking filters to match on http response headers.

See also eyeo/adblockplus/adblockpluschrome#312 (closed).

What to change

  • Design: N/A
  • Research: N/A
  • Spec: N/A
  • Legal: N/A
  • Development: Implement the blocking in a onHeadersReceived listener lib/requestBlocking.js. Filters should be queried with defaultMatcher.search() and request blocking should check for WhitelistFilter first and then blocking filter. See details in eyeo/adblockplus/adblockpluscore#77 on the expected blocking filters.

Hints for testers

There is a write up in confluence https://confluence.eyeo.com/display/ABC/HTTP+header+filtering (not externally viewable). This will be edited and added to the public documentation in the future.

Testing this feature:

  • testing the header blocking: ||example.com/images/*$header=content-type=text/javascript will block any JavaScript served from the images directories on example.com, based on the content-type.
  • testing allowlisting for header blocking on a domain. @@||example.com/images/*$header will disable header based blocking for this URL.
  • testing allowlisting for the whole domain: @@||example.com/images/* should also disable ANY header based blocking for the URL.

Hints for translators

N/A

Further information

It is possible that this be rendered impractical in manifest v3, however having this for other browsers is worth it.

Since we are likely to call the matcher for most requests, performance is important.

Edited Feb 09, 2021 by Hubert Figuière
Assignee
Assign to
Time tracking