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

umputun / reproxy / 25770167686
79%

Build:
DEFAULT BRANCH: master
Ran 13 May 2026 12:22AM UTC
Jobs 1
Files 19
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

13 May 2026 12:20AM UTC coverage: 79.214% (+0.9%) from 78.307%
25770167686

push

github

web-flow
feat: per-route timeout and throttle (#140)

* add plan: per-route-timeout-throttle

* feat: add Timeout and Throttle fields to URLMapper with file provider parsing

Adds per-route Timeout (time.Duration) and Throttle (int) fields to the
URLMapper struct. Zero values preserve existing global-fallback behavior.

extendMapper now propagates both fields through the simple-extension path
so routes like /api/ -> /dst/ don't silently lose per-route config before
reaching Match().

File (yaml) provider parses timeout as a duration string and throttle as
int. Negative timeout/throttle values surface as parse errors.

Part of plan 20260512-per-route-timeout-throttle.md (Task 1 of 10).

* feat: extend static provider CSV format with timeout and throttle fields

Extend rule format from server,source,dest[,ping[,forward-health-checks]]
to server,source,dest[,ping[,forward-health-checks[,timeout[,throttle]]]].
Empty positional fields inherit global defaults; invalid duration,
non-integer throttle, or negative values return parse errors at startup.

* feat: add timeout and throttle labels to docker provider

Read reproxy.<n>.timeout and reproxy.<n>.throttle labels via the
existing labelN helper. Invalid duration, non-integer, or negative
values warn and fall back to zero (matches the warn-and-zero pattern
of forward-health-checks/keep-host), so a single bad label cannot
crash discovery for the entire fleet.

* feat: add timeout and throttle labels to consul-catalog provider

Parse reproxy.timeout and reproxy.throttle labels with warn-and-zero
semantics matching the docker provider behavior.

* feat: add routeTimeoutHandler middleware for per-route request deadlines

When a matched URLMapper has Timeout > 0, wrap the request context with
context.WithTimeout and override the connection's read/write deadlines via
http.ResponseController. The middleware runs immediately after matchHandler
and before per-route auth/throttle so auth and limiter work runs inside the
per-r... (continued)

183 of 191 new or added lines in 7 files covered. (95.81%)

2580 of 3257 relevant lines covered (79.21%)

31.23 hits per line

Uncovered Changes

Lines Coverage ∆ File
8
95.36
-2.97% app/proxy/handlers.go
Jobs
ID Job ID Ran Files Coverage
1 25770167686.1 13 May 2026 12:22AM UTC 19
79.21
GitHub Action Run
Source Files on build 25770167686
  • Tree
  • List 19
  • Changed 7
  • Source Changed 0
  • Coverage Changed 7
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • d79d7134 on github
  • Prev Build on master (#25722912491)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc