Commit graph

940 commits

Author SHA1 Message Date
David Lord
cd593bf117 Merge pull request #2307 from neilvictorgrey/master
For Issue #2286: Update unittest references
2017-05-23 11:50:31 -07:00
Andrey Kislyuk
11d2eec3ac Fix refactoring error in static_folder docstring (#2310) 2017-05-22 23:46:22 -07:00
Neil Grey
65fc888172 For Issue #2286: Replaces references to unittest in the documentation with pytest 2017-05-22 17:36:55 -07:00
David Lord
01ddf54b87
adjust for loop style 2017-05-22 16:12:23 -07:00
David Lord
7ecdbcfa2b
show error if multiple Flask instances are detected
add changelog
2017-05-22 15:48:08 -07:00
Hendrik Makait
b4eb6534d5 Remove unnecessary checks and reformat NoAppException messages 2017-05-22 14:26:00 -07:00
Hendrik Makait
ced719ea18 Auto-detect create_app and make_app factory functions 2017-05-22 12:30:18 -07:00
David Lord
5d9dd0b379
set session accessed for setdefault 2017-05-20 13:00:17 -07:00
David Lord
ae133aa173
reorder session cookie checks to deleted, accessed, modified 2017-05-20 12:11:37 -07:00
David Lord
e2f4c0ac16
Merge branch 'master' into vary-cookies 2017-05-19 09:44:06 -07:00
David Lord
2a65794306
safe_join on Windows uses posixpath
fixes #2033
closes #2059
2017-05-15 16:58:01 -07:00
David Lord
f75ad9fca2
refactor session cookie domain logic
cache result of session cookie domain
add warnings for session cookie domain issues
add changelog
2017-05-13 21:59:00 -07:00
José Oliveira
c3d49e29ea
show warning if session cookie domain is ip
closes #2007
2017-05-13 21:47:43 -07:00
wangbing
160999e882 Removed unused import 2017-05-10 00:34:36 +08:00
David Lord
7ad79583b9
add sort by match order
sort by endpoint by default
combine sort flags
sort methods
ignore HEAD and OPTIONS methods by default
rearrange columns
use format to build row format string
rework tests
add changelog
2017-04-26 10:26:59 -07:00
David Lord
717e45ab15
Merge branch 'master' into routes-command 2017-04-25 13:13:10 -07:00
David Lord
501f043125
clean up preprocess_request docs
[ci skip]
2017-04-25 12:03:08 -07:00
David Lord
bc7dae3d5a
Merge branch 'master' into AvivC-improve-docs-in-Flask.preprocess_request 2017-04-25 09:43:18 -07:00
David Lord
697f7b9365
refactor make_response to be easier to follow
* be explicit about how tuples are unpacked
* allow bytes for status value
* allow Headers for headers value
* use TypeError instead of ValueError
* errors are more descriptive
* document that view must not return None
* update documentation about return values
* test more response types
* test error messages

closes #1676
2017-04-25 08:30:48 -07:00
David Lord
46f83665ef
clean up blueprint json support
add changelog for #1898
2017-04-24 10:16:50 -07:00
David Lord
74b3f7e04c Merge pull request #1898 from RaHus/per_blueprint_jsoncoding_#1710
Per blueprint jsoncoding #1710
2017-04-24 10:16:20 -07:00
David Lord
13754b6d11
ensure error while opening session pops context
errors will be handled by the app error handlers
closes #1538, closes #1528
2017-04-22 13:57:04 -07:00
David Lord
648344d4e8
use mro to collect methods
ignore methods attr unless explicitly set
add changelog
2017-04-21 10:43:02 -07:00
David Lord
0d9d3d8f92
Merge branch 'master' into figome-multiple-inheritance 2017-04-21 10:33:29 -07:00
David Lord
97e2cd0a5a
update changelog
move test next to existing test, rename
reword / reflow param doc
2017-04-21 07:26:30 -07:00
David Lord
8ad4f476aa
Merge branch 'master' into jrmccarthy-master 2017-04-21 07:03:46 -07:00
rocambolesque
19fbe3a18f
Add scheme to url_build error handler parameters 2017-04-20 08:30:07 -07:00
Sobolev Nikita
7481844c98 Fix typo in app.py (#2248) 2017-04-19 07:46:33 +02:00
David Lord
09b49104f3
filename can be latin-1, not just ascii
only normalize basic name when utf-8 header is needed
ref #2223
2017-04-12 09:59:25 -07:00
David Lord
8b45009dbc Merge pull request #2223 from antlarr/master
Fix send_file's attachment_filename to work with non-ascii filenames
2017-04-08 10:54:20 -07:00
David Lord
c1973016ea
style cleanup
break out header parts in test
test for no filename* parameter for ascii header
2017-04-07 18:02:31 -07:00
Antonio Larrosa
d50a5db5ed Keep using only filename if it's valid ascii 2017-04-07 20:34:52 +02:00
jab
00d6e339ec Change Flask.__init__ to accept two new keyword arguments, host_matching and static_host. (#1560)
This enables host_matching to be set properly by the time the constructor adds
the static route, and enables the static route to be properly associated with
the required host.

Previously, you could only enable host_matching once your app was already
instantiated (e.g. app.url_map.host_matching = True), but at that point
the constructor would have already added the static route without host matching
and an associated host, leaving the static route in a broken state.

Fixes #1559.
2017-04-07 16:31:54 +02:00
asilversempirical
d76d68cd38 Update out of date jsonify documentation
https://github.com/pallets/flask/pull/2193 changed the conditions for when jsonify pretty prints, but this comment wasn't updated.
2017-04-06 11:26:01 -04:00
Markus Unterwaditzer
de555c82ce Merge branch '0.12-maintenance' 2017-03-31 18:44:33 +02:00
Markus Unterwaditzer
c935eaceaf Revert "Handle BaseExceptions (#2222)"
This reverts commit 1d4448abe3.
2017-03-31 18:44:14 +02:00
Markus Unterwaditzer
07a705888c Bump to dev version 2017-03-31 18:43:52 +02:00
Markus Unterwaditzer
a34d0e6878 Bump version number to 0.12.1 2017-03-31 18:43:36 +02:00
Diggory Blake
12c49c75fb Handle BaseExceptions 2017-03-31 18:40:46 +02:00
Diggory Blake
1d4448abe3 Handle BaseExceptions (#2222)
* Handle BaseExceptions

* Add test and changes

* Make test more idiomatic
2017-03-31 18:07:43 +02:00
Antonio Larrosa
bf023e7dc0 Remove unidecode dependency and use unicodedata instead
I found a way to remove the unidecode dependency without sacrificing
much by using unicodedata.normalize .
2017-03-30 17:32:21 +02:00
Antonio Larrosa
6ef45f30ab Fix previous commits to work with python 2 and python 3
Also, parse_options_header seems to interpret filename* so we better
test the actual value used in the headers (and since it's valid
in any order, use a set to compare)
2017-03-24 20:05:01 +01:00
Antonio Larrosa
0049922f2e Fix send_file to work with non-ascii filenames
This commit implements https://tools.ietf.org/html/rfc2231#section-4 in
order to support sending unicode characters. Tested on both Firefox and
Chromium under Linux.

This adds unidecode as a dependency, which might be relaxed by using
.encode('latin-1', 'ignore') but wouldn't be as useful.

Also, added a test for the correct headers to be added.

Previously, using a filename parameter to send_file with unicode characters, it
failed with the next error since HTTP headers don't allow non latin-1 characters.
Error on request:
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/werkzeug/serving.py", line 193, in run_wsgi
    execute(self.server.app)
  File "/usr/lib/python3.6/site-packages/werkzeug/serving.py", line 186, in execute
    write(b'')
  File "/usr/lib/python3.6/site-packages/werkzeug/serving.py", line 152, in write
    self.send_header(key, value)
  File "/usr/lib64/python3.6/http/server.py", line 509, in send_header
    ("%s: %s\r\n" % (keyword, value)).encode('latin-1', 'strict'))
UnicodeEncodeError: 'latin-1' codec can't encode character '\uff0f' in position 58: ordinal not in range(256)

Fixes #1286
2017-03-23 17:30:48 +01:00
Ed Brannin
7a7a163ff1 shorten output when ImportError due to app bug.
Before:
```
C:\dev\tmp>py -2 -m flask run
Traceback (most recent call last):
  File "C:\Python27\lib\runpy.py", line 174, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "C:\Python27\lib\runpy.py", line 72, in _run_code
    exec code in run_globals
  File "c:\dev\sourcetree\flask\flask\__main__.py", line 15, in <module>
    main(as_module=True)
  File "c:\dev\sourcetree\flask\flask\cli.py", line 523, in main
    cli.main(args=args, prog_name=name)
  File "c:\dev\sourcetree\flask\flask\cli.py", line 383, in main
    return AppGroup.main(self, *args, **kwargs)
  File "C:\Python27\lib\site-packages\click\core.py", line 697, in main
    rv = self.invoke(ctx)
  File "C:\Python27\lib\site-packages\click\core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "C:\Python27\lib\site-packages\click\core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Python27\lib\site-packages\click\core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "C:\Python27\lib\site-packages\click\decorators.py", line 64, in new_func
    return ctx.invoke(f, obj, *args[1:], **kwargs)
  File "C:\Python27\lib\site-packages\click\core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "c:\dev\sourcetree\flask\flask\cli.py", line 433, in run_command
    app = DispatchingApp(info.load_app, use_eager_loading=eager_loading)
  File "c:\dev\sourcetree\flask\flask\cli.py", line 153, in __init__
    self._load_unlocked()
  File "c:\dev\sourcetree\flask\flask\cli.py", line 177, in _load_unlocked
    self._app = rv = self.loader()
  File "c:\dev\sourcetree\flask\flask\cli.py", line 238, in load_app
    rv = locate_app(self.app_import_path)
  File "c:\dev\sourcetree\flask\flask\cli.py", line 91, in locate_app
    __import__(module)
  File "C:\dev\tmp\error.py", line 1, in <module>
    import whatisthisidonteven
ImportError: No module named whatisthisidonteven
```

After:
```
C:\dev\tmp>py -2 -m flask run
Usage: python -m flask run [OPTIONS]

Error: There was an error trying to import the app (error):
Traceback (most recent call last):
  File "c:\dev\sourcetree\flask\flask\cli.py", line 91, in locate_app
    __import__(module)
  File "C:\dev\tmp\error.py", line 1, in <module>
    import whatisthisidonteven
ImportError: No module named whatisthisidonteven```
2017-03-21 15:22:15 -04:00
Sven-Hendrik Haase
ad42d88fb2 Remove useless pass 2017-03-16 14:42:16 +01:00
Sven-Hendrik Haase
5b7fd9ad88 Print a stacktrace on CLI error (closes #2208) 2017-03-16 14:37:58 +01:00
John Bodley
46e8427d81 Document run() host defaulting to SERVER_NAME 2017-03-11 18:59:34 +01:00
Hsiaoming Yang
a7f1a21c12 Don't rely on X-Requested-With for pretty print json response (#2193)
* Don't rely on X-Requested-With for pretty print json response

* Fix test cases for pretty print json patch

* Fix gramma error in docs for pretty print json config

* Add changelog for JSONIFY_PRETTYPRINT_REGULAR
2017-03-07 10:09:46 +09:00
Static
f5adb61b28 Fix typos/grammar in docs (#2201) 2017-03-06 14:05:59 +01:00
Nick Ficano
eaba4a73aa Fix typo in file header (jsonimpl => json) 2017-02-15 17:55:56 +01:00