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

go-pkgz / requester
93%
main: 88%

Build:
Build:
LAST BUILD BRANCH: master
DEFAULT BRANCH: main
Repo Added 17 Dec 2020 04:59AM UTC
Files 11
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
  • chore/example-deps
  • chore/go-fix
  • chore/update-deps
  • ci/lift-actions
  • fix-ci-caching
  • fix/cache-key-host
  • fix/redirect-credential-leak
  • fix/with-middleware-aliasing
  • initernal-middlewares
  • main
  • refs/tags/v0.0.1
  • refs/tags/v0.0.2
  • refs/tags/v0.0.3
  • refs/tags/v0.0.4
  • refs/tags/v0.1.0
  • refs/tags/v0.2.0
  • refs/tags/v0.2.1
  • refs/tags/v0.3.0
  • refs/tags/v0.4.0
  • refs/tags/v0.4.1
  • refs/tags/v0.5.0
  • repater-no-codes
  • retry-close-discarded
  • switch-to-repeater-v2

06 Oct 2026 04:35PM UTC coverage: 92.767% (+0.08%) from 92.687%
37496913882

push

github

web-flow
fix: close retried responses in retry middleware (#16)

Retry kept a response it decided to retry in lastResponse and looped, and
nothing closed its body. Each retried response held one TCP connection and
its transport goroutines for the lifetime of the client.

RoundTrip closes the body of a response dropped in favor of another attempt,
for a retryable status and for a response returned together with an error.
The response of the last attempt is returned to the caller open, as before.

The body is closed without draining. A read in the middleware has no time
bound and would block the retry when an upstream sends headers and stalls
the body. The go1.27.1 transport drains on close within its own limits and
reuses the connection. The go1.25.0 transport does not, so there a retried
response costs a new connection, which is closed and no longer leaked.

Related to #15

12 of 12 new or added lines in 1 file covered. (100.0%)

590 of 636 relevant lines covered (92.77%)

21.63 hits per line

Relevant lines Covered
Build:
Build:
636 RELEVANT LINES 590 COVERED LINES
21.63 HITS PER LINE
Source Files on master
  • Tree
  • List 11
  • 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
37496913882 master fix: close retried responses in retry middleware (#16) Retry kept a response it decided to retry in lastResponse and looped, and nothing closed its body. Each retried response held one TCP connection and its transport goroutines for the lifetime ... push 06 Oct 2026 04:36PM UTC web-flow github
92.77
32227807448 master fix: keep credentials on the host the request started from (#13) * fix: keep credentials on the host the request started from Header and BasicAuth restored credentials on every hop, including the ones the client stripped when a redirect left the... push 19 Aug 2026 07:26AM UTC web-flow github
92.69
32206000540 master chore: update dependencies (#12) testify to v1.12.0, which no longer needs go-spew and go-difflib, so the module graph loses two entries. _example gets patch-level updates only, go-redis v9.17.3 and a tidy that drops the stale go-redis v7 and pk... push 19 Aug 2026 01:45AM UTC web-flow github
92.35
32205993144 master chore: apply go fix (#11) interface{} to any across the package, loops over a count to range over int, membership loops to slices.Contains and a Sprintf-to-byte-slice to fmt.Appendf. All of it is available in go 1.23, the directive stays. push 19 Aug 2026 01:45AM UTC web-flow github
92.35
32205985563 master ci: update actions and linter to the current versions (#10) checkout v4 to v7, setup-go v5 to v6, golangci-lint-action v7 to v9 with golangci-lint v2.12.2. go-version stays at 1.23, matching go.mod. Empty branches and tags keys under the push tr... push 19 Aug 2026 01:45AM UTC web-flow github
92.36
32205701704 master fix: include the effective host in the cache key (#9) Both cache middlewares keyed responses on the URL only, so requests differing solely by Request.Host shared a cache entry and a response cached for one virtual host was served for another one.... push 19 Aug 2026 01:40AM UTC web-flow github
92.36
32205693170 master fix: don't share middleware backing array between requesters (#8) * fix: don't share middleware backing array between requesters With appended to the parent's middleware slice in place. When the parent chain had spare capacity, derived requester... push 19 Aug 2026 01:40AM UTC web-flow github
92.04
19937612470 master switch to go-pkgz/repeater/v2, add example to CI (#7) * switch example to github.com/go-pkgz/repeater/v2 Update example to use repeater v2 which has the same interface but uses NewFixed instead of deprecated NewDefault constructor. Bump example ... push 04 Dec 2025 05:17PM UTC web-flow github
92.05
19903533028 master Fix CI workflow: checkout before setup-go for proper caching (#6) - Move checkout step before setup-go to enable Go module caching - setup-go needs go.mod/go.sum files to generate cache keys - Update actions to latest versions (checkout@v4, setup... push 03 Dec 2025 05:51PM UTC web-flow github
92.05
17897334341 master ci: fix goveralls installation for Go 1.21 push 21 Sep 2025 06:24PM UTC umputun github
92.05
See All Builds (69)
  • 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