FlowiseAI/Flowise · error · Error
HTTP Error ${res.status}: ${res.statusText}
Error message
HTTP Error ${res.status}: ${res.statusText} What it means
Thrown inside the try block of _call when the response from secureFetch is not ok (status outside 200-299). It surfaces the raw HTTP status code and status text. Note: in the shipped code this throw is always caught by the surrounding catch (error 482) and re-wrapped, so the message appears as 'Failed to make GET request: HTTP Error <status>: <text>'.
Source
Thrown at packages/components/nodes/tools/RequestsGet/core.ts:175
} catch (error) {
console.warn('Failed to process queryParamsSchema:', error)
}
} else if (params.queryParams && Object.keys(params.queryParams).length > 0) {
// Fallback: treat all parameters as query parameters if no schema is defined
const url = new URL(finalUrl)
Object.entries(params.queryParams).forEach(([key, value]) => {
url.searchParams.append(key, String(value))
})
finalUrl = url.toString()
}
try {
const res = await secureFetch(finalUrl, {
headers: requestHeaders
})
if (!res.ok) {
throw new Error(`HTTP Error ${res.status}: ${res.statusText}`)
}
const text = await res.text()
return text.slice(0, this.maxOutputLength)
} catch (error) {
throw new Error(`Failed to make GET request: ${error instanceof Error ? error.message : 'Unknown error'}`)
}
}
}
View on GitHub (pinned to abe4a8601a)
Solutions
- Log the full wrapped message to recover the real status code, then fix the underlying cause (URL, auth, payload).
- For 401/403, supply correct credentials/headers via the tool's `headers` field.
- For 429 or 5xx, retry with exponential backoff from the caller.
- For 404, verify the endpoint path and that the resource exists.
Example fix
// before
const res = await secureFetch(finalUrl, { headers: requestHeaders })
if (!res.ok) throw new Error(`HTTP Error ${res.status}: ${res.statusText}`)
// after (surface body for diagnostics before throwing)
const res = await secureFetch(finalUrl, { headers: requestHeaders })
if (!res.ok) {
const body = await res.text().catch(() => '')
throw new Error(`HTTP ${res.status} ${res.statusText}: ${body.slice(0, 500)}`)
} Defensive patterns
Strategy: retry
Validate before calling
async function safeGet(tool: any, maxRetries = 3) {
for (let attempt = 0; attempt <= maxRetries; attempt++) {
try {
return await tool._call({})
} catch (e) {
const msg = (e as Error).message
const m = msg.match(/HTTP Error (\d{3})/)
const code = m ? Number(m[1]) : 0
const transient = code === 429 || (code >= 500 && code < 600)
if (!transient || attempt === maxRetries) throw e
await new Promise((r) => setTimeout(r, 2 ** attempt * 500))
}
}
} Type guard
const isTransientHttpError = (e: unknown): boolean => {
const m = (e instanceof Error ? e.message : String(e)).match(/HTTP Error (\d{3})/)
if (!m) return false
const c = Number(m[1])
return c === 429 || (c >= 500 && c < 600)
} Try / catch
try { return await tool._call({}) }
catch (e) {
const code = ((e as Error).message.match(/HTTP Error (\d{3})/) || [])[1]
if (code === '401' || code === '403') throw new Error('Auth required for GET target')
if (code === '404') throw new Error('GET target not found')
throw e
} Prevention
- Validate the URL and required auth headers before the first call.
- Treat 429/5xx as retryable; 4xx (except 429) as permanent.
- Log the unwrapped status code so retries are driven by the real signal.
When it happens
Trigger: Target server returns any 4xx or 5xx status; endpoint moved (404); auth required (401/403); upstream gateway error (502/503/504); rate limited (429).
Common situations: Wrong base URL or path; missing/incorrect Authorization header; the API requires an API key not supplied via requestHeaders; transient server outage or maintenance window; rate-limit policy hit.
Related errors
- HTTP Error ${res.status}: ${res.statusText}
- HTTP Error ${res.status}: ${res.statusText}
- HTTP Error ${res.status}: ${res.statusText}
- ${errorMessage}
- HTTP error! status: ${response.status}
AI-assisted analysis of FlowiseAI/Flowise@abe4a8601a (2026-08-12).
Data as JSON: /api/errors/eef07f1cdfcf735a.
Report an issue: GitHub.