fix: add headers to metadata for guardrails on pass-through endpoints #17992
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Fixes #17477
Guardrails couldn't access request headers (like User-Agent) on Bedrock pass-through endpoints because headers were only stored in
data["proxy_server_request"]["headers"]but not indata["metadata"]["headers"]where guardrails typically look for them.This fix adds headers to metadata in
add_litellm_data_to_request()so guardrails can access User-Agent, API keys, and other header-based checks on all endpoints including Bedrock pass-through.Changes
data[metadata]["headers"]inlitellm/proxy/litellm_pre_call_utils.pyTest plan
test_add_litellm_data_to_request_adds_headers_to_metadata