This commit is contained in:
kennethreitz
2026-03-24 20:24:26 +00:00
parent 9d31549fe8
commit 5cfbe13ddf
33 changed files with 406 additions and 322 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file records the configuration used when building these files. When it is not found, a full rebuild will be done.
config: c08221e9f0bc76c34b3bf9a7331fe62a
config: c4ffdc22e8e2f024e32bdac6fd7533c9
tags: 645f666f9bcd5a90fca523b33c5a78b7
Binary file not shown.
Binary file not shown.
+3 -3
View File
@@ -4,13 +4,13 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Overview: module code &#8212; responder 3.5.0 documentation</title>
<title>Overview: module code &#8212; responder 3.6.0 documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=5ecbeea2" />
<link rel="stylesheet" type="text/css" href="../_static/basic.css?v=b08954a9" />
<link rel="stylesheet" type="text/css" href="../_static/alabaster.css?v=27fed22d" />
<link rel="stylesheet" type="text/css" href="../_static/copybutton.css?v=76b2166b" />
<link rel="stylesheet" type="text/css" href="../_static/design-elements.e5416f61bae5d36adc6d722a2b6f8cff.css?v=452a8e97" />
<script src="../_static/documentation_options.js?v=c1362a89"></script>
<script src="../_static/documentation_options.js?v=5349f462"></script>
<script src="../_static/doctools.js?v=9bcbadda"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/clipboard.min.js?v=a7894cd8"></script>
@@ -58,7 +58,7 @@
<p>
<strong>Responder</strong> — a familiar HTTP service framework for Python.
<br />
<small>v3.5.0</small>
<small>v3.6.0</small>
</p>
<h3>Useful Links</h3>
<ul>
+3 -3
View File
@@ -4,13 +4,13 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>responder.api &#8212; responder 3.5.0 documentation</title>
<title>responder.api &#8212; responder 3.6.0 documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=5ecbeea2" />
<link rel="stylesheet" type="text/css" href="../../_static/basic.css?v=b08954a9" />
<link rel="stylesheet" type="text/css" href="../../_static/alabaster.css?v=27fed22d" />
<link rel="stylesheet" type="text/css" href="../../_static/copybutton.css?v=76b2166b" />
<link rel="stylesheet" type="text/css" href="../../_static/design-elements.e5416f61bae5d36adc6d722a2b6f8cff.css?v=452a8e97" />
<script src="../../_static/documentation_options.js?v=c1362a89"></script>
<script src="../../_static/documentation_options.js?v=5349f462"></script>
<script src="../../_static/doctools.js?v=9bcbadda"></script>
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../../_static/clipboard.min.js?v=a7894cd8"></script>
@@ -738,7 +738,7 @@
<p>
<strong>Responder</strong> — a familiar HTTP service framework for Python.
<br />
<small>v3.5.0</small>
<small>v3.6.0</small>
</p>
<h3>Useful Links</h3>
<ul>
+3 -3
View File
@@ -4,13 +4,13 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>responder.background &#8212; responder 3.5.0 documentation</title>
<title>responder.background &#8212; responder 3.6.0 documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=5ecbeea2" />
<link rel="stylesheet" type="text/css" href="../../_static/basic.css?v=b08954a9" />
<link rel="stylesheet" type="text/css" href="../../_static/alabaster.css?v=27fed22d" />
<link rel="stylesheet" type="text/css" href="../../_static/copybutton.css?v=76b2166b" />
<link rel="stylesheet" type="text/css" href="../../_static/design-elements.e5416f61bae5d36adc6d722a2b6f8cff.css?v=452a8e97" />
<script src="../../_static/documentation_options.js?v=c1362a89"></script>
<script src="../../_static/documentation_options.js?v=5349f462"></script>
<script src="../../_static/doctools.js?v=9bcbadda"></script>
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../../_static/clipboard.min.js?v=a7894cd8"></script>
@@ -144,7 +144,7 @@
<p>
<strong>Responder</strong> — a familiar HTTP service framework for Python.
<br />
<small>v3.5.0</small>
<small>v3.6.0</small>
</p>
<h3>Useful Links</h3>
<ul>
+3 -3
View File
@@ -4,13 +4,13 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>responder.ext.ratelimit &#8212; responder 3.5.0 documentation</title>
<title>responder.ext.ratelimit &#8212; responder 3.6.0 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=5ecbeea2" />
<link rel="stylesheet" type="text/css" href="../../../_static/basic.css?v=b08954a9" />
<link rel="stylesheet" type="text/css" href="../../../_static/alabaster.css?v=27fed22d" />
<link rel="stylesheet" type="text/css" href="../../../_static/copybutton.css?v=76b2166b" />
<link rel="stylesheet" type="text/css" href="../../../_static/design-elements.e5416f61bae5d36adc6d722a2b6f8cff.css?v=452a8e97" />
<script src="../../../_static/documentation_options.js?v=c1362a89"></script>
<script src="../../../_static/documentation_options.js?v=5349f462"></script>
<script src="../../../_static/doctools.js?v=9bcbadda"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../../../_static/clipboard.min.js?v=a7894cd8"></script>
@@ -127,7 +127,7 @@
<p>
<strong>Responder</strong> — a familiar HTTP service framework for Python.
<br />
<small>v3.5.0</small>
<small>v3.6.0</small>
</p>
<h3>Useful Links</h3>
<ul>
+3 -3
View File
@@ -4,13 +4,13 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>responder.models &#8212; responder 3.5.0 documentation</title>
<title>responder.models &#8212; responder 3.6.0 documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=5ecbeea2" />
<link rel="stylesheet" type="text/css" href="../../_static/basic.css?v=b08954a9" />
<link rel="stylesheet" type="text/css" href="../../_static/alabaster.css?v=27fed22d" />
<link rel="stylesheet" type="text/css" href="../../_static/copybutton.css?v=76b2166b" />
<link rel="stylesheet" type="text/css" href="../../_static/design-elements.e5416f61bae5d36adc6d722a2b6f8cff.css?v=452a8e97" />
<script src="../../_static/documentation_options.js?v=c1362a89"></script>
<script src="../../_static/documentation_options.js?v=5349f462"></script>
<script src="../../_static/doctools.js?v=9bcbadda"></script>
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../../_static/clipboard.min.js?v=a7894cd8"></script>
@@ -710,7 +710,7 @@
<p>
<strong>Responder</strong> — a familiar HTTP service framework for Python.
<br />
<small>v3.5.0</small>
<small>v3.6.0</small>
</p>
<h3>Useful Links</h3>
<ul>
+3 -3
View File
@@ -4,13 +4,13 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>responder.status_codes &#8212; responder 3.5.0 documentation</title>
<title>responder.status_codes &#8212; responder 3.6.0 documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=5ecbeea2" />
<link rel="stylesheet" type="text/css" href="../../_static/basic.css?v=b08954a9" />
<link rel="stylesheet" type="text/css" href="../../_static/alabaster.css?v=27fed22d" />
<link rel="stylesheet" type="text/css" href="../../_static/copybutton.css?v=76b2166b" />
<link rel="stylesheet" type="text/css" href="../../_static/design-elements.e5416f61bae5d36adc6d722a2b6f8cff.css?v=452a8e97" />
<script src="../../_static/documentation_options.js?v=c1362a89"></script>
<script src="../../_static/documentation_options.js?v=5349f462"></script>
<script src="../../_static/doctools.js?v=9bcbadda"></script>
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../../_static/clipboard.min.js?v=a7894cd8"></script>
@@ -176,7 +176,7 @@
<p>
<strong>Responder</strong> — a familiar HTTP service framework for Python.
<br />
<small>v3.5.0</small>
<small>v3.6.0</small>
</p>
<h3>Useful Links</h3>
<ul>
+33
View File
@@ -5,6 +5,38 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and
this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [v3.6.0] - 2026-03-24
### Added
- Built-in structured logging with per-request context (`enable_logging=True`)
- `api.log` — always-available logger, enriched with request context when logging is enabled
- Automatic access logging with timing: `GET /path → 200 (1.2ms)`
- Request ID generation/forwarding via `X-Request-ID` header
- `contextvars`-based request context (ID, method, path, client IP) on every log record
- `responder.ext.logging` module: `get_logger()`, `RequestContext`, `RequestContextFilter`
- CLAUDE.md project guide and `/release` command
- Version number in docs sidebar
### Changed
- Comprehensive documentation improvements across all pages
- Deployment: health checks, Docker Compose, Caddy, Procfile, production checklist
- API reference: usage examples for every class
- Feature tour: Pydantic validation, content negotiation, structured logging sections
- Tutorials: modernized SQLAlchemy to `mapped_column()`, fixed deprecated `datetime.utcnow()`,
WebSocket `WebSocketDisconnect` handling, role-based auth, auth strategy guide
- Testing: rate limiting and WSGI mount examples
- Middleware: pure ASGI middleware example
- Quickstart: links to all tutorials
- Sandbox: full rewrite with project layout
- Docker example uses `uv` instead of pip
- Backlog updated: removed implemented features, replaced HTTP/2 server push with dependency injection
### Removed
- `uv.lock` — this is a library, not an application
## [v3.5.0] - 2026-03-24
### Added
@@ -459,6 +491,7 @@ this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
- Conception!
[v3.6.0]: https://github.com/kennethreitz/responder/compare/v3.5.0..v3.6.0
[v3.5.0]: https://github.com/kennethreitz/responder/compare/v3.4.0..v3.5.0
[v3.4.0]: https://github.com/kennethreitz/responder/compare/v3.3.0..v3.4.0
[v3.3.0]: https://github.com/kennethreitz/responder/compare/v3.2.0..v3.3.0
+1 -1
View File
@@ -1,5 +1,5 @@
const DOCUMENTATION_OPTIONS = {
VERSION: '3.5.0',
VERSION: '3.6.0',
LANGUAGE: 'en',
COLLAPSE_INDEX: false,
BUILDER: 'html',
+3 -3
View File
@@ -5,13 +5,13 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>API Reference &#8212; responder 3.5.0 documentation</title>
<title>API Reference &#8212; responder 3.6.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=5ecbeea2" />
<link rel="stylesheet" type="text/css" href="_static/basic.css?v=b08954a9" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=27fed22d" />
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
<link rel="stylesheet" type="text/css" href="_static/design-elements.e5416f61bae5d36adc6d722a2b6f8cff.css?v=452a8e97" />
<script src="_static/documentation_options.js?v=c1362a89"></script>
<script src="_static/documentation_options.js?v=5349f462"></script>
<script src="_static/doctools.js?v=9bcbadda"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="_static/clipboard.min.js?v=a7894cd8"></script>
@@ -979,7 +979,7 @@ into. Useful in middleware and after-request hooks:</p>
<p>
<strong>Responder</strong> — a familiar HTTP service framework for Python.
<br />
<small>v3.5.0</small>
<small>v3.6.0</small>
</p>
<h3>Useful Links</h3>
<ul>
+3 -3
View File
@@ -5,13 +5,13 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Backlog &#8212; responder 3.5.0 documentation</title>
<title>Backlog &#8212; responder 3.6.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=5ecbeea2" />
<link rel="stylesheet" type="text/css" href="_static/basic.css?v=b08954a9" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=27fed22d" />
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
<link rel="stylesheet" type="text/css" href="_static/design-elements.e5416f61bae5d36adc6d722a2b6f8cff.css?v=452a8e97" />
<script src="_static/documentation_options.js?v=c1362a89"></script>
<script src="_static/documentation_options.js?v=5349f462"></script>
<script src="_static/doctools.js?v=9bcbadda"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="_static/clipboard.min.js?v=a7894cd8"></script>
@@ -67,7 +67,7 @@
<p>
<strong>Responder</strong> — a familiar HTTP service framework for Python.
<br />
<small>v3.5.0</small>
<small>v3.6.0</small>
</p>
<h3>Useful Links</h3>
<ul>
+294 -243
View File
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -5,13 +5,13 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Command Line Interface &#8212; responder 3.5.0 documentation</title>
<title>Command Line Interface &#8212; responder 3.6.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=5ecbeea2" />
<link rel="stylesheet" type="text/css" href="_static/basic.css?v=b08954a9" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=27fed22d" />
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
<link rel="stylesheet" type="text/css" href="_static/design-elements.e5416f61bae5d36adc6d722a2b6f8cff.css?v=452a8e97" />
<script src="_static/documentation_options.js?v=c1362a89"></script>
<script src="_static/documentation_options.js?v=5349f462"></script>
<script src="_static/doctools.js?v=9bcbadda"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="_static/clipboard.min.js?v=a7894cd8"></script>
@@ -146,7 +146,7 @@ $ responder build /path/to/frontend
<p>
<strong>Responder</strong> — a familiar HTTP service framework for Python.
<br />
<small>v3.5.0</small>
<small>v3.6.0</small>
</p>
<h3>Useful Links</h3>
<ul>
+3 -3
View File
@@ -5,13 +5,13 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Deployment &#8212; responder 3.5.0 documentation</title>
<title>Deployment &#8212; responder 3.6.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=5ecbeea2" />
<link rel="stylesheet" type="text/css" href="_static/basic.css?v=b08954a9" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=27fed22d" />
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
<link rel="stylesheet" type="text/css" href="_static/design-elements.e5416f61bae5d36adc6d722a2b6f8cff.css?v=452a8e97" />
<script src="_static/documentation_options.js?v=c1362a89"></script>
<script src="_static/documentation_options.js?v=5349f462"></script>
<script src="_static/doctools.js?v=9bcbadda"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="_static/clipboard.min.js?v=a7894cd8"></script>
@@ -224,7 +224,7 @@ uvicorn directly without a reverse proxy and do just fine.</p>
<p>
<strong>Responder</strong> — a familiar HTTP service framework for Python.
<br />
<small>v3.5.0</small>
<small>v3.6.0</small>
</p>
<h3>Useful Links</h3>
<ul>
+3 -3
View File
@@ -4,13 +4,13 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Index &#8212; responder 3.5.0 documentation</title>
<title>Index &#8212; responder 3.6.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=5ecbeea2" />
<link rel="stylesheet" type="text/css" href="_static/basic.css?v=b08954a9" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=27fed22d" />
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
<link rel="stylesheet" type="text/css" href="_static/design-elements.e5416f61bae5d36adc6d722a2b6f8cff.css?v=452a8e97" />
<script src="_static/documentation_options.js?v=c1362a89"></script>
<script src="_static/documentation_options.js?v=5349f462"></script>
<script src="_static/doctools.js?v=9bcbadda"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="_static/clipboard.min.js?v=a7894cd8"></script>
@@ -354,7 +354,7 @@
<p>
<strong>Responder</strong> — a familiar HTTP service framework for Python.
<br />
<small>v3.5.0</small>
<small>v3.6.0</small>
</p>
<h3>Useful Links</h3>
<ul>
+3 -3
View File
@@ -5,13 +5,13 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Configuration &#8212; responder 3.5.0 documentation</title>
<title>Configuration &#8212; responder 3.6.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=5ecbeea2" />
<link rel="stylesheet" type="text/css" href="_static/basic.css?v=b08954a9" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=27fed22d" />
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
<link rel="stylesheet" type="text/css" href="_static/design-elements.e5416f61bae5d36adc6d722a2b6f8cff.css?v=452a8e97" />
<script src="_static/documentation_options.js?v=c1362a89"></script>
<script src="_static/documentation_options.js?v=5349f462"></script>
<script src="_static/doctools.js?v=9bcbadda"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="_static/clipboard.min.js?v=a7894cd8"></script>
@@ -213,7 +213,7 @@ platforms dashboard, Docker secrets, or a secrets manager).</p>
<p>
<strong>Responder</strong> — a familiar HTTP service framework for Python.
<br />
<small>v3.5.0</small>
<small>v3.6.0</small>
</p>
<h3>Useful Links</h3>
<ul>
+3 -3
View File
@@ -5,13 +5,13 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Responder &#8212; responder 3.5.0 documentation</title>
<title>Responder &#8212; responder 3.6.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=5ecbeea2" />
<link rel="stylesheet" type="text/css" href="_static/basic.css?v=b08954a9" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=27fed22d" />
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
<link rel="stylesheet" type="text/css" href="_static/design-elements.e5416f61bae5d36adc6d722a2b6f8cff.css?v=452a8e97" />
<script src="_static/documentation_options.js?v=c1362a89"></script>
<script src="_static/documentation_options.js?v=5349f462"></script>
<script src="_static/doctools.js?v=9bcbadda"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="_static/clipboard.min.js?v=a7894cd8"></script>
@@ -319,7 +319,7 @@ work with — welcome.</p>
<p>
<strong>Responder</strong> — a familiar HTTP service framework for Python.
<br />
<small>v3.5.0</small>
<small>v3.6.0</small>
</p>
<h3>Useful Links</h3>
<ul>
+1 -1
View File
@@ -1,6 +1,6 @@
# Sphinx inventory version 2
# Project: responder
# Version: 3.5.0
# Version: 3.6.0
# The remainder of this file is compressed using zlib.
xÚ¥XKsÛ8 ¾ëWhf{µ&ÝÇ¥·>¶;™Ig;;{ÔÐ$±&E…4þ÷ Š”%9NMª7ü>ÝË®•÷ÇBV–C~““ž­ü7/Ù¼Ë7™‘ÅÇû[‡¦œh¿ŸÀ¯P©ªž¡3eKºŠ‡]À´²ºN¬BÊ¢ …¥¤5ñ„Ú€*<YÐ&–´‡Z*HeÁ …Þ0Ù¥º¢Q¤oŸx<\Ú>,¤í¢O€¦w‹ï‰iKA mA§]‹‚Š) &?\…vø^É”9^a$™c»X¨ÆÃ
õ ñ`­1|¢á†FKÒ÷ñ^1 zNâ3âKmëšXšU¼ÄŠo§$»Rn² Ôå™NP^ °È`‘‚ŽÊ*äºÇF:å,dEGvfIè4Òº3Õ–óï)ÕÁi¢L—ßµë$’jý§!ž&°°”и´M²Ž}¢iDèTVØ5ÄY-I ™Pâ)^c<!æÜHCTiðТfân?ä!͘¤/׉¤Á”>·Óh:÷g5îTaÁ&5$
+3 -3
View File
@@ -4,13 +4,13 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Python Module Index &#8212; responder 3.5.0 documentation</title>
<title>Python Module Index &#8212; responder 3.6.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=5ecbeea2" />
<link rel="stylesheet" type="text/css" href="_static/basic.css?v=b08954a9" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=27fed22d" />
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
<link rel="stylesheet" type="text/css" href="_static/design-elements.e5416f61bae5d36adc6d722a2b6f8cff.css?v=452a8e97" />
<script src="_static/documentation_options.js?v=c1362a89"></script>
<script src="_static/documentation_options.js?v=5349f462"></script>
<script src="_static/doctools.js?v=9bcbadda"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="_static/clipboard.min.js?v=a7894cd8"></script>
@@ -76,7 +76,7 @@
<p>
<strong>Responder</strong> — a familiar HTTP service framework for Python.
<br />
<small>v3.5.0</small>
<small>v3.6.0</small>
</p>
<h3>Useful Links</h3>
<ul>
+3 -3
View File
@@ -5,13 +5,13 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Quick Start &#8212; responder 3.5.0 documentation</title>
<title>Quick Start &#8212; responder 3.6.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=5ecbeea2" />
<link rel="stylesheet" type="text/css" href="_static/basic.css?v=b08954a9" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=27fed22d" />
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
<link rel="stylesheet" type="text/css" href="_static/design-elements.e5416f61bae5d36adc6d722a2b6f8cff.css?v=452a8e97" />
<script src="_static/documentation_options.js?v=c1362a89"></script>
<script src="_static/documentation_options.js?v=5349f462"></script>
<script src="_static/doctools.js?v=9bcbadda"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="_static/clipboard.min.js?v=a7894cd8"></script>
@@ -409,7 +409,7 @@ jump into the tutorials:</p>
<p>
<strong>Responder</strong> — a familiar HTTP service framework for Python.
<br />
<small>v3.5.0</small>
<small>v3.6.0</small>
</p>
<h3>Useful Links</h3>
<ul>
+3 -3
View File
@@ -5,13 +5,13 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Development Sandbox &#8212; responder 3.5.0 documentation</title>
<title>Development Sandbox &#8212; responder 3.6.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=5ecbeea2" />
<link rel="stylesheet" type="text/css" href="_static/basic.css?v=b08954a9" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=27fed22d" />
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
<link rel="stylesheet" type="text/css" href="_static/design-elements.e5416f61bae5d36adc6d722a2b6f8cff.css?v=452a8e97" />
<script src="_static/documentation_options.js?v=c1362a89"></script>
<script src="_static/documentation_options.js?v=5349f462"></script>
<script src="_static/doctools.js?v=9bcbadda"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="_static/clipboard.min.js?v=a7894cd8"></script>
@@ -120,7 +120,7 @@ make<span class="w"> </span>html
<p>
<strong>Responder</strong> — a familiar HTTP service framework for Python.
<br />
<small>v3.5.0</small>
<small>v3.6.0</small>
</p>
<h3>Useful Links</h3>
<ul>
+3 -3
View File
@@ -4,14 +4,14 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Search &#8212; responder 3.5.0 documentation</title>
<title>Search &#8212; responder 3.6.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=5ecbeea2" />
<link rel="stylesheet" type="text/css" href="_static/basic.css?v=b08954a9" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=27fed22d" />
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
<link rel="stylesheet" type="text/css" href="_static/design-elements.e5416f61bae5d36adc6d722a2b6f8cff.css?v=452a8e97" />
<script src="_static/documentation_options.js?v=c1362a89"></script>
<script src="_static/documentation_options.js?v=5349f462"></script>
<script src="_static/doctools.js?v=9bcbadda"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="_static/clipboard.min.js?v=a7894cd8"></script>
@@ -85,7 +85,7 @@
<p>
<strong>Responder</strong> — a familiar HTTP service framework for Python.
<br />
<small>v3.5.0</small>
<small>v3.6.0</small>
</p>
<h3>Useful Links</h3>
<ul>
+1 -1
View File
File diff suppressed because one or more lines are too long
+3 -3
View File
@@ -5,13 +5,13 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Testing &#8212; responder 3.5.0 documentation</title>
<title>Testing &#8212; responder 3.6.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=5ecbeea2" />
<link rel="stylesheet" type="text/css" href="_static/basic.css?v=b08954a9" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=27fed22d" />
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
<link rel="stylesheet" type="text/css" href="_static/design-elements.e5416f61bae5d36adc6d722a2b6f8cff.css?v=452a8e97" />
<script src="_static/documentation_options.js?v=c1362a89"></script>
<script src="_static/documentation_options.js?v=5349f462"></script>
<script src="_static/doctools.js?v=9bcbadda"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="_static/clipboard.min.js?v=a7894cd8"></script>
@@ -376,7 +376,7 @@ the <code class="docutils literal notranslate"><span class="pre">Host</span></co
<p>
<strong>Responder</strong> — a familiar HTTP service framework for Python.
<br />
<small>v3.5.0</small>
<small>v3.6.0</small>
</p>
<h3>Useful Links</h3>
<ul>
+3 -3
View File
@@ -5,13 +5,13 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Feature Tour &#8212; responder 3.5.0 documentation</title>
<title>Feature Tour &#8212; responder 3.6.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=5ecbeea2" />
<link rel="stylesheet" type="text/css" href="_static/basic.css?v=b08954a9" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=27fed22d" />
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
<link rel="stylesheet" type="text/css" href="_static/design-elements.e5416f61bae5d36adc6d722a2b6f8cff.css?v=452a8e97" />
<script src="_static/documentation_options.js?v=c1362a89"></script>
<script src="_static/documentation_options.js?v=5349f462"></script>
<script src="_static/doctools.js?v=9bcbadda"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="_static/clipboard.min.js?v=a7894cd8"></script>
@@ -732,7 +732,7 @@ bodies by passing <code class="docutils literal notranslate"><span class="pre">&
<p>
<strong>Responder</strong> — a familiar HTTP service framework for Python.
<br />
<small>v3.5.0</small>
<small>v3.6.0</small>
</p>
<h3>Useful Links</h3>
<ul>
+3 -3
View File
@@ -5,13 +5,13 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Authentication &#8212; responder 3.5.0 documentation</title>
<title>Authentication &#8212; responder 3.6.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=5ecbeea2" />
<link rel="stylesheet" type="text/css" href="_static/basic.css?v=b08954a9" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=27fed22d" />
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
<link rel="stylesheet" type="text/css" href="_static/design-elements.e5416f61bae5d36adc6d722a2b6f8cff.css?v=452a8e97" />
<script src="_static/documentation_options.js?v=c1362a89"></script>
<script src="_static/documentation_options.js?v=5349f462"></script>
<script src="_static/doctools.js?v=9bcbadda"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="_static/clipboard.min.js?v=a7894cd8"></script>
@@ -289,7 +289,7 @@ sessions for web apps with login pages.</p>
<p>
<strong>Responder</strong> — a familiar HTTP service framework for Python.
<br />
<small>v3.5.0</small>
<small>v3.6.0</small>
</p>
<h3>Useful Links</h3>
<ul>
+3 -3
View File
@@ -5,13 +5,13 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Migrating from Flask &#8212; responder 3.5.0 documentation</title>
<title>Migrating from Flask &#8212; responder 3.6.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=5ecbeea2" />
<link rel="stylesheet" type="text/css" href="_static/basic.css?v=b08954a9" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=27fed22d" />
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
<link rel="stylesheet" type="text/css" href="_static/design-elements.e5416f61bae5d36adc6d722a2b6f8cff.css?v=452a8e97" />
<script src="_static/documentation_options.js?v=c1362a89"></script>
<script src="_static/documentation_options.js?v=5349f462"></script>
<script src="_static/doctools.js?v=9bcbadda"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="_static/clipboard.min.js?v=a7894cd8"></script>
@@ -253,7 +253,7 @@ Responder. When youve moved everything over, remove the mount.</p>
<p>
<strong>Responder</strong> — a familiar HTTP service framework for Python.
<br />
<small>v3.5.0</small>
<small>v3.6.0</small>
</p>
<h3>Useful Links</h3>
<ul>
+3 -3
View File
@@ -5,13 +5,13 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Writing Middleware &#8212; responder 3.5.0 documentation</title>
<title>Writing Middleware &#8212; responder 3.6.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=5ecbeea2" />
<link rel="stylesheet" type="text/css" href="_static/basic.css?v=b08954a9" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=27fed22d" />
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
<link rel="stylesheet" type="text/css" href="_static/design-elements.e5416f61bae5d36adc6d722a2b6f8cff.css?v=452a8e97" />
<script src="_static/documentation_options.js?v=c1362a89"></script>
<script src="_static/documentation_options.js?v=5349f462"></script>
<script src="_static/doctools.js?v=9bcbadda"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="_static/clipboard.min.js?v=a7894cd8"></script>
@@ -210,7 +210,7 @@ middleware when hooks arent enough.</p>
<p>
<strong>Responder</strong> — a familiar HTTP service framework for Python.
<br />
<small>v3.5.0</small>
<small>v3.6.0</small>
</p>
<h3>Useful Links</h3>
<ul>
+3 -3
View File
@@ -5,13 +5,13 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Building a REST API &#8212; responder 3.5.0 documentation</title>
<title>Building a REST API &#8212; responder 3.6.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=5ecbeea2" />
<link rel="stylesheet" type="text/css" href="_static/basic.css?v=b08954a9" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=27fed22d" />
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
<link rel="stylesheet" type="text/css" href="_static/design-elements.e5416f61bae5d36adc6d722a2b6f8cff.css?v=452a8e97" />
<script src="_static/documentation_options.js?v=c1362a89"></script>
<script src="_static/documentation_options.js?v=5349f462"></script>
<script src="_static/doctools.js?v=9bcbadda"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="_static/clipboard.min.js?v=a7894cd8"></script>
@@ -255,7 +255,7 @@ with Responder using the lifespan pattern.</p>
<p>
<strong>Responder</strong> — a familiar HTTP service framework for Python.
<br />
<small>v3.5.0</small>
<small>v3.6.0</small>
</p>
<h3>Useful Links</h3>
<ul>
+3 -3
View File
@@ -5,13 +5,13 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Using SQLAlchemy &#8212; responder 3.5.0 documentation</title>
<title>Using SQLAlchemy &#8212; responder 3.6.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=5ecbeea2" />
<link rel="stylesheet" type="text/css" href="_static/basic.css?v=b08954a9" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=27fed22d" />
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
<link rel="stylesheet" type="text/css" href="_static/design-elements.e5416f61bae5d36adc6d722a2b6f8cff.css?v=452a8e97" />
<script src="_static/documentation_options.js?v=c1362a89"></script>
<script src="_static/documentation_options.js?v=5349f462"></script>
<script src="_static/doctools.js?v=9bcbadda"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="_static/clipboard.min.js?v=a7894cd8"></script>
@@ -291,7 +291,7 @@ your database without losing data.</p></li>
<p>
<strong>Responder</strong> — a familiar HTTP service framework for Python.
<br />
<small>v3.5.0</small>
<small>v3.6.0</small>
</p>
<h3>Useful Links</h3>
<ul>
+3 -3
View File
@@ -5,13 +5,13 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>WebSocket Tutorial &#8212; responder 3.5.0 documentation</title>
<title>WebSocket Tutorial &#8212; responder 3.6.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=5ecbeea2" />
<link rel="stylesheet" type="text/css" href="_static/basic.css?v=b08954a9" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=27fed22d" />
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
<link rel="stylesheet" type="text/css" href="_static/design-elements.e5416f61bae5d36adc6d722a2b6f8cff.css?v=452a8e97" />
<script src="_static/documentation_options.js?v=c1362a89"></script>
<script src="_static/documentation_options.js?v=5349f462"></script>
<script src="_static/doctools.js?v=9bcbadda"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="_static/clipboard.min.js?v=a7894cd8"></script>
@@ -256,7 +256,7 @@ lifecycle — it connects on enter and disconnects on exit.</p>
<p>
<strong>Responder</strong> — a familiar HTTP service framework for Python.
<br />
<small>v3.5.0</small>
<small>v3.6.0</small>
</p>
<h3>Useful Links</h3>
<ul>