Compare commits
2 Commits
v1.5.1-fix
...
fix-defini
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6ba671532b | ||
|
|
efbaaa5e6f |
@@ -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")
|
||||
)
|
||||
|
||||
@@ -172,6 +172,7 @@ async def oas_ui(request):
|
||||
|
||||
static_url = request.app.router["static"].url_for(filename="")
|
||||
spec_url = request.app.router["spec"].url_for()
|
||||
|
||||
if request.scheme != request.headers.get('x-forwarded-proto', request.scheme):
|
||||
request = request.clone(scheme=request.headers['x-forwarded-proto'])
|
||||
host = request.url.origin()
|
||||
|
||||
@@ -83,7 +83,10 @@ def inject_params(
|
||||
else:
|
||||
injector.inject(self.request, args, kwargs)
|
||||
except ValidationError as error:
|
||||
return json_response(text=error.json(), status=400)
|
||||
if self.request.app['raise_validation_errors']:
|
||||
raise
|
||||
else:
|
||||
return json_response(text=error.json(), status=400)
|
||||
|
||||
return await handler(self, *args, **kwargs)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user