From 47e4bd5059fbe1e7f39b56f52c821ba0b39ded1c Mon Sep 17 00:00:00 2001 From: pgjones Date: Sat, 16 Oct 2021 11:05:56 +0100 Subject: [PATCH] copy_current_request_context can decorate async functions --- CHANGES.rst | 3 +++ src/flask/ctx.py | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGES.rst b/CHANGES.rst index d1317282..5b411316 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -29,6 +29,9 @@ Unreleased - ``add_etags`` is renamed to ``etag``. - ``filename`` is renamed to ``path``. +- ``copy_current_request_context`` can decorate async functions. + :pr:`4303` + Version 2.0.3 ------------- diff --git a/src/flask/ctx.py b/src/flask/ctx.py index 5c064635..c53ad53d 100644 --- a/src/flask/ctx.py +++ b/src/flask/ctx.py @@ -169,7 +169,7 @@ def copy_current_request_context(f: t.Callable) -> t.Callable: def wrapper(*args, **kwargs): with reqctx: - return f(*args, **kwargs) + return reqctx.app.ensure_sync(f)(*args, **kwargs) return update_wrapper(wrapper, f)