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

umputun / reproxy
80%

Build:
DEFAULT BRANCH: master
Repo Added 10 Apr 2021 12:20AM UTC
Files 19
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

LAST BUILD ON BRANCH master
branch: master
CHANGE BRANCH
x
Reset
  • master
  • add-X-Forwarded-URL
  • assets-cache
  • assets404
  • basic-auth
  • chore/go-1.26-and-deps
  • ci/workflow-hardening
  • dependabot/docker/goreleaser/goreleaser-v1.25.1
  • dependabot/github_actions/github-actions-updates-a2e7793ad6
  • dependabot/go_modules/go-modules-updates-07f3a6036d
  • dependabot/go_modules/go-modules-updates-1d93b033d5
  • dependabot/go_modules/go-modules-updates-89f9fe7d2d
  • dependabot/go_modules/go-modules-updates-a76f434722
  • dependabot/go_modules/go-modules-updates-b6eb7de9c2
  • dependabot/go_modules/go-modules-updates-b9a07c6e8d
  • dependabot/go_modules/go-modules-updates-c2f73b432e
  • dependabot/go_modules/go-modules-updates-c741a0ad90
  • dependabot/go_modules/golang.org/x/crypto-0.45.0
  • dependabot/go_modules/golang.org/x/net-0.23.0
  • dependabot/go_modules/golang.org/x/net-0.38.0
  • dependabot/go_modules/golang.org/x/text-0.3.8
  • dependabot/npm_and_yarn/site/browserslist-4.16.6
  • dependabot/npm_and_yarn/site/follow-redirects-1.14.7
  • dependabot/npm_and_yarn/site/follow-redirects-1.14.8
  • dependabot/npm_and_yarn/site/markdown-it-12.3.2
  • dependabot/npm_and_yarn/site/minimist-1.2.6
  • dependabot/npm_and_yarn/site/nanoid-3.2.0
  • dependabot/npm_and_yarn/site/normalize-url-4.5.1
  • dependabot/npm_and_yarn/site/shell-quote-1.7.3
  • dependabot/npm_and_yarn/site/ws-7.4.6
  • docker-maker
  • docker-multi-routes
  • dockerhub
  • drop-default-conflict
  • dynamic-server
  • feat/low-cardinality-metrics
  • feature/add-dns-providers
  • feature/upstream-connection-limits
  • fix-404-gzip-encoding
  • fix-dbl-headers
  • fix-header-parsing
  • fix/bound-mappers-cache
  • fix/bump-x-net
  • fix/catchall-default-route-dedup
  • fix/ci-security-hardening
  • fix/critical-major-audit-findings
  • fix/dns-propagation-timeout
  • fix/docker-api-version-240
  • fix/dynamic-ssl-fqdns-207
  • fix/encoded-path-match
  • fix/file-provider-debounce
  • fix/health-test-timing
  • fix/metrics-flusher-sse-streaming
  • fix/roundrobin-shrinking-n
  • fqdn-async-discovery
  • header-comma
  • lb-selector
  • libdns-update
  • limit-ips
  • listen
  • maint/deps-update-nov2025
  • max-request-url
  • mgmt
  • mime-cache
  • multi-match
  • multi-static
  • nice-error
  • paskal/dependabot-disable-updates
  • paskal/dependabot-security-updates
  • paskal/docker-user-improvements
  • paskal/dockerfile-improvements
  • per-route-auth
  • per-route-timeout-throttle
  • plugin-headers
  • redirect
  • refs/tags/v0.1.0
  • refs/tags/v0.10.0
  • refs/tags/v0.11.0
  • refs/tags/v0.2.0
  • refs/tags/v0.3.0
  • refs/tags/v0.4.0
  • refs/tags/v0.5.0
  • refs/tags/v0.5.1
  • refs/tags/v0.6.0
  • refs/tags/v0.6.1
  • refs/tags/v0.6.2
  • refs/tags/v0.7.0
  • refs/tags/v0.8.0
  • refs/tags/v0.9.0
  • refs/tags/v1.0.0
  • refs/tags/v1.1.0
  • refs/tags/v1.1.1
  • refs/tags/v1.2.0
  • refs/tags/v1.2.1
  • refs/tags/v1.2.2
  • refs/tags/v1.2.3
  • refs/tags/v1.3.0
  • refs/tags/v1.4.0
  • refs/tags/v1.5.0
  • refs/tags/v1.6.0
  • refs/tags/v1.7.1
  • release-automation
  • release-pipeline
  • rpc
  • server-simple-pattern
  • spa
  • throttle

