[PR #22445] [MERGED] fix: prevent pipeline filter from corrupting chat payload on HTTP error #49750

Closed
opened 2026-04-30 02:03:38 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/open-webui/open-webui/pull/22445
Author: @alvinttang
Created: 3/8/2026
Status: Merged
Merged: 3/8/2026
Merged by: @tjbck

Base: devHead: fix/pipeline-filter-payload-corruption-v2


📝 Commits (1)

  • c366246 fix: prevent pipeline filter from corrupting payload on HTTP error

📊 Changes

1 file changed (+2 additions, -2 deletions)

View changed files

📝 backend/open_webui/routers/pipelines.py (+2 -2)

📄 Description

Description

  • Fixed a bug where pipeline inlet/outlet filters silently corrupt the user's chat payload on HTTP errors. payload = await response.json() ran before response.raise_for_status(), so on HTTP errors, the user's chat payload was overwritten with the error response body. Moved raise_for_status() before response.json() in both inlet and outlet filter functions.

Fixed

  • Pipeline filters now properly raise HTTP errors before attempting to parse response, preventing silent chat payload corruption

Additional Information

  • Both process_pipeline_inlet_filter and process_pipeline_outlet_filter had the same issue
  • Tested by reviewing the code path and confirming the fix follows the correct error-handling order
  • Self-reviewed the code changes
  • Rebased onto dev (replaces #22434)

Contributor License Agreement


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/open-webui/open-webui/pull/22445 **Author:** [@alvinttang](https://github.com/alvinttang) **Created:** 3/8/2026 **Status:** ✅ Merged **Merged:** 3/8/2026 **Merged by:** [@tjbck](https://github.com/tjbck) **Base:** `dev` ← **Head:** `fix/pipeline-filter-payload-corruption-v2` --- ### 📝 Commits (1) - [`c366246`](https://github.com/open-webui/open-webui/commit/c366246f026805bc2abe62b724d1fdf541fcc7b6) fix: prevent pipeline filter from corrupting payload on HTTP error ### 📊 Changes **1 file changed** (+2 additions, -2 deletions) <details> <summary>View changed files</summary> 📝 `backend/open_webui/routers/pipelines.py` (+2 -2) </details> ### 📄 Description ### Description - Fixed a bug where pipeline inlet/outlet filters silently corrupt the user's chat payload on HTTP errors. `payload = await response.json()` ran before `response.raise_for_status()`, so on HTTP errors, the user's chat payload was overwritten with the error response body. Moved `raise_for_status()` before `response.json()` in both inlet and outlet filter functions. ### Fixed - Pipeline filters now properly raise HTTP errors before attempting to parse response, preventing silent chat payload corruption ### Additional Information - Both `process_pipeline_inlet_filter` and `process_pipeline_outlet_filter` had the same issue - Tested by reviewing the code path and confirming the fix follows the correct error-handling order - Self-reviewed the code changes - Rebased onto dev (replaces #22434) ### Contributor License Agreement - [x] By submitting this pull request, I confirm that I have read and fully agree to the [Contributor License Agreement (CLA)](https://github.com/open-webui/open-webui/blob/main/CONTRIBUTOR_LICENSE_AGREEMENT), and I am providing my contributions under its terms. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-04-30 02:03:38 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#49750