Watch
1
0
Fork
You've already forked pkg-proxy
1
mirror of https://github.com/git-pkgs/proxy.git synced 2026-11-09 23:59:16 -05:00
pkg-proxy/internal/handler
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Wicliff Wolda e738a21a2a
test(handler): stop asserting on an upstream connection the proxy abandons
TestRelayRoutes fails intermittently on CI with "write: connection reset
by peer" at the upstream handler's final Flush, on /hex/packages/demo and
/gem/info/demo.

Those two routes are the only ones in the table that fan out a second
upstream request: with cooldown enabled, the hex and gem handlers fetch
version timestamps concurrently with the artifact. The test server answers
that sidecar request with the same 64 KiB chunked 502, but the handler
returns as soon as it sees a non-200 and closes the body unread, so the
proxy drops the connection while the test server is still writing to it.
Whether the reset lands before or after the Flush is a scheduling race,
which is why it only surfaces on loaded runners.

The flush error says nothing about the response under test, which is
asserted on the downstream side, so stop reporting it.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-10-01 15:30:22 +02:00
..
apk.go Use shared artifacts at cache boundaries (#267) 2026-09-04 10:58:22 +01:00
apk_test.go Add Alpine APK repository proxy support (#293) 2026-09-02 12:36:00 +01:00
cargo.go feat: add exact-version package denylist 2026-09-20 14:42:30 +05:30
cargo_test.go fix(upstream): honor npm and Cargo overrides (#200) 2026-07-26 19:11:24 +01:00
coalesce_semantics_test.go Clear before deleting on eviction, and requeue failed reclaims 2026-09-29 10:24:22 -07:00
coalesce_test.go Fix duplicate fetches and 502s on concurrent cache misses (#329) 2026-09-15 19:59:03 +01:00
composer.go fix: centralize pass-through response relaying 2026-09-26 15:44:28 +05:30
composer_test.go fix(composer): resolve *-dev versions from the ~dev metadata file (#174) 2026-06-26 07:51:08 -04:00
conan.go fix: centralize pass-through response relaying 2026-09-26 15:44:28 +05:30
conan_test.go Fix all golangci-lint issues across the codebase (#32) 2026-03-18 10:59:29 +00:00
conda.go fix: centralize pass-through response relaying 2026-09-26 15:44:28 +05:30
conda_encoding_test.go fix(conda): preserve gzip for large repodata indexes 2026-09-25 21:12:00 +05:30
conda_test.go Bump registries to v0.6.0 and replace internal/cooldown (#120) 2026-05-13 06:45:33 +01:00
container.go fix: centralize pass-through response relaying 2026-09-26 15:44:28 +05:30
container_manifest.go fix: centralize pass-through response relaying 2026-09-26 15:44:28 +05:30
container_metadata.go Add Homebrew JSON API and bottle proxy support (#254) 2026-09-03 16:59:12 +01:00
container_tags.go fix: centralize pass-through response relaying 2026-09-26 15:44:28 +05:30
container_test.go Add Homebrew JSON API and bottle proxy support (#254) 2026-09-03 16:59:12 +01:00
cran.go Make built-in upstream URLs configurable (#255) 2026-08-29 11:19:54 +01:00
cran_test.go Hello world 2026-01-20 22:00:31 +00:00
debian.go feat(debian): report a misspelled repository name 2026-09-18 16:48:18 -07:00
debian_test.go feat(debian): report a misspelled repository name 2026-09-18 16:48:18 -07:00
denylist.go feat: add exact-version package denylist 2026-09-20 14:42:30 +05:30
denylist_test.go Fix the handler test build 2026-09-21 13:51:48 -07:00
download_test.go feat(debian): serve additional APT archives at /debian/{name}/ 2026-09-15 15:35:04 -07:00
fetch_path_test.go Give each fetch its own storage path 2026-09-23 16:14:43 -07:00
filename_download.go Make built-in upstream URLs configurable (#255) 2026-08-29 11:19:54 +01:00
gem.go fix: centralize pass-through response relaying 2026-09-26 15:44:28 +05:30
gem_test.go Bump registries to v0.6.0 and replace internal/cooldown (#120) 2026-05-13 06:45:33 +01:00
generic.go Use shared artifacts at cache boundaries (#267) 2026-09-04 10:58:22 +01:00
generic_test.go Add generic HTTP download proxy for GitHub release assets (mise/aqua) (#302) 2026-09-03 16:44:54 +01:00
go.go feat: add exact-version package denylist 2026-09-20 14:42:30 +05:30
go_test.go Preserve Go proxy fallback for missing modules 2026-07-12 18:48:39 +00:00
gradle.go Add Homebrew JSON API and bottle proxy support (#254) 2026-09-03 16:59:12 +01:00
gradle_test.go add support for Gradle prometheus metrics (#124) 2026-05-22 12:09:00 +01:00
handler.go apply review changes 2026-10-01 10:09:33 +02:00
handler_bench_test.go Optimize cached artifact serving (#245) 2026-08-13 08:06:41 +01:00
handler_test.go Give each fetch its own storage path 2026-09-23 16:14:43 -07:00
helm.go Clear before deleting on eviction, and requeue failed reclaims 2026-09-29 10:24:22 -07:00
helm_oci.go fix(helm): support OCI references in HTTP repository indexes 2026-09-19 14:39:29 +05:30
helm_oci_test.go Assert omitted Helm releases are not downloadable 2026-09-22 08:35:20 +01:00
helm_test.go Give each fetch its own storage path 2026-09-23 16:14:43 -07:00
hex.go fix: centralize pass-through response relaying 2026-09-26 15:44:28 +05:30
hex_test.go Bump registries to v0.6.0 and replace internal/cooldown (#120) 2026-05-13 06:45:33 +01:00
homebrew.go fix(handler): let the ProxyCached path request a per-call Accept-Encoding (#324) 2026-09-15 19:50:44 +01:00
homebrew_test.go fix(handler): let the ProxyCached path request a per-call Accept-Encoding (#324) 2026-09-15 19:50:44 +01:00
if_none_match_test.go Add Homebrew JSON API and bottle proxy support (#254) 2026-09-03 16:59:12 +01:00
integrity.go Use shared integrity verification (#260) 2026-08-17 09:20:11 +01:00
integrity_test.go Use shared integrity verification (#260) 2026-08-17 09:20:11 +01:00
julia.go Make built-in upstream URLs configurable (#255) 2026-08-29 11:19:54 +01:00
julia_test.go Add Julia Pkg server support (#117) 2026-05-13 06:46:35 +01:00
maven.go fix: proper handling of upstream registry 404s (#209) 2026-07-26 19:07:46 +01:00
maven_test.go Update Gradle cache with the configurable plugin support (#114) 2026-05-22 17:05:20 +01:00
metadata_encoding_test.go fix(handler): preserve upstream content-encoding for cached metadata (#304) 2026-09-03 09:58:58 +01:00
notfound_ecosystems_test.go feat(debian): serve additional APT archives at /debian/{name}/ 2026-09-15 15:35:04 -07:00
notfound_test.go fix: proper handling of upstream registry 404s (#209) 2026-07-26 19:07:46 +01:00
npm.go apply review changes 2026-10-01 10:09:33 +02:00
npm_denylist.go feat: add exact-version package denylist 2026-09-20 14:42:30 +05:30
npm_test.go apply review changes 2026-10-01 10:09:33 +02:00
nuget.go fix: centralize pass-through response relaying 2026-09-26 15:44:28 +05:30
nuget_cooldown.go Fix NuGet cooldown enforcement for listings and downloads (#340) 2026-09-16 08:27:44 +01:00
nuget_cooldown_test.go Fix NuGet cooldown enforcement for listings and downloads (#340) 2026-09-16 08:27:44 +01:00
nuget_test.go Fix NuGet cooldown enforcement for listings and downloads (#340) 2026-09-16 08:27:44 +01:00
path_traversal_test.go Check for path traversal after URL decoding (#108) 2026-05-03 09:07:16 +01:00
proxy_cached_encoding_test.go fix(handler): let the ProxyCached path request a per-call Accept-Encoding (#324) 2026-09-15 19:50:44 +01:00
pub.go Use header constants across the handler package (#301) 2026-09-02 13:22:02 +01:00
pub_test.go Bump registries to v0.6.0 and replace internal/cooldown (#120) 2026-05-13 06:45:33 +01:00
pypi.go fix: centralize pass-through response relaying 2026-09-26 15:44:28 +05:30
pypi_denylist.go feat: add exact-version package denylist 2026-09-20 14:42:30 +05:30
pypi_test.go Make built-in upstream URLs configurable (#255) 2026-08-29 11:19:54 +01:00
read_metadata_test.go Make metadata size limit configurable (closes #149) (#150) 2026-06-02 07:59:00 +01:00
relay.go fix: centralize pass-through response relaying 2026-09-26 15:44:28 +05:30
relay_test.go test(handler): stop asserting on an upstream connection the proxy abandons 2026-10-01 15:30:22 +02:00
resolved_artifact_test.go fix(mirror): match cached artifacts by resolved filename 2026-09-23 17:51:49 +05:30
rpm.go Use header constants across the handler package (#301) 2026-09-02 13:22:02 +01:00
rpm_test.go Fix all golangci-lint issues across the codebase (#32) 2026-03-18 10:59:29 +00:00
scan_test.go Add pre-cache artifact scanning hook (trivy/ClamAV/Wiz/custom) (#298) 2026-09-03 10:06:44 +01:00
scanfetch.go Add pre-cache artifact scanning hook (trivy/ClamAV/Wiz/custom) (#298) 2026-09-03 10:06:44 +01:00
scanfetch_test.go Add pre-cache artifact scanning hook (trivy/ClamAV/Wiz/custom) (#298) 2026-09-03 10:06:44 +01:00
stale_cache_test.go Give each fetch its own storage path 2026-09-23 16:14:43 -07:00
swift.go fix: centralize pass-through response relaying 2026-09-26 15:44:28 +05:30
swift_test.go Discard a stale cache entry under the coalescing key (#348) 2026-09-16 08:20:27 +01:00
upstream_test.go Make built-in upstream URLs configurable (#255) 2026-08-29 11:19:54 +01:00