fix(playground-preview-worker,edge-preview-authenticated-proxy): ensure no body is passed when constructing a GET or HEAD request to the preview worker#7793
Conversation
🦋 Changeset detectedLatest commit: 795620c The changes in this PR will be included in the next version bump. This PR includes changesets to release 2 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
A wrangler prerelease is available for testing. You can install this latest build in your project with: npm install --save-dev https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12929815285/npm-package-wrangler-7793You can reference the automatically updated head of this PR with: npm install --save-dev https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/prs/7793/npm-package-wrangler-7793Or you can use npx https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12929815285/npm-package-wrangler-7793 dev path/to/script.jsAdditional artifacts:cloudflare-workers-bindings-extension: wget https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12929815285/npm-package-cloudflare-workers-bindings-extension-7793 -O ./cloudflare-workers-bindings-extension.0.0.0-v7ffe58091.vsix && code --install-extension ./cloudflare-workers-bindings-extension.0.0.0-v7ffe58091.vsixcreate-cloudflare: npx https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12929815285/npm-package-create-cloudflare-7793 --no-auto-update@cloudflare/kv-asset-handler: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12929815285/npm-package-cloudflare-kv-asset-handler-7793miniflare: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12929815285/npm-package-miniflare-7793@cloudflare/pages-shared: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12929815285/npm-package-cloudflare-pages-shared-7793@cloudflare/unenv-preset: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12929815285/npm-package-cloudflare-unenv-preset-7793@cloudflare/vite-plugin: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12929815285/npm-package-cloudflare-vite-plugin-7793@cloudflare/vitest-pool-workers: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12929815285/npm-package-cloudflare-vitest-pool-workers-7793@cloudflare/workers-editor-shared: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12929815285/npm-package-cloudflare-workers-editor-shared-7793@cloudflare/workers-shared: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12929815285/npm-package-cloudflare-workers-shared-7793@cloudflare/workflows-shared: npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12929815285/npm-package-cloudflare-workflows-shared-7793Note that these links will no longer work once the GitHub Actions artifact expires.
Please ensure constraints are pinned, and |
beea6fa to
d7dc19c
Compare
| expect(await resp.text()).toEqual("PUT"); | ||
| }); | ||
|
|
||
| it.each(["GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS"])( |
d7dc19c to
795620c
Compare
| method, | ||
| headers, | ||
| body: method === "GET" || method === "HEAD" ? null : request.body, | ||
| redirect: "manual", |
There was a problem hiding this comment.
I have checked which properties we can pass here and it looks like only these 4 are relevant. But if you think differently, please let me know 👍🏼
| async (method) => { | ||
| const token = randomBytes(4096).toString("hex"); | ||
| const resp = await worker.fetch( | ||
| `https://0000.rawhttp.devprod.cloudflare.dev/method`, |
There was a problem hiding this comment.
What's the reason for testing a remote worker here? Can we just use Miniflare for this?
There was a problem hiding this comment.
It is local 👍🏼 . We are running two separate instances through unstable_dev to mimick proxy <-> remote communication:
workers-sdk/packages/edge-preview-authenticated-proxy/tests/index.test.ts
Lines 309 to 379 in 795620c
Fixes #7791, #7630
This PR fixes the following error we see after releasing the change on #7639.
The implementation has been updated in both
playground-preview-workerandedge-preview-authenticated-proxy, which are used by the worker playground and the dashboard.Note: This change itself will not affect how playground and dashboard works as the behavior is opt-in. We will have to un-revert #7639 and we should be able to verify this on the preview playground.