GeezerVison is showing github.com — fix(http): stop treating 200 bodies with status and data keys as proxy responses by waleedlatif1 · Pull Request #9889 · simstudioai/sim
Conversation
Summary
- Fixes [BUG] http_request / webhook_request report a successful HTTP 200 as failed when the JSON body has top-level status and data keys #9838:
http_request and webhook_request reported a 200 as failed when the JSON body had top-level status and data keys (JSend-style {"status":"success","data":{...}})
- Root cause:
transformResponse in both tools still sniffed the body for the envelope the old /api/proxy route returned ({success,status,data,headers}). That route was removed in improvement(files): update execution for passing base64 strings #2906, so the branch only ever matched third-party bodies, returning success: undefined, the body's status string instead of the HTTP code, and empty headers
- Removed the branch from both tools; every response now goes through the normal path (
success: response.ok, real status and headers). Non-2xx is still rejected earlier in executeTool
- Behavior change: a 200 body shaped
{success: true, status, data} was previously unwrapped (<api.data> was the inner data). It now returns the full body like every other response, so such references move to <api.data.data>
Type of Change
Testing
- Added a regression test in
tools/index.test.ts that runs both real tools through executeTool (the file's mocked registry stubs http_request, which is why existing tests missed this). Red on the pre-fix code, green after
bunx vitest run tools/index.test.ts tools/http executor/handlers/api (278 passed), biome, check:test-patterns, check:comment-hygiene; full gate in CI
Checklist
- Code follows project style guidelines
- Self-reviewed my changes
- Tests added/updated and passing (new tests pass the
test-audit authoring gate)
- No new warnings introduced
- I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
greptile-apps[bot] reacted with thumbs up emoji
|
The latest updates on your projects. Learn more about Vercel for GitHub.
1 Skipped Deployment
| Project |
Deployment |
Actions |
Updated |
docs |
Skipped |
|
Nov 11, 2026 8:36pm UTC |

|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No issues found across 3 files
Confidence score: 5/5
- Automated review surfaced no issues in the provided summaries.
- No files require special attention.
Turn on auto-fix | Re-trigger cubic
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
 Confidence Score: 5/5
[Medium impact] The PR appears safe to merge.
Summary
Both HTTP tools now use the HTTP response to decide success and return its full body, status, and headers.
- HTTP tools keep response bodies with status and data fields intact.
Reviews (1) · Last reviewed commit: "fix(http): stop treating 200 bodies with..." · Reviewed by Greptile
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
waleedlatif1
added a commit
that referenced
this pull request
Nov 11, 2026
…flows (#9909)
#9889 fixed JSend-style 200s ({status, data}) being reported as failures by
deleting the old /api/proxy envelope branch outright. That also changed two
behaviors existing workflows rely on: 200 bodies with success/status/data were
unwrapped (<api.data.x> read the inner data) and success: false failed the
block. Restore both through one shared toHttpToolResponse helper, gated on the
body carrying a success field — the only shape the old route ever produced —
so only the misclassified case changes. Non-string envelope errors are now
serialized instead of surfacing as [object Object].
This branch was previously deployed
1 inactive
deployment
Uh oh!
There was an error while loading. Please reload this page.
Assignees
No one assigned
Milestone
No milestone
Development
Successfully merging this pull request may close these issues.
Uh oh!
There was an error while loading. Please reload this page.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
|