From 01c56e094770c3f3750f73d9bb4633e231958cfc Mon Sep 17 00:00:00 2001 From: Tim Pansino Date: Thu, 3 Jun 2021 14:10:58 -0700 Subject: [PATCH] Convert class based views with async_to_sync Co-authored-by: Uma Annamalai Co-authored-by: Kevin Yang Co-authored-by: Katherine Kelly --- src/flask/views.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/flask/views.py b/src/flask/views.py index 339ffa18..bb58c5cf 100644 --- a/src/flask/views.py +++ b/src/flask/views.py @@ -1,6 +1,7 @@ import typing as t from .globals import request +from .helpers import ensure_sync from .typing import ResponseReturnValue @@ -80,7 +81,7 @@ class View: def view(*args: t.Any, **kwargs: t.Any) -> ResponseReturnValue: self = view.view_class(*class_args, **class_kwargs) # type: ignore - return self.dispatch_request(*args, **kwargs) + return ensure_sync(self.dispatch_request)(*args, **kwargs) if cls.decorators: view.__name__ = name @@ -154,4 +155,4 @@ class MethodView(View, metaclass=MethodViewType): meth = getattr(self, "get", None) assert meth is not None, f"Unimplemented method {request.method!r}" - return meth(*args, **kwargs) + return ensure_sync(meth)(*args, **kwargs)