Files
responder/docs
kennethreitz 6a28ff3f61 Add conditional requests, upload streaming, rate-limit backends, app state
- resp.etag / resp.last_modified with automatic 304 Not Modified
  (RFC 7232: If-None-Match precedence, weak comparison, GET/HEAD only)
- req.stream() iterates large request bodies without buffering
- RateLimiter accepts pluggable backends; new RedisBackend shares
  budgets across processes (redis imported lazily, stays optional)
- api.state application namespace; req.api now populated with the
  owning API instance (was always None)

Fixes:
- API(static_dir=None) crashed on every route registration; the static
  fallback check now only applies when no endpoint is given, and raises
  ValueError instead of a bare assert

Performance:
- Request headers parse into the case-insensitive dict lazily (~5%
  faster dispatch on header-heavy requests that don't read headers)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 22:18:29 -04:00
..
2018-10-11 12:59:27 -04:00
2018-10-11 12:59:27 -04:00