Commit graph

114 commits

Author SHA1 Message Date
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
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
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
376a64137c Merge remote-tracking branch 'origin/1.1.x' 2020-02-15 10:40:32 -08:00
frostming
c4de6a0bfc strip the ending slash for static_url_path 2020-02-10 18:19:25 -08:00
David Lord
d1ffe44185 cli checks for cryptography library 2020-02-10 17:34:19 -08:00
David Lord
d96c18e887 Merge branch '1.1.x' 2020-02-10 16:44:33 -08:00
David Lord
3cafd1f82e Merge branch '1.0.x' into 1.1.x 2020-02-10 16:43:49 -08:00
David Lord
830faf1a6e clean up merge 2020-02-10 16:36:40 -08:00
Armin Ronacher
a526f7268a Merge branch '1.1.x' 2020-02-10 20:37:28 +01:00
Armin Ronacher
b008697f3d Merge branch '1.0.x' into 1.1.x 2020-02-10 20:37:21 +01:00
Armin Ronacher
f6161f42a5 Merge remote-tracking branch 'origin/0.12.x' into 1.0.x 2020-02-10 20:36:55 +01:00
David Lord
17cbfb2df5 next version 1.2.0 2020-02-09 15:20:23 -08:00
David Lord
46c3d4656d send_file doesn't allow StringIO 2019-11-19 08:52:12 -08:00
David Lord
578592c01e lazy load app on reload only 2019-11-18 17:54:46 -08:00
David Lord
a620f1c9c8 clean up config.from_file docs 2019-10-18 09:24:58 -07:00
Doron Horwitz
940fa38c28 get_cookie_name in SessionInterface for easier overriding in SecureCookieSessionInterface 2019-10-12 19:12:27 -07:00
David Lord
0202d4fdaa pass sys.argv to flask cli 2019-07-10 12:44:04 -07:00
David Lord
fff9bedf53 pass sys.argv to flask cli 2019-07-10 11:45:20 -07:00
David Lord
4086e82b37 release version 1.1.1 2019-07-08 10:58:12 -07:00
David Lord
f19014c7a1 restore and deprecate json_available 2019-07-08 10:26:12 -07:00
David Lord
6e34811504 release version 1.1.0 2019-07-04 16:04:42 -07:00
David Lord
884deb0b5c Merge branch '1.0.x' 2019-07-04 16:01:14 -07:00
David Lord
01d1e6fe0f release version 1.0.4 2019-07-04 15:33:46 -07:00
David Lord
912bbd4e08 Merge branch '1.0.x' 2019-07-03 12:23:16 -07:00
ThiefMaster
10274d918e Move dotenv warning to stderr 2019-07-03 15:08:10 +02:00
David Lord
e8b8fcbfd4 show warning for old logger config 2019-07-02 11:39:00 -07:00
David Lord
ba1fcd1887 use app.name as app.logger name 2019-07-01 14:56:18 -07:00
David Lord
1ee9405ff3 Merge branch '1.0.x' 2019-07-01 10:54:31 -07:00
Anthony Sottile
f65c6d3860 Fixes for PEP451 import loaders and pytest 5.x
- pytest 5.x drops python2 compatibility and therefore only implements PEP 451
- pytest 5.x made the repr of `ExcInfo` less confusing (fixed tests depending
  on the old format)
2019-07-01 10:43:06 -07:00
David Lord
7b4f294465 Merge branch '1.0.x' 2019-07-01 09:52:06 -07:00
Anthony Sottile
8c68190ed0 Make the changelog UTF-8 compatible 2019-07-01 07:36:20 -07:00
David Lord
158db956a3 send_file quotes ":/" in UTF-8 filename 2019-06-27 07:55:22 -07:00
David Lord
8c5c7939a2 Merge branch '1.0.x' 2019-06-26 14:46:10 -07:00
David Lord
23881398e3 don't clear BadRequestKeyError args 2019-06-26 14:34:03 -07:00
David Lord
ff0c92a1c7 Merge branch '1.0.x' 2019-06-23 16:57:52 -07:00
David Lord
9e7c91115c use sphinx-issues, rewrap changelog 2019-06-23 12:25:38 -07:00
David Lord
08404e8cd0 document behavior of very generic error handlers 2019-06-21 08:22:35 -07:00
David Lord
6b4ca46a4a always pass InternalServerError instance to 500 handler 2019-06-19 14:52:25 -07:00
David Lord
4d904d4f29 move url matching after opening session 2019-06-13 12:40:01 -07:00
cslecrone
f7d690e474 don't require ssl module for flask cli 2019-05-31 17:27:52 -04:00
Daniel Pope
39df2b7dc3 Create json_dumps() method on new EnvironBuilder 2019-05-31 18:05:25 +01:00
John Zeringue
d610a559d1 Better error message when view return type is not supported
Before, returning a `bool` from a route caused the error

