pgjones
d65f574bff
Alter ensure_sync implementation to support extensions
...
This allows extensions to override the Flask.ensure_sync method and
have the change apply to blueprints as well. Without this change it is
possible for differing blueprints to have differing ensure_sync
approaches depending on the extension used - which would likely result
in event-loop blocking issues.
This also allows blueprints to have a custom ensure_sync, although
this is a by product rather than an expected use case.
2021-04-06 15:33:06 -07:00
pgjones
47e0f2aab8
Raise a runtime error if run_async is called without real ContextVars
...
Werkzeug offers a ContextVar replacement for Python < 3.7, however it
doesn't work across asyncio tasks, hence it makes sense to error out
rather than find there are odd bugs.
Note the docs build requires the latest (dev) Werkzeug due to this
change (to import ContextVar from werkzeug.local).
2021-04-06 09:35:10 -07:00
pgjones
c9f774d650
Add async support
...
This allows for async functions to be passed to the Flask class
instance, for example as a view function,
@app.route("/")
async def index():
return "Async hello"
this comes with a cost though of poorer performance than using the
sync equivalent.
asgiref is the standard way to run async code within a sync context,
and is used in Django making it a safe and sane choice for this.
2021-04-06 09:35:10 -07:00
David Lord
8fa1fdfc96
Merge pull request #3952 from pallets/pre-commit-ci-update-config
...
[pre-commit.ci] pre-commit autoupdate
2021-04-05 10:24:22 -07:00
pre-commit-ci[bot]
c2f01f2086
[pre-commit.ci] pre-commit autoupdate
2021-04-05 17:10:21 +00:00
David Lord
463fc8e698
Merge pull request #3943 from pallets/pre-commit-ci-update-config
...
[pre-commit.ci] pre-commit autoupdate
2021-03-22 10:50:37 -07:00
pre-commit-ci[bot]
9222815beb
[pre-commit.ci] pre-commit autoupdate
2021-03-22 17:04:33 +00:00
David Lord
8043b91496
Merge pull request #3937 from pallets/pre-commit-ci-update-config
...
[pre-commit.ci] pre-commit autoupdate
2021-03-15 11:36:59 -07:00
pre-commit-ci[bot]
183cf87f86
[pre-commit.ci] pre-commit autoupdate
2021-03-15 17:00:57 +00:00
David Lord
78e7159e50
Merge pull request #3933 from pallets/more-scaffold
...
more work on Scaffold base class
2021-03-10 11:02:16 -08:00
David Lord
4421b22db2
only extend on first registration
2021-03-10 10:51:06 -08:00
David Lord
8e0d511d12
remove redundant _register_error_handler
2021-03-10 10:38:17 -08:00
David Lord
9f21e9fe54
remove old note about InternalServerError
2021-03-10 10:38:16 -08:00
David Lord
8bf05e1b1d
rewrite Scaffold docs
2021-03-10 10:38:16 -08:00
David Lord
d9db703c8a
move _PackageBoundObject into Scaffold
2021-03-10 10:38:13 -08:00
David Lord
4fa78d8a9b
Merge pull request #3932 from greyli/set-encoding
...
Set default encoding to UTF-8 for load_dotenv
2021-03-10 06:30:24 -08:00
Grey Li
5d11a3d105
Set default encoding to UTF-8 for load_dotenv
2021-03-10 21:40:29 +08:00
David Lord
9b01b78f2f
Merge pull request #3918 from pgjones/defaultdict
2021-03-08 10:15:26 -08:00
pgjones
264d52f6c5
remove _blueprint_order, dicts are ordered
...
This code originates from supporting Python 2.4. Dicts are ordered in
supported Pythons as of 3.6. An OrderedDict could be used to indicate
that order matters, but is not since we don't rely on the implementation
differences.
2021-03-08 09:58:12 -08:00
pgjones
708623907d
Utilise defaultdicts
...
This code originates from the Python 2.4 supporting version of Flask,
with defaultdicts being added in 2.5. Using defaultdict makes the
intentional usage clearer, and slightly simplifies the code.
2021-03-08 09:58:12 -08:00
David Lord
49a0f5d769
Merge pull request #3907 from pgjones/sugar
...
Add syntatic sugar for route registration
2021-03-08 08:57:58 -08:00
pgjones
26932dad46
Add syntatic sugar for route registration
...
This takes a popular API whereby instead of passing the HTTP method as
an argument to route it is instead used as the method name i.e.
@app.route("/", methods=["POST"])
is now writeable as,
@app.post("/")
This is simply syntatic sugar, it doesn't do anything else, but makes
it slightly easier for users.
I've included all the methods that are relevant and aren't auto
generated i.e. not connect, head, options, and trace.
2021-03-08 08:55:14 -08:00
dependabot-preview[bot]
702a1a2626
Merge pull request #3926 from pallets/dependabot/pip/sphinx-3.5.1
2021-03-01 15:25:15 +00:00
dependabot-preview[bot]
1ff0bc6a1d
Merge pull request #3925 from pallets/dependabot/pip/tox-3.22.0
2021-03-01 15:22:59 +00:00
dependabot-preview[bot]
65c198c8ca
Bump sphinx from 3.4.3 to 3.5.1
...
Bumps [sphinx](https://github.com/sphinx-doc/sphinx ) from 3.4.3 to 3.5.1.
- [Release notes](https://github.com/sphinx-doc/sphinx/releases )
- [Changelog](https://github.com/sphinx-doc/sphinx/blob/3.x/CHANGES )
- [Commits](https://github.com/sphinx-doc/sphinx/compare/v3.4.3...v3.5.1 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-01 15:17:54 +00:00
dependabot-preview[bot]
03fdb1eee8
Bump tox from 3.21.4 to 3.22.0
...
Bumps [tox](https://github.com/tox-dev/tox ) from 3.21.4 to 3.22.0.
- [Release notes](https://github.com/tox-dev/tox/releases )
- [Changelog](https://github.com/tox-dev/tox/blob/master/docs/changelog.rst )
- [Commits](https://github.com/tox-dev/tox/compare/3.21.4...3.22.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-01 15:15:58 +00:00
David Lord
080a0637df
Merge pull request #3917 from greyli/fix-date-parse
...
update json.dumps for http_date changes
2021-02-25 09:51:58 -08:00
Grey Li
2d8caf350e
update json.dumps for http_date changes
2021-02-25 09:45:55 -08:00
David Lord
041c463b97
Merge pull request #3922 from pallets/consistency
...
various cleanup for consistency between projects
2021-02-24 10:35:16 -08:00
David Lord
2aa174b62a
move version to setup.cfg
2021-02-24 10:09:50 -08:00
David Lord
9dbfdeb035
docs rename changelog to changes
2021-02-24 10:09:38 -08:00
David Lord
bf473c8e3b
update project links
2021-02-24 10:09:15 -08:00
David Lord
25a13f20cc
Merge pull request #3916 from greyli/fix-extdev-docs
...
Remove the mention of Flask-OAuth in the extension dev docs
2021-02-19 07:21:18 -08:00
Grey Li
9224860896
Remove the mention of Flask-OAuth in the extension dev docs
2021-02-19 22:59:09 +08:00
David Lord
be51a3044e
use rtd to build docs for prs
...
skip code tests when only docs change
2021-02-16 08:36:14 -08:00
David Lord
17e91cc7b7
Merge pull request #3904 from pallets/update-project
...
update project files
2021-02-08 18:32:18 -08:00
David Lord
15be1ddf6e
update contributing guide
2021-02-08 18:26:37 -08:00
David Lord
c7207b3b77
update requirements
2021-02-08 18:23:10 -08:00
David Lord
9cfa00f6fe
add security policy
...
copy from pallets/.github repo
github was using docs/security.rst by mistake
2021-02-08 18:20:48 -08:00
David Lord
88aeff5e21
update issue templates
2021-02-08 18:17:45 -08:00
David Lord
904d087dfe
update test config
2021-02-08 18:17:45 -08:00
David Lord
081ed87455
Merge pull request #3901 from pallets/pre-commit-ci-update-config
...
[pre-commit.ci] pre-commit autoupdate
2021-02-08 18:17:33 -08:00
pre-commit-ci[bot]
848324b055
[pre-commit.ci] pre-commit autoupdate
2021-02-08 18:12:19 -08:00
David Lord
099e34c36b
Merge pull request #3903 from pallets/update-werkzeug
...
fix tests for latest Werkzeug
2021-02-08 18:11:47 -08:00
David Lord
1d8ade59d2
remove test relying on Werkzeug Local internals
2021-02-08 18:04:02 -08:00
David Lord
8536d079f8
Merge pull request #3895 from pallets/jinja-tojson
...
use Jinja's tojson filter
2021-02-01 22:57:42 -08:00
David Lord
39d978f42b
use Jinja's tojson filter
2021-02-01 22:48:09 -08:00
David Lord
9aabad53f6
Merge pull request #3794 from mbpreble/open-session-request-endpoint-none
...
Ensure session_interface.open_session is called after URL matching
2021-02-01 20:45:02 -08:00
Matthew Preble
5aa2518a34
Ensure session_interface.open_session is called after URL matching ( #3776 )
2021-02-01 20:41:17 -08:00
David Lord
a0790896d4
Merge pull request #3883 from tonydelanuez/clarify-got-request-exception
...
Doc update: Clarify got_request_exception signal docs
2021-02-01 20:31:57 -08:00