Release v4.2.0
v4.2.0
Added
-
proxy.fetchWeb(request: Request): Promise<Response>— a Web-standard
adapter overfetch()for Web runtimes (Hono, Bun, Cloudflare Workers, Deno).
It takes a WHATWGRequestand returns a WHATWGResponse, so Web-runtime
consumers stop hand-rolling theRequest->HttpRequestandReadable->
ReadableStreamconversion.// Hono app.on(['GET', 'HEAD'], '/*', (c) => proxy.fetchWeb(c.req.raw)); // Bun / Deno / Cloudflare Workers export default { fetch: (req: Request) => proxy.fetchWeb(req) };
It is the Web counterpart of
pipe()/middleware(). Likefetch()(and
unlikepipe()), it throws the typedS3ProxyErroron 404/403/416, so your
framework's own error handler owns the error-body format. Uses the runtime's
globalRequest/Response— no new dependency.
Developer tooling
make artillery-local— fast local-source load-test loop: runs the shared
@forkzero/s3-website-test-kitagainst atsxexample server on your local
src/, with no build and no Docker image.make artillery-dockerremains the
container-parity path.
Internal
- Load-test configs and scenarios extracted to the published, target-agnostic
@forkzero/s3-website-test-kit
package (shared withforkzero/s3proxy-docker), replacing the in-repo
shared-testing/directory.
Compatibility
No breaking changes. ESM-only, Node.js 22.13+, AWS SDK v3.
Full API reference and examples in the
README; upgrade notes in
MIGRATION.md.