litestar-middleware · git:20260606.cac7da7 · 2026-06-06 · sha256 852b8e7a76b214a3

litestar-middleware git:20260606.cac7da7A

Immutable. This exact content is served forever at /api/v1/blob/852b8e7a76b214a3.

---
name: litestar-middleware
description: "Auto-activate for ASGIMiddleware, DefineMiddleware, middleware=, CORSConfig, CSRFConfig, AllowedHostsConfig, CompressionConfig, request IDs, or ASGI scopes. Not for route logic."
---

# Litestar Middleware

Use this skill for built-in middleware config, custom ASGI middleware, request lifecycle hooks, and auth user loading.

## Code Style Rules

- Use built-in middleware configs before custom middleware.
- Keep middleware focused on cross-cutting request behavior.
- Filter by ASGI scope when middleware applies only to HTTP or WebSocket.
- Keep business policy in Guards and services.

## Quick Reference

- Middleware patterns: [middleware.md](references/middleware.md)
- Pair with [litestar-auth-guards](../litestar-auth-guards/SKILL.md) for permission checks.
- Pair with [litestar-deployment](../litestar-deployment/SKILL.md) for proxy and platform concerns.

<workflow>

## Workflow

1. Decide whether a built-in config solves the need.
2. Choose custom middleware only for cross-cutting behavior.
3. Set ordering deliberately.
4. Verify HTTP and WebSocket behavior separately when both apply.

</workflow>

<guardrails>

## Guardrails

- Do not put business workflows in middleware.
- Do not apply HTTP-only middleware to WebSocket scopes.
- Do not mutate request state without documenting the key.
- Do not duplicate Guard policy in middleware.

</guardrails>

<validation>

## Validation Checkpoint

- [ ] Middleware order is intentional.
- [ ] Scope filtering is correct.
- [ ] Built-in configs are used where available.
- [ ] Tests cover the request path affected by middleware.

</validation>

<example>

## Example

```python
from litestar.middleware import ASGIMiddleware

middleware = [RequestIDMiddleware()]
```

</example>

## References Index

- [middleware.md](references/middleware.md)

## Official References

- <https://docs.litestar.dev/> - Litestar documentation
- <https://docs.litestar.dev/latest/reference/> - Litestar API reference

## Shared Styleguide Baseline

- [General](../litestar-styleguide/references/general.md)
- [Python](../litestar-styleguide/references/python.md)
- [Litestar](../litestar-styleguide/references/litestar.md)