🐛 Fix "default" extra response with extra status codes (#489)

* 🐛 Fix lowercase "default" extra response

* 🐛 Fix model for responses, to allow "default" plus status codes

*  Add test for "default" extra response
This commit is contained in:
Sebastián Ramírez
2019-08-30 16:34:47 -05:00
committed by GitHub
parent c32e800c23
commit 55c4b5fb0b
3 changed files with 8 additions and 9 deletions

View File

@@ -49,7 +49,7 @@ status_code_ranges: Dict[str, str] = {
"3XX": "Redirection",
"4XX": "Client Error",
"5XX": "Server Error",
"default": "Default Response",
"DEFAULT": "Default Response",
}
@@ -205,9 +205,10 @@ def get_openapi_path(
response.setdefault(
"description", status_text or "Additional Response"
)
operation.setdefault("responses", {})[
str(additional_status_code).upper()
] = response
status_code_key = str(additional_status_code).upper()
if status_code_key == "DEFAULT":
status_code_key = "default"
operation.setdefault("responses", {})[status_code_key] = response
status_code = str(route.status_code)
response_schema = {"type": "string"}
if lenient_issubclass(route.response_class, JSONResponse):