Adjust client redirect handling - #1490
Conversation
|
This pull request is automatically built and testable in CodeSandbox. To see build info of the built libraries, click here or the icon next to each commit SHA. Latest deployment of this branch, based on commit 00c57ee:
|
There was a problem hiding this comment.
Pull request overview
This PR updates SDK HTTP request behavior to block redirects by setting fetch(..., { redirect: "error" }) across server, browser, core, and http clients, with accompanying tests/config updates to validate the new redirect handling (ENG-4593).
Changes:
- Switch request
redirectmode from"follow"to"error"across generated clients and shared request helpers. - Add/adjust Jest tests to assert redirect blocking and prevent request body forwarding across redirects.
- Add sdk-browser Jest configuration and a
testscript to run the new test suite.
Reviewed changes
Copilot reviewed 13 out of 17 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| packages/sdk-server/src/tests/request-test.ts | Updates request tests to mock global.fetch and assert redirect: "error". |
| packages/sdk-server/src/generated/sdk-client-base.ts | Sets redirect: "error" in the generated server SDK request. |
| packages/sdk-server/scripts/codegen.js | Updates server SDK codegen template to emit redirect: "error". |
| packages/sdk-browser/src/sdk-client.ts | Sets redirect: "error" for browser SDK server-sign requests. |
| packages/sdk-browser/src/tests/request-test.ts | Adds new browser tests asserting redirect blocking behavior. |
| packages/sdk-browser/src/generated/sdk-client-base.ts | Sets redirect: "error" in the generated browser SDK request. |
| packages/sdk-browser/scripts/codegen.js | Updates browser SDK codegen template to emit redirect: "error". |
| packages/sdk-browser/package.json | Adds a test script for sdk-browser. |
| packages/sdk-browser/jest.config.js | Adds moduleNameMapper entries needed for running sdk-browser tests. |
| packages/http/src/base.ts | Updates shared request options to use redirect: "error". |
| packages/http/src/tests/request-test.ts | Extends HTTP package tests to assert redirect blocking in client requests. |
| packages/http/src/generated/services/coordinator/public/v1/public_api.client.ts | Sets redirect: "error" in the generated HTTP client request. |
| packages/core/src/utils.ts | Adds redirect-blocking assertions and sets redirect: "error" for auth proxy fetches. |
| packages/core/src/redirects.ts | Adds a runtime capability assertion helper for redirect blocking support. |
| packages/core/src/tests/request-test.ts | Adds core tests validating redirect blocking and unsupported-runtime behavior. |
| packages/core/src/generated/sdk-client-base.ts | Adds redirect-blocking assertions and sets redirect: "error" for core requests. |
| packages/core/scripts/codegen.js | Updates core codegen to emit redirect-blocking assertions and redirect: "error". |
Files not reviewed (4)
- packages/core/src/generated/sdk-client-base.ts: Generated file
- packages/http/src/generated/services/coordinator/public/v1/public_api.client.ts: Generated file
- packages/sdk-browser/src/generated/sdk-client-base.ts: Generated file
- packages/sdk-server/src/generated/sdk-client-base.ts: Generated file
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
85feb5b to
fe0bff6
Compare
fe0bff6 to
375165f
Compare
db845af to
00c57ee
Compare
|
Wait on @r-n-o 's feedback on tkhq/rust-sdk#250 |
Closes ENG-4593