From 53357214a83c7c28a8cf5b1c5424c079adb1b199 Mon Sep 17 00:00:00 2001 From: jar3b Date: Fri, 27 Nov 2020 02:02:54 +0300 Subject: [PATCH] feat: add `raise_validation_errors` parameter to `setup()` To control how pydantic.ValidationError will be handled, own handler (return json) or raise exception to allow intercept in aiohttp middleware --- aiohttp_pydantic/oas/__init__.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/aiohttp_pydantic/oas/__init__.py b/aiohttp_pydantic/oas/__init__.py index ef45dcf..71f69ad 100644 --- a/aiohttp_pydantic/oas/__init__.py +++ b/aiohttp_pydantic/oas/__init__.py @@ -13,10 +13,13 @@ def setup( apps_to_expose: Iterable[web.Application] = (), url_prefix: str = "/oas", enable: bool = True, + raise_validation_errors: bool = False, ): if enable: oas_app = web.Application() oas_app["apps to expose"] = tuple(apps_to_expose) or (app,) + for a in oas_app["apps to expose"]: + a['raise_validation_errors'] = raise_validation_errors oas_app["index template"] = jinja2.Template( resources.read_text("aiohttp_pydantic.oas", "index.j2") )