forked from orbit-oss/flask
Merge branch '2.2.x'
This commit is contained in:
commit
7ee9ceb71e
11 changed files with 31 additions and 29 deletions
|
|
@ -37,6 +37,14 @@ Unreleased
|
|||
binary file instead. :issue:`4989`
|
||||
|
||||
|
||||
Version 2.2.4
|
||||
-------------
|
||||
|
||||
Unreleased
|
||||
|
||||
- Update for compatibility with Werkzeug 2.3.
|
||||
|
||||
|
||||
Version 2.2.3
|
||||
-------------
|
||||
|
||||
|
|
|
|||
|
|
@ -69,7 +69,6 @@ See also:
|
|||
- Sentry also supports catching errors from a worker queue
|
||||
(RQ, Celery, etc.) in a similar fashion. See the `Python SDK docs
|
||||
<https://docs.sentry.io/platforms/python/>`__ for more information.
|
||||
- `Getting started with Sentry <https://docs.sentry.io/quickstart/?platform=python>`__
|
||||
- `Flask-specific documentation <https://docs.sentry.io/platforms/python/guides/flask/>`__
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ use them if you install them.
|
|||
* `Watchdog`_ provides a faster, more efficient reloader for the development
|
||||
server.
|
||||
|
||||
.. _Blinker: https://pythonhosted.org/blinker/
|
||||
.. _Blinker: https://blinker.readthedocs.io/en/stable/
|
||||
.. _python-dotenv: https://github.com/theskumar/python-dotenv#readme
|
||||
.. _watchdog: https://pythonhosted.org/watchdog/
|
||||
|
||||
|
|
|
|||
|
|
@ -12,6 +12,4 @@ packaging==23.0
|
|||
pyproject-hooks==1.0.0
|
||||
# via build
|
||||
tomli==2.0.1
|
||||
# via
|
||||
# build
|
||||
# pyproject-hooks
|
||||
# via build
|
||||
|
|
|
|||
|
|
@ -28,19 +28,19 @@ filelock==3.9.0
|
|||
# via
|
||||
# tox
|
||||
# virtualenv
|
||||
identify==2.5.18
|
||||
identify==2.5.19
|
||||
# via pre-commit
|
||||
nodeenv==1.7.0
|
||||
# via pre-commit
|
||||
pip-compile-multi==2.6.2
|
||||
# via -r requirements/dev.in
|
||||
pip-tools==6.12.2
|
||||
pip-tools==6.12.3
|
||||
# via pip-compile-multi
|
||||
platformdirs==3.0.0
|
||||
platformdirs==3.1.1
|
||||
# via
|
||||
# tox
|
||||
# virtualenv
|
||||
pre-commit==3.1.0
|
||||
pre-commit==3.1.1
|
||||
# via -r requirements/dev.in
|
||||
pyproject-api==1.5.0
|
||||
# via tox
|
||||
|
|
@ -48,11 +48,11 @@ pyproject-hooks==1.0.0
|
|||
# via build
|
||||
pyyaml==6.0
|
||||
# via pre-commit
|
||||
toposort==1.9
|
||||
toposort==1.10
|
||||
# via pip-compile-multi
|
||||
tox==4.4.6
|
||||
# via -r requirements/dev.in
|
||||
virtualenv==20.19.0
|
||||
virtualenv==20.20.0
|
||||
# via
|
||||
# pre-commit
|
||||
# tox
|
||||
|
|
|
|||
|
|
@ -7,11 +7,11 @@
|
|||
#
|
||||
alabaster==0.7.13
|
||||
# via sphinx
|
||||
babel==2.11.0
|
||||
babel==2.12.1
|
||||
# via sphinx
|
||||
certifi==2022.12.7
|
||||
# via requests
|
||||
charset-normalizer==3.0.1
|
||||
charset-normalizer==3.1.0
|
||||
# via requests
|
||||
docutils==0.17.1
|
||||
# via
|
||||
|
|
@ -35,8 +35,6 @@ pygments==2.14.0
|
|||
# via
|
||||
# sphinx
|
||||
# sphinx-tabs
|
||||
pytz==2022.7.1
|
||||
# via babel
|
||||
requests==2.28.2
|
||||
# via sphinx
|
||||
snowballstemmer==2.2.0
|
||||
|
|
@ -66,5 +64,5 @@ sphinxcontrib-qthelp==1.0.3
|
|||
# via sphinx
|
||||
sphinxcontrib-serializinghtml==1.1.5
|
||||
# via sphinx
|
||||
urllib3==1.26.14
|
||||
urllib3==1.26.15
|
||||
# via requests
|
||||
|
|
|
|||
|
|
@ -2,4 +2,4 @@ pytest
|
|||
asgiref
|
||||
blinker
|
||||
greenlet ; python_version < "3.11"
|
||||
python-dotenv
|
||||
python-dotenv>=1; python_version >= "3.8"
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# SHA1:69cf1e101a60350e9933c6f1f3b129bd9ed1ea7c
|
||||
# SHA1:30698f5f4f9cba5088318306829a15b0dc123b38
|
||||
#
|
||||
# This file is autogenerated by pip-compile-multi
|
||||
# To update, run:
|
||||
|
|
@ -21,9 +21,9 @@ packaging==23.0
|
|||
# via pytest
|
||||
pluggy==1.0.0
|
||||
# via pytest
|
||||
pytest==7.2.1
|
||||
pytest==7.2.2
|
||||
# via -r requirements/tests.in
|
||||
python-dotenv==0.21.1
|
||||
python-dotenv==1.0.0 ; python_version >= "3.8"
|
||||
# via -r requirements/tests.in
|
||||
tomli==2.0.1
|
||||
# via pytest
|
||||
|
|
|
|||
|
|
@ -7,9 +7,9 @@
|
|||
#
|
||||
cffi==1.15.1
|
||||
# via cryptography
|
||||
cryptography==39.0.1
|
||||
cryptography==39.0.2
|
||||
# via -r requirements/typing.in
|
||||
mypy==1.0.1
|
||||
mypy==1.1.1
|
||||
# via -r requirements/typing.in
|
||||
mypy-extensions==1.0.0
|
||||
# via mypy
|
||||
|
|
@ -21,9 +21,7 @@ types-contextvars==2.4.7.1
|
|||
# via -r requirements/typing.in
|
||||
types-dataclasses==0.6.6
|
||||
# via -r requirements/typing.in
|
||||
types-docutils==0.19.1.6
|
||||
# via types-setuptools
|
||||
types-setuptools==67.4.0.1
|
||||
types-setuptools==67.6.0.0
|
||||
# via -r requirements/typing.in
|
||||
typing-extensions==4.5.0
|
||||
# via mypy
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ from collections.abc import Iterator as _abc_Iterator
|
|||
from datetime import timedelta
|
||||
from itertools import chain
|
||||
from types import TracebackType
|
||||
from urllib.parse import quote as _url_quote
|
||||
|
||||
import click
|
||||
from werkzeug.datastructures import Headers
|
||||
|
|
@ -25,7 +26,6 @@ from werkzeug.routing import RequestRedirect
|
|||
from werkzeug.routing import RoutingException
|
||||
from werkzeug.routing import Rule
|
||||
from werkzeug.serving import is_running_from_reloader
|
||||
from werkzeug.urls import url_quote
|
||||
from werkzeug.utils import cached_property
|
||||
from werkzeug.utils import redirect as _wz_redirect
|
||||
from werkzeug.wrappers import Response as BaseResponse
|
||||
|
|
@ -1710,7 +1710,8 @@ class Flask(Scaffold):
|
|||
return self.handle_url_build_error(error, endpoint, values)
|
||||
|
||||
if _anchor is not None:
|
||||
rv = f"{rv}#{url_quote(_anchor)}"
|
||||
_anchor = _url_quote(_anchor, safe="%!#$&'()*+,/:;=?@")
|
||||
rv = f"{rv}#{_anchor}"
|
||||
|
||||
return rv
|
||||
|
||||
|
|
|
|||
|
|
@ -3,11 +3,11 @@ from contextlib import contextmanager
|
|||
from contextlib import ExitStack
|
||||
from copy import copy
|
||||
from types import TracebackType
|
||||
from urllib.parse import urlsplit
|
||||
|
||||
import werkzeug.test
|
||||
from click.testing import CliRunner
|
||||
from werkzeug.test import Client
|
||||
from werkzeug.urls import url_parse
|
||||
from werkzeug.wrappers import Request as BaseRequest
|
||||
|
||||
from .cli import ScriptInfo
|
||||
|
|
@ -68,7 +68,7 @@ class EnvironBuilder(werkzeug.test.EnvironBuilder):
|
|||
if url_scheme is None:
|
||||
url_scheme = app.config["PREFERRED_URL_SCHEME"]
|
||||
|
||||
url = url_parse(path)
|
||||
url = urlsplit(path)
|
||||
base_url = (
|
||||
f"{url.scheme or url_scheme}://{url.netloc or http_host}"
|
||||
f"/{app_root.lstrip('/')}"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue