llama-stack/llama_stack/distribution
Peter Double 86c6f1f112
fix: FastAPI built-in paths bypass custom routing (Docs) and update r… (#1841)
## What does this PR do?

This PR improves the server's request routing logic by ensuring built-in
FastAPI paths such as `/docs`, `/redoc`, `/openapi.json`,
`/favicon.ico`, and `/static` bypass the custom `TracingMiddleware`.
This prevents unnecessary tracing logic for documentation and static
file requests, ensuring better performance and cleaner logs.

Additionally, it adds proper metadata (`title`, `description`, and
`version`) to the FastAPI application initialization and updates the
requirements document accordingly.

[//]: # (Closes #1822 )

---

## Test Plan

- Ran the server locally with `uvicorn` using the provided `run.yaml`
config
- Verified that:
- FastAPI docs (`/docs`, `/redoc`) load correctly without triggering the
custom tracing middleware
  - All other routes still go through the middleware and trace logic
  - Application metadata appears as expected in the OpenAPI docs

To reproduce:
1. Start the server with `python server.py --template <template-name>`
2. Navigate to `/docs` and `/redoc`
3. Confirm that no extra trace headers are added for those routes
4. Confirm other API endpoints behave as expected and include
`x-trace-id` in the response headers

[//]: # (## Documentation)

---

Froze the requirements file to include many of the other libraries that
have been added in the past few releases to make install easier.

---------

Co-authored-by: Sébastien Han <seb@redhat.com>
2025-04-14 13:28:25 -04:00
..
routers fix: 100% OpenAI API verification for together and fireworks (#1946) 2025-04-14 08:56:29 -07:00
server fix: FastAPI built-in paths bypass custom routing (Docs) and update r… (#1841) 2025-04-14 13:28:25 -04:00
store fix: handle registry errors gracefully (#1732) 2025-03-20 15:24:07 -07:00
ui feat: Add a direct (non-agentic) RAG option to the Playground RAG page (#1940) 2025-04-11 10:16:10 -07:00
utils feat: add health to all providers through providers endpoint (#1418) 2025-04-14 11:59:36 +02:00
__init__.py API Updates (#73) 2024-09-17 19:51:35 -07:00
access_control.py feat: make sure agent sessions are under access control (#1737) 2025-03-21 07:31:16 -07:00
build.py refactor: simplify command execution and remove PTY handling (#1641) 2025-03-17 15:03:14 -07:00
build_conda_env.sh chore: remove straggler references to llama-models (#1345) 2025-03-01 14:26:03 -08:00
build_container.sh fix: Add missing gcc in container build. Fixes #1716 (#1727) 2025-03-20 15:50:56 -04:00
build_venv.sh chore: remove straggler references to llama-models (#1345) 2025-03-01 14:26:03 -08:00
client.py chore: move all Llama Stack types from llama-models to llama-stack (#1098) 2025-02-14 09:10:59 -08:00
common.sh fix: Fixing some small issues with the build scripts (#1132) 2025-02-19 22:20:49 -08:00
configure.py feat: add provider API for listing and inspecting provider info (#1429) 2025-03-13 15:07:21 -07:00
datatypes.py feat: ability to execute external providers (#1672) 2025-04-09 10:30:41 +02:00
distribution.py feat: ability to execute external providers (#1672) 2025-04-09 10:30:41 +02:00
inspect.py feat: add health to all providers through providers endpoint (#1418) 2025-04-14 11:59:36 +02:00
library_client.py feat: add health to all providers through providers endpoint (#1418) 2025-04-14 11:59:36 +02:00
providers.py feat: add health to all providers through providers endpoint (#1418) 2025-04-14 11:59:36 +02:00
request_headers.py feat(server): add attribute based access control for resources (#1703) 2025-03-19 21:28:52 -07:00
resolver.py feat: add health to all providers through providers endpoint (#1418) 2025-04-14 11:59:36 +02:00
stack.py feat: add health to all providers through providers endpoint (#1418) 2025-04-14 11:59:36 +02:00
start_stack.sh docs: Update docs and fix warning in start-stack.sh (#1937) 2025-04-11 16:26:17 -07:00