Skip to content

Commit f7573fa

Browse files
authored
v0.3.24: api block fixes
2 parents 8fccd5c + 8016af6 commit f7573fa

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

apps/sim/tools/http/request.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,8 @@ export const requestTool: ToolConfig<RequestParams, RequestResponse> = {
171171
try {
172172
data = await (contentType.includes('application/json') ? response.json() : response.text())
173173
} catch (error) {
174-
data = await response.text()
174+
// If response body reading fails, we can't retry reading - just use error message
175+
data = `Failed to parse response: ${error instanceof Error ? error.message : String(error)}`
175176
}
176177

177178
return {

apps/sim/tools/index.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -399,8 +399,9 @@ async function handleInternalRequest(
399399

400400
const response = await fetch(fullUrl, requestOptions)
401401

402-
// Clone the response for error checking while preserving original for transformResponse
402+
// Clone the response immediately before any body consumption
403403
const responseForErrorCheck = response.clone()
404+
const responseForTransform = response.clone()
404405

405406
// Parse response data for error checking
406407
let responseData
@@ -468,7 +469,7 @@ async function handleInternalRequest(
468469
// Success case: use transformResponse if available
469470
if (tool.transformResponse) {
470471
try {
471-
const data = await tool.transformResponse(response, params)
472+
const data = await tool.transformResponse(responseForTransform, params)
472473
return data
473474
} catch (transformError) {
474475
logger.error(`[${requestId}] Transform response error for ${toolId}:`, {

0 commit comments

Comments
 (0)