Ashley Sommer
afea15e4a7
Add a test for the graceful CancelledError handling. The user app should _never_ see a CancelledError bubble up, nor should they be able to catch it, because the response is already sent at that point.
2018-08-06 15:02:12 +10:00
Ashley Sommer
39ff02b6e4
Modifications the handle_request
function to detect and gracefully handle the case that the request_handler Task is canceled by the sanic server while it is handling the request. One common occurrence of this is when the server issues a ResponseTimeout error, it also cancels the response_handler Task.
...
The Canceled exception handler purposely sets `response` to `None` to drop references to the handler coroutine, in an attempt to preemptively release resources.
This commit also fixes a possible reference-before-assignment of the `response` variable in the `handle_request` function.
Finally, another byproduct of this change is that ResponseMiddleware will no longer run if the `response` is `None`.
2018-08-06 14:12:30 +10:00
Cosmo Borsky
b238be54a4
Add content_type flag to Sanic.static ( #1267 )
...
* Add content_type flag to Sanic.static
Fixes #1266
* Fix flake8 error in travis
Add line to document `content_type` arg
* Fix content_type for file streams
Update tests
herp derp
* Remove content_type as an arg to HTTPResponse
`response.HTTPResponse` will default to `headers['Content-Type']` instead of `content_type`
https://github.com/channelcat/sanic/pull/1267#discussion_r204190913
2018-07-20 22:31:15 -07:00
Cosmo Borsky
377c9890a3
Support status code for file reponse ( #1269 )
...
Fixes #1268
2018-07-20 13:39:10 -07:00
ciscorn
599834b0e1
Add subprotocols param to add_websocket_route ( #1261 )
2018-07-16 12:20:26 -07:00
John Doe
a39a7ca9d5
Add url_bytes to Request ( #1258 )
...
We need to have access to the raw unparsed URL.
2018-07-16 12:13:27 -07:00
Ave
cd22745e6b
Sanitize the URL before redirecting ( #1260 )
...
* URL Quote the URL before redirecting
* Use safe url instead of unsafe one
* Fix query params
* fix build
* Whitelist all reserved characters from rfc3986
* Add tests for redirect url sanitizing
* Remove check for resulting URL on header injection test
The thing the tests are testing for can be implemented in other
ways that don't redirect to 100% the same address, but they'll all have
to match the remaining parts of the test to succeed.
2018-07-12 21:31:33 -07:00
7
334649dfd4
Fix response ci header ( #1244 )
...
* add unit tests, which should fail
* fix CIDict
* moving CIDict to avoid circular imports
* fix unit tests
* use multidict for headers
* fix cookie
* add version constraint for multidict
* omit test coverage for __main__.py
* make flake8 happy
* consolidate check in for loop
* travisci retry build
2018-07-11 01:44:21 -07:00
fanjindong
becbc5f9ef
fix one example and add one example ( #1257 )
2018-07-11 01:42:34 -07:00
7
a7dd73c657
Merge pull request #23 from channelcat/master
...
py37 (#1256 )
2018-07-03 22:12:02 -07:00
7
f9b29fd7e7
py37 ( #1256 )
...
* add py37 to travisci
* use dist:xenial for py37
* sudo: true in .travici
* bump websockets version for py37 support and fix unit tests
2018-07-03 22:07:08 -07:00
7
f770e16f6d
Merge pull request #22 from channelcat/master
...
merge upstream master branch
2018-06-26 23:33:35 -07:00
Arnulfo Solís
9092ee9f0e
HTTP Entity Headers ( #1127 )
...
* introduced basic entity and hopbyhop header identification
* removed entity headers
* coding style fixes
* remove unneeded header check
* moved from bytes to unicode in headers
* changed list to tuple in empty response statuses
2018-06-26 22:25:25 -07:00
GaryO
01257f65a6
Make auto reloader work on Mac ( #1249 )
2018-06-18 15:16:10 -07:00
7
c1222175b3
Merge pull request #21 from channelcat/master
...
remote tracking
2018-06-10 20:17:27 -07:00
Volodymyr Maksymiv
5ff481952d
add UUID support ( #1241 )
2018-06-09 01:16:17 -07:00
7
baa689ad43
Fix failed build and add websockets version specifier ( #1239 )
...
* add websockets version constraint
* fix failed build
2018-06-07 10:07:26 -07:00
Philip Xu
2f30f4f69f
Fixed #1231 - release resource no matter what ( #1232 )
2018-06-06 14:43:57 -07:00
Raphael Deem
202a4c6525
make request truthy if has transport ( #1222 )
2018-05-16 14:12:12 -07:00
7
7928b9b3a2
Merge pull request #20 from channelcat/master
...
merge upstream master branch
2018-04-29 21:50:07 -07:00
Adam Hopkins
e1c9020268
Update extensions.md ( #1205 )
...
Changing the description of [Sanic JWT](https://github.com/ahopkins/sanic-jwt ) to include permission scoping
2018-04-29 18:41:17 -07:00
Philip Xu
04a12b436e
Added Sanic-Auth, Sanic-CookieSession and Sanic-WTF to Extensions doc ( #1210 )
2018-04-29 18:40:18 -07:00
Fantix King
818a8c2196
Added GINO to Extensions doc ( #1200 )
2018-04-21 21:02:49 -07:00
Arnulfo Solís
b6715464fd
added init docs ( #1167 )
2018-04-01 20:53:08 -07:00
Raphael Deem
8f2d543d9f
default to auto_reload in debug mode ( #1159 )
...
* default to auto_reload in debug mode
* disable auto-reload in testing client
2018-04-01 20:52:56 -07:00
Raphael Deem
6cf320bedb
Merge pull request #1181 from kot83/patch-1
...
rename function in examples to post_json
2018-03-29 20:13:48 -07:00
kot83
a850ce5086
rename function to something else
...
function already defined
2018-03-29 15:57:10 -07:00
Raphael Deem
ef3bdf5408
Merge pull request #1180 from ashleysommer/fix_aiohttp_breakages
...
Fix failing tests when aiohttp>=3.1.0
2018-03-29 01:05:50 -07:00
Ashley Sommer
94b9bc7950
Some of the tests in Sanic (test_request_timout, test_response_timeout, test_keep_alive_timeout) use a custom SanicClient with modified methods. This relies on overriding internal aiohttp Client classes.
...
In aiohttp 3.1.0 there were some breaking changes that caused the custom methods to be no longer compatible with latest upstream aiohttp Client class.
See: 903073283f
and: b42e0ced46
This commit adds aiohttp version checks to adapt to these changes.
2018-03-29 11:54:59 +10:00
Raphael Deem
8a07463a67
Merge pull request #1175 from PyManiacGR/patch-1
...
Fix try_everything example.
2018-03-28 00:41:07 -07:00
PyManiac
2995b23929
Update try_everything.py
2018-03-24 15:55:15 +02:00
TheRubyDoggy
eb4276373b
Fix try_everything example.
2018-03-24 15:34:41 +02:00
Raphael Deem
79df52e519
Merge pull request #1169 from charlax/patch-1
...
Clarify arguments to request/response middleware
2018-03-21 10:46:09 -07:00
Charles-Axel Dein
3dfb31b1b9
Clarify arguments to request/response middleware
2018-03-21 12:07:26 +01:00
Raphael Deem
c4c4ed70d9
Merge pull request #1163 from vopankov/master
...
Add __weakref__ to Request slots
2018-03-17 14:52:25 -07:00
Raphael Deem
45422df1b7
Merge pull request #1162 from yunstanford/fix-hang-build
...
Fix hang build and failed builds
2018-03-16 11:14:44 -07:00
Yun Xu
e0b7624414
fix hang build
2018-03-15 22:06:58 -07:00
Yun Xu
b0ecb3170f
fix hang build
2018-03-15 22:03:36 -07:00
Yun Xu
fc8b5f378a
migrate to trusty
2018-03-15 21:39:21 -07:00
Yun Xu
d42cb7ddb3
fix hang build
2018-03-15 21:28:52 -07:00
Панков Василий
6454ac0944
Add __weakref__ to Request slots
2018-03-14 13:37:15 +03:00
7
31cf83f10b
Merge pull request #19 from channelcat/master
...
merge upstream master branch
2018-03-13 22:11:40 -07:00
Raphael Deem
cc84005593
Merge pull request #1157 from kinware/feature/add-route-streams
...
Allow streaming handlers in app.add_route()
2018-03-13 00:08:25 -07:00
Kinware
915d2732a1
Allow streaming handlers in add_route
2018-03-12 20:21:59 +01:00
Raphael Deem
44bc47361e
Merge pull request #1149 from channelcat/travis-retry
...
use travis_retry on tox
2018-03-06 15:54:19 -08:00
Raphael Deem
3619b07843
Merge pull request #1146 from yunstanford/upgrade-test-client
...
Upgrade test client
2018-03-01 23:18:20 -08:00
Raphael Deem
ad3f588c79
use travis_retry on tox
2018-03-01 23:16:49 -08:00
Yun Xu
a2fc37121b
migrating all to async syntax
2018-03-01 22:35:58 -08:00
Raphael Deem
7f36d20123
Merge pull request #1145 from yingshaoxo/patch-1
...
add an necessary import for better understanding
2018-02-28 01:19:29 -08:00
Yun Xu
d1a8e8b042
fixed unit tests
2018-02-27 22:25:38 -08:00