Commit graph

88 commits

Author SHA1 Message Date
David Lord
8853be019a remove BaseRequest and BaseResponse 2021-01-29 10:52:48 -08:00
David Lord
6e1e0c8a37 remove JSONMixin 2021-01-29 10:52:48 -08:00
Grey Li
4fd42dd4fe Fix broken func directives in docstrings 2021-01-04 10:32:01 +08:00
Grey Li
6a8b93fbe3 Merge remote-tracking branch 'origin/1.1.x' 2021-01-04 10:14:36 +08:00
huimingz
a074c7cef9 Document parameter description error
The loads function has the wrong 'kwargs' parameter description
2021-01-04 09:45:01 +08:00
David Lord
26bb6b1c56 move send_file and send_from_directory to Werkzeug
The implementations were moved to Werkzeug, Flask's functions become
wrappers around Werkzeug to pass some Flask-specific values.

cache_timeout is renamed to max_age. SEND_FILE_MAX_AGE_DEFAULT,
app.send_file_max_age_default, and app.get_send_file_max_age defaults
to None. This tells the browser to use conditional requests rather than
a 12 hour cache.

attachment_filename is renamed to download_name, and is always sent if
a name is known.

Deprecate helpers.safe_join in favor of werkzeug.utils.safe_join.

Removed most of the send_file tests, they're tested in Werkzeug.

In the file upload example, renamed the uploaded_file view to
download_file to avoid a common source of confusion.
2020-11-05 09:27:52 -08:00
Mathurshan Vimalesvaran
8819687447 include samesite and secure when removing session cookie (#3726) 2020-11-04 18:16:05 -08:00
David Lord
eecaf84333 update tests for new werkzeug client (#3827)
Flask's client.open mirrors Werkzeug's for processing an existing
environ.

Always test with latest code for other Pallets projects. This will
be changed back once the new versions are released.
2020-11-04 18:00:21 -08:00
David Lord
8817c77eb0 update requirements (#3823) 2020-11-01 05:30:02 -08:00
David Lord
f868dcc118 fix response bases order 2020-10-31 19:19:11 -07:00
Sebastian Höffner
951b4c6d02 Updating external_url_handler example to Python 3 (#3816) 2020-10-29 09:33:20 -07:00
David Lord
9897035b45 Merge pull request #3728 from nphilipp/master--discover-app-factory-deterministically
Discover app factory deterministically
2020-10-15 14:01:14 -07:00
Matěj Volf
ce77d5a4e9 refer to encoder instead of decoder 2020-10-07 08:06:29 -07:00
Bogdan Opanchuk
849cf2c2a9 Break reference cycle created by default in Flask instances.
Flask instances with static folders were creating a reference cycle
via their "static" view function (which held a strong reference back
to the Flask instance to call its `send_static_file` method). This
prevented CPython from freeing the memory for a Flask instance
when all external references to it were released.

Now use a weakref for the back reference to avoid this.

Co-authored-by: Joshua Bronson <jab@users.noreply.github.com>
2020-10-03 10:05:05 -04:00
ongopongo
ef43c92c39 fix typo in flask shell help (#3744) 2020-08-26 09:20:21 -07:00
WolframAlph
2f1e1c4686 fixed #3738 typo in src/flask/blueprints.py 2020-08-23 08:56:24 +02:00
Nils Philippsen
1d83912813 Discover app factory deterministically
Commit 2ae740dd49 probably inadvertently
changed to iterate over a set of "create_app", "make_app" to discover
application factory functions. As sets don't guarantee order,
differences in the implementation of the type can make it
non-deterministic which factory function is used if a project implements
both. Revert to using a tuple.

Signed-off-by: Nils Philippsen <nils@redhat.com>
2020-08-13 10:44:43 +02:00
yk396
a37cbe4fbb extract common Flask/Blueprint API to Scaffold base class
Co-authored-by: Chris Nguyen <chrisngyn99@gmail.com>
2020-08-01 07:45:58 -07:00
David Lord
8b9128ee06 cleaner message when CLI can't load app
When loading the app fails for the --help command, only the error
message is shown, then the help text. The full traceback is shown for
other exceptions. Also show the message when loading fails while
getting a command, instead of only "command not found". The error
message goes to stderr to match other error behavior, and is in red
with an extra newline to make it more obvious next to the help text.

Also fixes an issue with the test_apps fixture that caused an imported
app to still be importable after the test was over and the path was
reset. Now the module cache is reset as well.
2020-07-30 18:36:55 -07:00
Christopher Nguyen
95653896a4 change make_response to use headers.update 2020-07-23 16:53:39 -07:00
Joshua Bronson
06f7f34d76 Merge pull request #3560 from greyli/fix-env-chdir
Stop change CWD to .env/.flaskenv location
2020-07-18 13:14:09 -04:00
Armin Ronacher
40d6d107c5 Some small doc fixes 2020-07-08 15:53:43 +02:00
Joshua Bronson
35b8f096a7 Cherry-pick 7ba35c4 from master (support pathlib.Path for static_folder) 2020-07-06 13:47:57 -04:00
Joshua Bronson
f81846c68b Restore support for using pathlib.Path for static_folder.
* No longer causes AttributeError: 'PosixPath' object has no
  attribute 'rstrip'.

* This was broken by e6178fe489
  which was released in 1.1.2.

* Add a regression test that now passes.

See #3557.
2020-07-06 08:55:19 -04:00
Grey Li
62c582e19b Stop change CWD to .env/.flaskenv location 2020-07-05 09:37:03 +08:00
jackwardell
148c89bccd add assert message for errorhandler exception type 2020-04-16 10:49:42 -07:00
David Lord
042754ba4a use ast to parse FLASK_APP
enables keyword arguments to factory functions
2020-04-07 17:54:51 -07:00
David Lord
f2a8087cf5 deprecate passing script_info to factory 2020-04-07 15:54:36 -07:00
David Lord
23fb6f8065 update json docs 2020-04-07 13:37:14 -07:00
David Lord
1039d7834b deprecate JSON encoding options
make consistent with built-in json module
2020-04-07 12:32:27 -07:00
David Lord
187cfe90b8 remove simplejson
- remove encoding detection backport, json.loads supports it directly
- use str.translate instead of multiple str.replace
2020-04-07 09:55:39 -07:00
David Lord
9594326577 move package metadata to setup.cfg 2020-04-04 14:50:21 -07:00
David Lord
1de5873d66 remove unused ref directives
replace page refs with doc directives
2020-04-04 12:57:14 -07:00
David Lord
296ef35943 remove unused module docstrings 2020-04-04 12:28:08 -07:00
David Lord
f5038c4c39 f-strings everywhere 2020-04-04 12:10:00 -07:00
David Lord
67bb43b738 apply pyupgrade 2020-04-04 12:10:00 -07:00
David Lord
1e5e3aae8a remove more compat code 2020-04-04 12:10:00 -07:00
David Lord
24723fa6e8 remove _compat module 2020-04-04 12:10:00 -07:00
David Lord
8cf6480f91 remove deprecated code 2020-04-04 12:10:00 -07:00
David Lord
8433de53c9 drop support for Python 2.7 and 3.5 2020-04-04 12:09:55 -07:00
David Lord
c0c76bd651 remove Python 2 from docs 2020-04-04 12:05:44 -07:00
David Lord
793bff721a Merge branch '1.1.x' 2020-04-03 10:25:51 -07:00
David Lord
dbdc26f2dc release version 1.1.2 2020-04-03 10:10:38 -07:00
David Lord
39d2597028 update deprecation versions 2020-04-03 10:02:40 -07:00
Jeenu Viswambharan
7ddc55a3b3 clarify static_folder is relative to root_path 2020-04-03 07:28:44 -07:00
Shanavas M
e647a4a07a Update deprecated for config.from_json 2020-03-18 12:37:51 +05:30
kevinanew
243c08238b refactor variable choices into if blocks 2020-03-11 07:24:38 -07:00
David Lord
376a64137c Merge remote-tracking branch 'origin/1.1.x' 2020-02-15 10:40:32 -08:00
Frost Ming
fe392e7884 Handle different sep across os 2020-02-12 13:17:03 +08:00
frostming
c4de6a0bfc strip the ending slash for static_url_path 2020-02-10 18:19:25 -08:00