forked from orbit-oss/flask
Merge branch '2.0.x'
This commit is contained in:
commit
0fb5c2f034
4 changed files with 40 additions and 13 deletions
|
|
@ -130,7 +130,15 @@ def after_this_request(f: AfterRequestCallable) -> AfterRequestCallable:
|
|||
|
||||
.. versionadded:: 0.9
|
||||
"""
|
||||
_request_ctx_stack.top._after_request_functions.append(f)
|
||||
top = _request_ctx_stack.top
|
||||
|
||||
if top is None:
|
||||
raise RuntimeError(
|
||||
"This decorator can only be used when a request context is"
|
||||
" active, such as within a view function."
|
||||
)
|
||||
|
||||
top._after_request_functions.append(f)
|
||||
return f
|
||||
|
||||
|
||||
|
|
@ -159,12 +167,13 @@ def copy_current_request_context(f: t.Callable) -> t.Callable:
|
|||
.. versionadded:: 0.10
|
||||
"""
|
||||
top = _request_ctx_stack.top
|
||||
|
||||
if top is None:
|
||||
raise RuntimeError(
|
||||
"This decorator can only be used at local scopes "
|
||||
"when a request context is on the stack. For instance within "
|
||||
"view functions."
|
||||
"This decorator can only be used when a request context is"
|
||||
" active, such as within a view function."
|
||||
)
|
||||
|
||||
reqctx = top.copy()
|
||||
|
||||
def wrapper(*args, **kwargs):
|
||||
|
|
|
|||
|
|
@ -74,6 +74,11 @@ def _dump_arg_defaults(
|
|||
if bp is not None and bp.json_encoder is not None:
|
||||
cls = bp.json_encoder
|
||||
|
||||
# Only set a custom encoder if it has custom behavior. This is
|
||||
# faster on PyPy.
|
||||
if cls is not _json.JSONEncoder:
|
||||
kwargs.setdefault("cls", cls)
|
||||
|
||||
kwargs.setdefault("cls", cls)
|
||||
kwargs.setdefault("ensure_ascii", app.config["JSON_AS_ASCII"])
|
||||
kwargs.setdefault("sort_keys", app.config["JSON_SORT_KEYS"])
|
||||
|
|
@ -95,9 +100,10 @@ def _load_arg_defaults(
|
|||
if bp is not None and bp.json_decoder is not None:
|
||||
cls = bp.json_decoder
|
||||
|
||||
kwargs.setdefault("cls", cls)
|
||||
else:
|
||||
kwargs.setdefault("cls", JSONDecoder)
|
||||
# Only set a custom decoder if it has custom behavior. This is
|
||||
# faster on PyPy.
|
||||
if cls not in {JSONDecoder, _json.JSONDecoder}:
|
||||
kwargs.setdefault("cls", cls)
|
||||
|
||||
|
||||
def dumps(obj: t.Any, app: t.Optional["Flask"] = None, **kwargs: t.Any) -> str:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue