• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

zalando / skipper / 35585770623
81%

Build:
DEFAULT BRANCH: master
Ran 21 Sep 2026 10:10AM UTC
Jobs 1
Files 330
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

21 Sep 2026 09:53AM UTC coverage: 80.076% (+0.04%) from 80.036%
35585770623

push

github

web-flow
fix: document the registered names of the drop header regexp filters (#4257)

## Symptom

The filter reference documents `dropRequestHeaderValueRegexp` and
`dropResponseHeaderValueRegexp`, but no filter with those names is
registered, so a route copied from the documentation is thrown away.

Running skipper with the example exactly as printed in the docs:

```
$ ./bin/skipper -inline-routes='foo: * -> dropRequestHeaderValueRegexp("User-Agent", "^value.") -> "https://backend.example.org"' -address :9921
level=info msg="Listen on :9921"
level=error msg="failed to process route foo: unknown_filter: filter \"dropRequestHeaderValueRegexp\" not found"

$ curl -s -o /dev/null -w '%{http_code}\n' http://127.0.0.1:9921/
404
```

The names the filters are actually registered under are
`dropRequestHeaderRegexp` and `dropResponseHeaderRegexp`. They are the
values of `filters.DropRequestHeaderValueRegexpName` and
`filters.DropResponseHeaderValueRegexpName` in `filters/filters.go`, and
they are what `filters/builtin/header_test.go` uses.

With the documented name corrected, the route is accepted:

```
$ ./bin/skipper -inline-routes='foo: * -> dropRequestHeaderRegexp("User-Agent", "^value.") -> "https://backend.example.org"' -address :9941
level=info msg="Listen on :9941"
(no unknown_filter error)

$ curl -s -o /dev/null -w '%{http_code}\n' http://127.0.0.1:9941/
502
```

502 because `backend.example.org` is not reachable from here, which is
the point: the route matched.

## Change

Documentation only. The two section headings, the example and the cross
reference in `docs/reference/filters.md` now use the registered names.
The Go identifiers are untouched, so nothing that already works breaks.

Built and run with go1.27.1.

Signed-off-by: kevin9327 <5299031+kevin9327@users.noreply.github.com>

26923 of 33622 relevant lines covered (80.08%)

66119.8 hits per line

Coverage Regressions

Lines Coverage ∆ File
109
68.84
0.17% skipper.go
3
86.49
-8.11% proxy/teebody.go
2
93.62
-0.67% filters/diag/diag.go
2
84.68
-0.56% net/httpclient.go
2
91.62
-0.16% proxy/proxy.go
1
97.92
0.0% eskipfile/watch.go
Jobs
ID Job ID Ran Files Coverage
1 35585770623.1 21 Sep 2026 10:10AM UTC 330
80.08
GitHub Action Run
Source Files on build 35585770623
  • Tree
  • List 330
  • Changed 6
  • Source Changed 1
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #35585770623
  • 50caea2f on github
  • Prev Build on master (#35578311908)
  • Next Build on master (#35636398402)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc