litellm/litellm-rust/crates/http/src
Yujong Lee c404bed9f0 feat(rust): add Amazon Textract to litellm.ocr and sign provider requests after host hooks
Add an aws_textract OCR provider on the Rust route, with no Python path. The
detect-document-text model returns plain lines and analyze-document renders
layout and tables as markdown. Both use Textract's synchronous API, so a
multi-page PDF or TIFF is rejected with an error that names the single-page
limit. A call with no region fails instead of falling back to Bedrock's default

SigV4 covers the request body, and host hooks can rewrite that body before it
is sent. litellm-http now has OutboundRequest, which serializes the body once,
shows those bytes to a RequestSigner and is the only thing a route can send.
Chat, audio transcription and OCR build it after their hooks ran, so a callback
that redacts the body still produces a valid Bedrock or Textract signature

ChatCompletionsAuth and AudioTranscriptionAuth are replaced by
litellm_auth::RequestAuth, and one helper in core turns it into a signed or
unsigned request. Audio transcription now signs only the AWS header set and
rejects a forwarded header that SigV4 computes, the same as chat

The OCR catalog routes aws_textract as Rust required, and the dispatch context
reads the provider from the model prefix so a provider scoped rule can match
2026-09-19 09:11:52 -07:00
..
config.rs refactor(rust): read proxy env vars through the settings lookup 2026-09-18 20:41:07 -07:00
error.rs feat(rust): add Amazon Textract to litellm.ocr and sign provider requests after host hooks 2026-09-19 09:11:52 -07:00
lib.rs feat(rust): add Amazon Textract to litellm.ocr and sign provider requests after host hooks 2026-09-19 09:11:52 -07:00
media.rs fix(rust): redact proxy credentials in Debug and build the proxy matcher once 2026-09-19 08:30:35 -07:00
outbound.rs feat(rust): add Amazon Textract to litellm.ocr and sign provider requests after host hooks 2026-09-19 09:11:52 -07:00
pool.rs refactor(rust): read proxy env vars through the settings lookup 2026-09-18 20:41:07 -07:00
proxy.rs fix(rust): drop http_proxy under CGI where environment names ignore case 2026-09-19 08:37:27 -07:00
request.rs refactor(rust): split custom_httpx into litellm-http and the OCR handler 2026-09-18 20:46:36 -07:00
settings.rs refactor(rust): read proxy env vars through the settings lookup 2026-09-18 20:41:07 -07:00
tls.rs refactor(rust): resolve the http client config through From and TryFrom 2026-09-18 19:48:34 -07:00
transport.rs refactor(rust): split custom_httpx into litellm-http and the OCR handler 2026-09-18 20:46:36 -07:00