Files
open-webui/backend/open_webui/utils
Classic298andClaude 8ace4f0a8a perf: stop recomputing static work in per-response ASGI middlewares (#27229)
SecurityHeadersMiddleware called set_security_headers() on every
response — 14 os.environ.get lookups plus a regex validation per
configured header, for values that are static for the process
lifetime. Compute the header list once at construction; when no
security env vars are set, skip wrapping send entirely.

RedirectMiddleware decoded and parse_qs'd the query string of every
GET, though it only acts on /watch?v= and ?shared= URLs. Add a cheap
path/substring precheck first; a false positive just falls through to
the previous full parse, so no redirect behavior changes.

Verified byte-identical responses (status, Location, header values)
against the previous implementations across redirect, passthrough,
and no-env cases.


Claude-Session: https://claude.ai/code/session_01MHg5zs1VBjvRWQ54qHpfYD

Co-authored-by: Claude <noreply@anthropic.com>
2026-07-23 12:29:01 -04:00
..
2026-07-20 22:11:42 -04:00
2026-07-01 02:48:29 -05:00
2026-06-29 11:56:00 -05:00
2026-07-23 04:16:14 -04:00
2026-07-23 03:05:29 -04:00
2026-07-16 01:34:50 -04:00
2026-03-17 17:58:01 -05:00
2026-07-23 02:54:56 -04:00
2026-07-23 02:54:56 -04:00
2026-07-09 17:28:34 -05:00
2026-06-01 13:56:55 -07:00
2026-07-01 03:35:46 -05:00
2026-06-29 13:03:14 -05:00
2026-07-16 01:37:21 -04:00
2026-07-01 02:57:29 -05:00
2026-06-29 00:18:40 -05:00
2026-07-09 17:28:34 -05:00
2026-06-23 23:35:44 +02:00
2026-03-17 17:58:01 -05:00
2026-07-20 22:11:42 -04:00
2026-06-19 00:16:06 +02:00
2026-07-10 18:32:21 -05:00
2026-07-20 22:11:42 -04:00
2026-07-16 00:58:34 -04:00
2026-06-01 13:56:55 -07:00
2026-06-29 12:29:10 -05:00
2026-06-29 13:03:14 -05:00