Files
responder/docs
kennethreitz 3fb3dfb2f9 v5.5: type-driven file uploads & form fields (File/Form markers)
- File() and Form() markers: File() injects a Starlette UploadFile (streamed,
  spooled to disk); Form() injects a coerced/validated form field like Query().
  list[UploadFile]/list[str] collect repeated fields; Annotated[] form works.
- responder.UploadFile exported.
- _resolve_markers is now async and parses the form once via Starlette's
  request.form() (replaying an already-buffered body when needed); file markers
  skip the scalar adapter.
- Multipart/urlencoded OpenAPI requestBody for form/file routes (files as
  {type: string, format: binary}) so docs show a file picker.
- Existing req.media('files') bytes-dict contract untouched.

Backwards-compatible. 531 tests pass; ruff + mypy clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 20:40:32 -04:00
..
2018-10-11 12:59:27 -04:00
2018-10-11 12:59:27 -04:00