except:
if self.response_started:
raise
- headers = Headers(self.scope.get('headers', []))
- accept = headers.get('accept', '')
- if 'text/html' in accept:
+ headers = Headers(self.scope.get("headers", []))
+ accept = headers.get("accept", "")
+ if "text/html" in accept:
exc_html = html.escape(traceback.format_exc())
- content = f'<html><body><h1>500 Server Error</h1><pre>{exc_html}</pre></body></html>'
+ content = f"<html><body><h1>500 Server Error</h1><pre>{exc_html}</pre></body></html>"
response = HTMLResponse(content, status_code=500)
else:
content = traceback.format_exc()
await response(receive, send)
async def send(self, message):
- if message['type'] == 'http.response.start':
+ if message["type"] == "http.response.start":
self.response_started = True
await self.raw_send(message)
def test_debug_text():
def app(scope):
async def asgi(receive, send):
- raise RuntimeError('Something went wrong')
+ raise RuntimeError("Something went wrong")
+
return asgi
client = TestClient(DebugMiddleware(app))
response = client.get("/")
assert response.status_code == 500
- assert response.headers['content-type'].startswith('text/plain')
- assert 'RuntimeError' in response.text
+ assert response.headers["content-type"].startswith("text/plain")
+ assert "RuntimeError" in response.text
def test_debug_html():
def app(scope):
async def asgi(receive, send):
- raise RuntimeError('Something went wrong')
+ raise RuntimeError("Something went wrong")
+
return asgi
client = TestClient(DebugMiddleware(app))
- response = client.get("/", headers={'Accept': 'text/html, */*'})
+ response = client.get("/", headers={"Accept": "text/html, */*"})
assert response.status_code == 500
- assert response.headers['content-type'].startswith('text/html')
- assert 'RuntimeError' in response.text
+ assert response.headers["content-type"].startswith("text/html")
+ assert "RuntimeError" in response.text
def test_debug_after_response_sent():
def app(scope):
async def asgi(receive, send):
- response = Response(b'', status_code=204)
+ response = Response(b"", status_code=204)
await response(receive, send)
- raise RuntimeError('Something went wrong')
+ raise RuntimeError("Something went wrong")
+
return asgi
client = TestClient(DebugMiddleware(app))