```
[2019-05-31 10:08:42,216] ERROR in app: Exception on / [GET]
Traceback (most recent call last):
  File "/Users/johnzeringue/Documents/ts-open/flask/flask/app.py", line 2070, in make_response
    rv = self.response_class.force_type(rv, request.environ)
  File "/Users/johnzeringue/Documents/ts-open/flask/env/lib/python3.7/site-packages/werkzeug/wrappers/base_response.py", line 269, in force_type
    response = BaseResponse(*_run_wsgi_app(response, environ))
  File "/Users/johnzeringue/Documents/ts-open/flask/env/lib/python3.7/site-packages/werkzeug/wrappers/base_response.py", line 26, in _run_wsgi_app
    return _run_wsgi_app(*args)
  File "/Users/johnzeringue/Documents/ts-open/flask/env/lib/python3.7/site-packages/werkzeug/test.py", line 1119, in run_wsgi_app
    app_rv = app(environ, start_response)
TypeError: 'bool' object is not callable

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/johnzeringue/Documents/ts-open/flask/flask/app.py", line 2393, in wsgi_app
    response = self.full_dispatch_request()
  File "/Users/johnzeringue/Documents/ts-open/flask/flask/app.py", line 1906, in full_dispatch_request
    return self.finalize_request(rv)
  File "/Users/johnzeringue/Documents/ts-open/flask/flask/app.py", line 1921, in finalize_request
    response = self.make_response(rv)
  File "/Users/johnzeringue/Documents/ts-open/flask/flask/app.py", line 2078, in make_response
    reraise(TypeError, new_error, sys.exc_info()[2])
  File "/Users/johnzeringue/Documents/ts-open/flask/flask/_compat.py", line 39, in reraise
    raise value.with_traceback(tb)
  File "/Users/johnzeringue/Documents/ts-open/flask/flask/app.py", line 2070, in make_response
    rv = self.response_class.force_type(rv, request.environ)
  File "/Users/johnzeringue/Documents/ts-open/flask/env/lib/python3.7/site-packages/werkzeug/wrappers/base_response.py", line 269, in force_type
    response = BaseResponse(*_run_wsgi_app(response, environ))
  File "/Users/johnzeringue/Documents/ts-open/flask/env/lib/python3.7/site-packages/werkzeug/wrappers/base_response.py", line 26, in _run_wsgi_app
    return _run_wsgi_app(*args)
  File "/Users/johnzeringue/Documents/ts-open/flask/env/lib/python3.7/site-packages/werkzeug/test.py", line 1119, in run_wsgi_app
    app_rv = app(environ, start_response)
TypeError: 'bool' object is not callable
The view function did not return a valid response. The return type must be a string, tuple, Response instance, or WSGI callable, but it was a bool.
```

Now, it returns the more readable

```
[2019-05-31 10:36:19,500] ERROR in app: Exception on / [GET]
Traceback (most recent call last):
  File "/Users/johnzeringue/Documents/ts-open/flask/flask/app.py", line 2400, in wsgi_app
    response = self.full_dispatch_request()
  File "/Users/johnzeringue/Documents/ts-open/flask/flask/app.py", line 1907, in full_dispatch_request
    return self.finalize_request(rv)
  File "/Users/johnzeringue/Documents/ts-open/flask/flask/app.py", line 1922, in finalize_request
    response = self.make_response(rv)
  File "/Users/johnzeringue/Documents/ts-open/flask/flask/app.py", line 2085, in make_response
    " {rv.__class__.__name__}.".format(rv=rv))
TypeError: The view function did not return a valid response. The return type must be a string, dict, tuple, Response instance, or WSGI callable, but it was a bool.
```

Fixes #3214
2019-05-31 11:58:49 -04:00
Fantix King
9eadc5434b fix teardown bug in FlaskClient
* Fixes pytest-dev/pytest-flask#42
2019-05-25 14:03:28 -07:00
David Lord
cfedcd308e strip static url trailing slash at assignment 2019-05-25 11:18:40 -07:00