06 Sep 2026 06:00PM UTC coverage: 79.881% (+0.05%) from 79.827%
34050351647

push

github

web-flow
fix: keep Content-Encoding on gzip-compressed error responses (#265)

* fix: keep Content-Encoding on compressed error responses

With gzip enabled, the file server's error path (custom or default 404,
416) drops Content-Encoding while the body still goes through the
compressing writer, so browsers render gzip bytes as text. The stdlib
file server clears the header on errors since Go 1.23.

gzipHandler now wraps the writer only when CompressHandler actually
compresses the request and restores the header on error statuses.
The wrapper exposes Flush and Unwrap so streamed responses still flush.

Related to #264

* test: read the flushed gzip chunk in full

* fix: recover panics inside the gzip layer

A panic unwinding through CompressHandler runs its deferred close, which
commits a 200 with an empty gzip body before the outer recoverer can
write the 500, and its error text then lands as a plaintext tail.
gzipHandler now wraps the next handler in a recoverer inside the
compressor, so the 500 goes out compressed and labeled.

* docs: backlog item for Recoverer swallowing ErrAbortHandler

22 of 24 new or added lines in 1 file covered. (91.67%)

1 existing line in 1 file now uncovered.

2696 of 3375 relevant lines covered (79.88%)

86.01 hits per line

Relevant lines Covered
Build:
Build:
3375 RELEVANT LINES 2696 COVERED LINES
86.01 HITS PER LINE
Source Files on master
  • Tree
  • List 19
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
34050351647 master fix: keep Content-Encoding on gzip-compressed error responses (#265) * fix: keep Content-Encoding on compressed error responses With gzip enabled, the file server's error path (custom or default 404, 416) drops Content-Encoding while the body st... push 06 Sep 2026 06:02PM UTC web-flow github
79.88
32434321318 master fix: bound mapper cache and reuse host regexes (#262) push 21 Aug 2026 12:54AM UTC web-flow github
79.83
32434312810 master test: stabilize health handler timing (#263) push 21 Aug 2026 12:54AM UTC web-flow github
79.72
32434317301 master fix: match routes on canonical escaped paths (#261) push 21 Aug 2026 12:54AM UTC web-flow github
79.75
32349290866 master fix: make DNS-01 propagation timeout configurable (#260) * fix: make DNS-01 propagation timeout configurable CertMagic waits 2 minutes for challenge records to propagate and reproxy never set the field, so a zone publishing slower than that coul... push 20 Aug 2026 08:33AM UTC web-flow github
79.75
32327652867 master docs: backlog item for the four golangci-lint v2.13.0 findings pin at v2.12.2 is a version baseline, not a fix. Records the four findings and that the pin advance must ship in the same change as the fixes. push 20 Aug 2026 03:19AM UTC umputun github
79.73
32326507406 master ci: gate release publishers on tests (#259) * ci: gate release publishers on tests a failed tag build could still publish binaries while container publication was skipped. Keep both tag publishers behind one native test gate and restrict the pri... push 20 Aug 2026 03:00AM UTC web-flow github
79.73
29387698115 master test: fix flaky tests from getFreePort port-allocation race getFreePort bound 127.0.0.1:0, closed the listener, and returned only the port, so an httptest.NewServer created later in setup could grab that freed port. h.Run then failed to bind and ... push 15 Jul 2026 03:57AM UTC umputun github
79.67
28693833391 master Fix file provider dropping config changes made within the delay window Previously, the debounce compared the file modification time against the previously submitted modification time, and that baseline only advanced on submission. A single change... push 04 Jul 2026 03:42AM UTC umputun github
79.73
28693733133 master Fix load balancing on catch-all server broken by default-route dedup Previously, the dedup added for #192 removed a default-server route whenever more than one route matched, without checking that a concrete server match was actually present. Wit... push 04 Jul 2026 03:38AM UTC umputun github
79.63
See All Builds (709)
  • Repo on GitHub
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