Commit Graph

275 Commits

Author SHA1 Message Date
Dylan Anthony 2351fb5623
🔇 Remove error log when parsing malformed JSON body as it's a client error (#1351) 2020-06-12 22:44:40 +02:00
Nik d66d8379c0
🐛 Fix OpenAPI generation when using callbacks with routers including Pydantic models (#1322)
* drop model class from additional responses when generating openapi

* ♻️ Copy response to be mutated early in get_openapi_path

Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2020-06-12 22:35:59 +02:00
Kazantcev Andrey 434d32b891
Optimize regexp pattern in get_path_param_names (#1243) 2020-06-12 21:59:32 +02:00
Sebastián Ramírez 072c2bc7f9 🔖 Release version 0.56.0 2020-06-12 00:22:17 +02:00
Ingmar Steen 2f478eeca6
Add support for ASGI root_path for openapi docs (#1199)
* Use ASGI root_path when it is provided and openapi_prefix is empty.

* Strip trailing slashes from root_path.

* Please mypy.

* Fix extending openapi test.

* 📝 Add docs and tutorial for using root_path behind a proxy

* ♻️ Refactor application root_path logic, use root_path, deprecate openapi_prefix

*  Add tests for Behind a Proxy with root_path

* ♻️ Refactor test

* 📝 Update/add docs for Sub-applications and Behind a Proxy

* 📝 Update Extending OpenAPI with openapi_prefix parameter

*  Add test for deprecated openapi_prefix

Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2020-06-11 23:53:19 +02:00
Sebastián Ramírez 8d844bc5cf 🔖 Release version 0.55.1 2020-05-23 18:59:14 +02:00
Sebastián Ramírez 5984233223
🐛 Fix Enum handling with their own schema definitions (#1463)
* 🐛 Fix extra support for enum with its own schema

*  Fix/update test for enum with its own schema

* 🐛 Fix type declarations

* 🔧 Update format and lint scripts to support locally installed Pydantic and Starlette

* 🐛 Add temporary type ignores while enum schemas are merged
2020-05-23 18:56:18 +02:00
Sebastián Ramírez 98bb9f13da 🔖 Release version 0.55.0 2020-05-23 16:06:32 +02:00
Sebastián Ramírez f7eea768f6 🔖 Release 0.54.2 2020-05-16 21:00:28 +02:00
Sebastián Ramírez 409264960e
Allow disabling docs UIs by disabling OpenAPI (#1421)
*  Allow disabling docs UIs by disabling openapi_url

* 📝 Add docs for disabling OpenAPI and docs in prod or other environments

*  Add tests for disabling OpenAPI and docs
2020-05-16 17:45:12 +02:00
Sebastián Ramírez d4f3ca1c1b 🔖 Release 0.54.1 2020-04-08 07:51:26 +02:00
Sebastián Ramírez 7372f6ba11 🔖 Release version 0.54.0 2020-04-05 16:50:16 +02:00
voegtlel 3397d4d69a
Implement response_model_exclude_defaults and response_model_exclude_none (#1166)
* Implemented response_model_exclude_defaults and response_model_exclude_none to be compatible pydantic options.

* 🚚 Rename and invert include_none to exclude_none to keep in sync with Pydantic

Co-authored-by: Lukas Voegtle <lukas.voegtle@sick.de>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2020-04-05 15:04:46 +02:00
Sebastián Ramírez 6e1cd45a46 🔖 Release version 0.53.2 2020-03-30 21:49:50 +02:00
Toan Vuong 90afc72e64
🐛 Fix automatic embedding with dependencies and sub-dependencies (#1079)
* Handle automatic embedding with Depends

* 🐛 Fix body embeds for sub-dependencies and simplify implementation

*  Add/update tests for body embeds in dependencies

* 👷 Trigger Travis

Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2020-03-30 21:44:43 +02:00
amitlissack 02441ff031
🐛 Fix dependency overrides in WebSockets (#1122)
* add tests to test_ws_router to test dependencies and dependency overrides.

* supply dependency_overrides_provider to APIWebSocketRoute upon creation
2020-03-30 20:45:05 +02:00
Sebastián Ramírez e6b3b994be 🔖 Release version 0.53.1 2020-03-29 22:08:54 +02:00
voegtlel 0f152b4e97
🐛 Check already cloned fields in create_cloned_field to support recursive models (#1164)
* FIX: #894
Include recursion check for create_cloned_field.
Added test for recursive model.

* ♻️ Refactor and format create_cloned_field()

Co-authored-by: Lukas Voegtle <lukas.voegtle@sick.de>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2020-03-29 19:26:29 +02:00
Sebastián Ramírez 56e43ba204 🔖 Release version 0.53.0 2020-03-27 17:56:41 +01:00
adg-mh 1f53fef70a
✏️ Update doc string with correct class name (#1126) 2020-03-27 17:18:23 +01:00
juhovh-aiven aea04ee32e
🐛 Fix exclude_unset and aliases in response model validation (#1074)
* Fix exclude_unset and aliases in response model validation.

*  Use by_alias from param 🤷

Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2020-03-27 16:19:17 +01:00
Sebastián Ramírez 025b38df40 🔖 Release version 0.52.0 2020-03-01 22:34:38 +01:00
Sebastián Ramírez 94ee932351
Add ORJSONResponse (#1065)
*  Add ORJSONResponse

* 📝 Add tutorial using ORJSONResponse

*  Add test for ORJSONResponse

* 📝 Update index.md
2020-03-01 22:30:58 +01:00
Sebastián Ramírez cf760d6802 🔖 Release version 0.51.0 2020-03-01 22:02:51 +01:00
Sebastián Ramírez 0ac9b3ee5c
Re-export utils from Starlette (#1064)
*  Re-export main features used from Starlette to simplify developer's code

* ♻️ Refactor Starlette exports

* ♻️ Refactor tutorial examples to use re-exported utils from Starlette

* 📝 Add examples for all middlewares

* 📝 Add new docs for middlewares

* 📝 Add examples for custom responses

* 📝 Extend docs for custom responses

* 📝 Update docs and add notes explaining re-exports from Starlette everywhere

* 🍱 Update screenshot for HTTP status

* 🔧 Update MkDocs config with new content

* ♻️ Refactor tests to use re-exported utils from Starlette

*  Re-export WebSocketDisconnect from Starlette for tests

*  Add extra tests for extra re-exported middleware

*  Add tests for re-exported responses from Starlette

*  Add docs about mounting WSGI apps

*  Add Flask as a dependency to test WSGIMiddleware

*  Test WSGIMiddleware example
2020-03-01 21:49:20 +01:00
Sebastián Ramírez f2bd2c44e2 🔖 Release version 0.50.0 2020-02-29 21:49:09 +01:00
Sebastián Ramírez 4e8080f290
📌 Upgrade Starlette version (#1057) 2020-02-29 21:28:23 +01:00
Sebastián Ramírez d4ddf4e62a 🔖 Release 0.49.2 2020-02-29 18:19:52 +01:00
Patrick McKenna e26f94018c
♻️ Refactor serialize_response parameter name (#1031) 2020-02-29 17:33:02 +01:00
sm-Fifteen 1ce67887b9
♻️ Refactor function calling a path operation function to simplify profiling (#1027) 2020-02-29 17:28:30 +01:00
Patrick McKenna afad59dfbb
🐛 Admit valid types for Pydantic fields as responses models (#1017) 2020-02-29 14:04:35 +01:00
Sebastián Ramírez 9958d93120 🔖 Release 0.49.1 2020-02-28 22:48:03 +01:00
merowinger92 74c4d1c1db
🐛 Fix declaring a single parameter per name (#994) 2020-02-28 22:36:30 +01:00
Sebastián Ramírez 9c3c9b6e78 🔖 Release version 0.49.0 2020-02-16 21:11:28 +01:00
Patrick McKenna 3c1803897f
🐛 Fix path encoding (#978) 2020-02-16 21:06:41 +01:00
Sebastián Ramírez e0c3519b94
Allow callables (as functools.partial) in path operations (#977) 2020-02-12 21:36:14 +01:00
Sebastián Ramírez d91b2b3ee8 🔖 Release version 0.48.0 2020-02-04 05:43:07 +01:00
Sebastián Ramírez 2e0a102565
🔇 Log email-validator not installed only when used (#946) 2020-02-04 05:31:01 +01:00
David Montague c425509d57
🐛 Fix body parsing (#918) 2020-02-04 05:01:59 +01:00
李冬冬 a448bd63bd
🐛 Allow Any type for enums in OpenAPI (#906) 2020-02-04 04:37:47 +01:00
Andy Smith 70bdade23b
🐛 Fix Pydantic field clone logic with validators (#899) 2020-02-04 04:03:51 +01:00
Sebastián Ramírez b307d38897
♻️ Update default API title from "Fast API" to "FastAPI" for consistency (#890) 2020-01-18 19:07:42 +01:00
Sebastián Ramírez a085898309 🔖 Release version 0.47.1 2020-01-18 18:06:47 +01:00
Sebastián Ramírez 75a07f24bf
🔒 Fix clone field implementation to handle sub-models in response_model (#889) 2020-01-18 18:03:51 +01:00
Sebastián Ramírez 7cea84b74c
🐛 Fix FastAPI serialization of Pydantic ORM mode blocking the event loop (#888) 2020-01-18 17:32:57 +01:00
Sebastián Ramírez 3a5158a784 🔖 Release version 0.47.0 2020-01-18 17:14:59 +01:00
Nik 874d24181e 🐛 Fix validating form params declared with classes (list, tuple, set, etc) (#856) 2020-01-17 12:45:55 +01:00
Aviram Hassan 5db99a27cf add body to RequestValidationError for easier debugging (#853) 2020-01-17 12:37:44 +01:00
Sebastián Ramírez a9673f145a 🔖 Release version 0.46.0 2020-01-08 23:28:03 +01:00
Jesse P. Johnson 91fe90e8e6 Implement OAuth2 authorization_code integration (#797) 2020-01-08 22:47:19 +01:00