Skip to content

fix(apps): include sanitized response details in HTTP errors - #719

Merged
KAJdev merged 2 commits into
mainfrom
zeke/con-2061-flash-20-g-014-raise_for_status-discards-the
Nov 13, 2026
Merged

KAJdev merged 2 commits into
mainfrom
zeke/con-2061-flash-20-g-014-raise_for_status-discards-the

Conversation

@KAJdev

@KAJdev KAJdev commented Nov 11, 2026

Copy link
Copy Markdown
Contributor

Calling a remote function or task, reading pod logs, or uploading a build could fail with only an HTTP status. Printing the HTTP exception could also expose the account key or task token from request headers.

HTTP failures surface as AppHTTPError, an AppError subclass carrying the method, URL, status, and a response excerpt capped at 1,024 characters. For example, a 500 response containing {"error":"GPU capacity exhausted"} includes that explanation alongside the failed request. Job-status errors include the same detail and the job ID. If the body cannot be read, the error still reports the HTTP status.

Diagnostic URLs omit credentials and query strings. Excerpts redact reflected request credentials, including signed upload parameters, and exceptions carry no request headers.

Fixes CON-2061
Fixes CON-2057

Comment thread runpod/apps/logs.py Resolved
Comment thread runpod/apps/utils/http.py Resolved
@KAJdev
KAJdev merged commit fd16b99 into main Nov 13, 2026
9 checks passed
@KAJdev
KAJdev deleted the zeke/con-2061-flash-20-g-014-raise_for_status-discards-the branch November 13, 2026 19:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants