David Lord
61fbae8664
skip async tests if asgiref isn't installed
2021-04-06 15:33:06 -07:00
pgjones
00f5a3e55c
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
c6c6408c3f
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
6979265fa6
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
85b8fab268
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]
70b58c82d9
[pre-commit.ci] pre-commit autoupdate
2021-04-05 17:10:21 +00:00
David Lord
ecb3450f19
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]
06fd6aca27
[pre-commit.ci] pre-commit autoupdate
2021-03-22 17:04:33 +00:00
David Lord
020331522b
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]
46d8e90f29
[pre-commit.ci] pre-commit autoupdate
2021-03-15 17:00:57 +00:00
David Lord
510c38cc63
Merge pull request #3933 from pallets/more-scaffold
...
more work on Scaffold base class
2021-03-10 11:02:16 -08:00
David Lord
3dfc12e8d8
only extend on first registration
2021-03-10 10:51:06 -08:00
David Lord
ef52e3e4a3
remove redundant _register_error_handler
2021-03-10 10:38:17 -08:00
David Lord
25ab05e6a2
remove old note about InternalServerError
2021-03-10 10:38:16 -08:00
David Lord
7029674775
rewrite Scaffold docs
2021-03-10 10:38:16 -08:00
David Lord
9f7c602a84
move _PackageBoundObject into Scaffold
2021-03-10 10:38:13 -08:00
David Lord
3316604822
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
33145c3699
Set default encoding to UTF-8 for load_dotenv
2021-03-10 21:40:29 +08:00
David Lord
6d9d79c70d
Merge pull request #3918 from pgjones/defaultdict
2021-03-08 10:15:26 -08:00
pgjones
83d358d2c4
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
fd62210f58
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
5fea7caba2
Merge pull request #3907 from pgjones/sugar
...
Add syntatic sugar for route registration
2021-03-08 08:57:58 -08:00
pgjones
705e52684a
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]
82d69cd06c
Merge pull request #3926 from pallets/dependabot/pip/sphinx-3.5.1
2021-03-01 15:25:15 +00:00
dependabot-preview[bot]
e4e66186c3
Merge pull request #3925 from pallets/dependabot/pip/tox-3.22.0
2021-03-01 15:22:59 +00:00
dependabot-preview[bot]
1748bb02eb
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]
6e7869ec49
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
4846e25e92
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
49b7341a49
update json.dumps for http_date changes
2021-02-25 09:45:55 -08:00
David Lord
dcd3b5c8f8
Merge pull request #3922 from pallets/consistency
...
various cleanup for consistency between projects
2021-02-24 10:35:16 -08:00
David Lord
0c7cbe2d11
move version to setup.cfg
2021-02-24 10:09:50 -08:00
David Lord
9e7d3a6b69
docs rename changelog to changes
2021-02-24 10:09:38 -08:00
David Lord
3cd615a1d6
update project links
2021-02-24 10:09:15 -08:00
David Lord
aee3f3fee9
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
76abbe9062
Remove the mention of Flask-OAuth in the extension dev docs
2021-02-19 22:59:09 +08:00
David Lord
8d9501598f
use rtd to build docs for prs
...
skip code tests when only docs change
2021-02-16 08:36:14 -08:00
David Lord
adeaf27e76
Merge pull request #3904 from pallets/update-project
...
update project files
2021-02-08 18:32:18 -08:00
David Lord
b496d8b7cb
update contributing guide
2021-02-08 18:26:37 -08:00
David Lord
3c00658772
update requirements
2021-02-08 18:23:10 -08:00
David Lord
dbe76bb75d
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
571e638e2a
update issue templates
2021-02-08 18:17:45 -08:00
David Lord
bfd4dc6d30
update test config
2021-02-08 18:17:45 -08:00
David Lord
ee089488ad
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]
3fe23bf899
[pre-commit.ci] pre-commit autoupdate
2021-02-08 18:12:19 -08:00
David Lord
ff3fb96896
Merge pull request #3903 from pallets/update-werkzeug
...
fix tests for latest Werkzeug
2021-02-08 18:11:47 -08:00
David Lord
0ee1b0b5d9
remove test relying on Werkzeug Local internals
2021-02-08 18:04:02 -08:00
David Lord
192f4ae0b2
Merge pull request #3895 from pallets/jinja-tojson
...
use Jinja's tojson filter
2021-02-01 22:57:42 -08:00
David Lord
b473e7c97c
use Jinja's tojson filter
2021-02-01 22:48:09 -08:00
David Lord
fdf5d11b51
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
01621485fd
Ensure session_interface.open_session is called after URL matching ( #3776 )
2021-02-01 20:41:17 -08:00