dmitry.dygalo
fec81ffe73
Reuse app fixture in tests
2018-08-26 16:43:14 +02:00
Ashley Sommer
30e6a310f1
Pausable response streams ( #1179 )
...
* This commit adds handlers for the asyncio/uvloop protocol callbacks for pause_writing and resume_writing.
These are needed for the correct functioning of built-in tcp flow-control provided by uvloop and asyncio.
This is somewhat of a breaking change, because the `write` function in user streaming callbacks now must be `await`ed.
This is necessary because it is possible now that the http protocol may be paused, and any calls to write may need to wait on an async event to be called to become unpaused.
Updated examples and tests to reflect this change.
This change does not apply to websocket connections. A change to websocket connections may be required to match this change.
* Fix a couple of PEP8 errors caused by previous rebase.
* update docs
add await syntax to response.write in response-streaming docs.
* remove commented out code from a test file
2018-08-18 18:12:13 -07:00
Eli Uriegas
6f813f940e
Merge pull request #1278 from ashleysommer/graceful_cancel
...
Gracefully handle when the request_handler_task is cancelled.
2018-08-17 11:41:39 -07:00
Ashley Sommer
ec226e33cb
Pin aiohttp <= 3.2.1 in requirements-dev.txt (fixes errors for new contributors checking out the code and setting up a dev environment)
...
Future-proof the some test cases so they work with aiohttp >= 3.3.0, in case we bump the aiohttp version in the future.
2018-08-16 15:00:23 +10:00
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
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
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
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
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
Volodymyr Maksymiv
5ff481952d
add UUID support ( #1241 )
2018-06-09 01:16:17 -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
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
d42cb7ddb3
fix hang build
2018-03-15 21:28:52 -07:00
Raphael Deem
3619b07843
Merge pull request #1146 from yunstanford/upgrade-test-client
...
Upgrade test client
2018-03-01 23:18:20 -08:00
Yun Xu
a2fc37121b
migrating all to async syntax
2018-03-01 22:35:58 -08:00
Yun Xu
d1a8e8b042
fixed unit tests
2018-02-27 22:25:38 -08:00
Yun Xu
c39ddd00d3
workaround fix for an issue in aiohttp.Client
2018-02-27 21:42:41 -08:00
Yun Xu
eca98a54eb
fixed all unit tests
2018-02-26 22:18:21 -08:00
Yun Xu
46ed2c5270
upgrade aiohttp for test_client
2018-02-26 22:08:05 -08:00
Raphael Deem
7e4a9e3bc2
Merge pull request #1047 from Yaser-Amiri/master
...
Add auto reloading.
2018-02-16 11:11:49 -08:00
Raphael Deem
36f12c822f
Merge pull request #1122 from knowsuchagency/master
...
add app.register_listener method
2018-02-15 16:58:27 -08:00
Stephan Fitzpatrick
571b5b544d
added app.register_listener method w/test
2018-02-09 14:01:17 -08:00
Timothy Ebiuwhe
220b40f7f4
Added regression tests for issue #1120
2018-02-09 22:33:34 +01:00
Arnulfo Solis
f5a2d19199
touch commit
2018-02-02 14:13:14 +01:00
Arnulfo Solis
86fed12d91
less flake8 warnings in response test
2018-02-02 14:05:57 +01:00
Arnulfo Solis
7ca3ad5d4c
no body and content length to 0 when 304 response is returned
2018-02-02 13:24:51 +01:00
Arnulfo Solis
4b6e89a526
added one more test
2018-02-01 20:00:32 +01:00
Arnulfo Solis
68fd1b66b5
Response model now handles the 204 no content
2018-02-01 17:51:51 +01:00
Arnulfo Solis
2135294e2e
changed None to return empty string instead of null string
2018-02-01 11:52:55 +01:00
howie6879
f20b854dd2
Add parameter check
2018-01-22 14:52:30 +08:00
Raphael Deem
f3bf5e9a5c
Merge pull request #1090 from yunstanford/patch-signal-handling
...
Patch signal handling
2018-01-20 14:03:23 -08:00
Raphael Deem
22ad697d1f
Merge pull request #1078 from eltrhn/master
...
Add support for blueprint groups and nesting
2018-01-18 17:26:52 -08:00
Eli
a10d7469cd
Add blueprint groups + nesting
2018-01-18 17:20:51 -08:00
Yun Xu
d9002769cf
fix a typo
2018-01-15 17:49:11 -08:00
Yun Xu
6d0b30953a
add unit test which should fail on original code
2018-01-15 17:40:44 -08:00
Yun Xu
09d6452475
fixed unit test
2018-01-15 15:15:08 -08:00
howie6879
5f329f72ee
Update test_routes.py
2018-01-08 08:38:54 +08:00
Raphael Deem
d63ec84745
Merge pull request #1037 from youknowone/xdist
...
Boost test speed by pytest-xdist
2018-01-05 12:10:27 -08:00
Jeong YunWon
a8827a5d95
Boost test speed by pytest-xdist
2018-01-03 18:52:25 +09:00
r0fls
8c28ce7d79
fix strict_slashes bug when route has slash
2018-01-01 02:24:48 -08:00
r0fls
5b051f0891
add test
2018-01-01 02:14:55 -08:00
Raphael Deem
a1ffc6d55b
try to inject the app in add_task method
2017-12-27 01:06:43 -08:00
Yaser Amiri
9bdf7a9980
Revert files those fixed for flake problems.
2017-12-26 23:35:54 +03:30
Yaser Amiri
81494453b0
Remove dependency on requests library.
...
Change auto reloader enviroment varible name to SANIC_SERVER_RUNNING
Fix some typo mistakes, flake uncompatibilities and such problems.
Raise NotImplementedError for operating systems except posix systems for auto reloading.
2017-12-26 19:17:13 +03:30
Raphael Deem
9c02cdbad9
double quotes in unauthorized exception per rfc7230
2017-12-21 18:05:05 -08:00
Raphael Deem
72254a7af9
Merge pull request #1054 from r0fls/rfc7231
...
fix issues with method not allowed response
2017-12-13 23:42:37 -08:00
Raphael Deem
2b0258c13a
fix issues with method not allowed response
2017-12-11 20:12:26 -08:00
Yaser Amiri
3fe3c2c79f
Add test for auto reloading.
2017-12-07 20:19:40 +03:30
Yun Xu
049f12096d
fix unit tests
2017-11-25 21:07:38 -08:00
Edward Betts
cfc75b4f1a
Correct spelling mistakes.
2017-11-15 15:46:39 +00:00
Yaser Amiri
c9876a6c88
Change unit tests names with repeated names.
2017-11-08 14:14:57 +03:30
Raphael Deem
bf6ed217c2
Merge pull request #1006 from r0fls/routing-fix
...
check if method is added in strict slash logic
2017-11-04 00:09:52 -07:00
Raphael Deem
bb8e9c6438
check if method is added in strict slash logic
2017-11-03 18:36:06 -07:00
Igor Gnatenko
a9c7d95e9b
tests: do not assume that locahost == 127.0.0.1
...
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2017-10-31 09:39:09 +01:00
Raphael Deem
c2191153cf
remove port from ip
2017-10-23 21:37:59 -07:00
Raphael Deem
a0d8418b40
Merge pull request #965 from samael500/master
...
fix issue #959
2017-10-13 14:58:46 -07:00
Raphael Deem
006fb08024
Merge pull request #966 from yunstanford/patch-M
...
Sanic routes should not pass angled params with empty names
2017-10-13 02:18:20 -07:00
Yun Xu
770a8fb288
raise exception for invalid param syntax
2017-10-09 07:54:39 -07:00
Maks Skorokhod
c4e3a98ea7
✅ add test for custom filename
2017-10-09 17:45:42 +03:00
Maks Skorokhod
4d515b05f3
✅ fix missed assertion
2017-10-09 17:18:04 +03:00
Maks Skorokhod
64edf7ad9c
✅ upd test for connection lost error
2017-10-09 16:00:32 +03:00
Raphael Deem
d876e3ed5c
fix false cookie encoding and output
2017-10-05 22:20:50 -07:00
Yun Xu
225ea49b6f
resolve conflicts again
2017-10-01 01:22:27 -07:00
Raphael Deem
15fd49037f
Merge pull request #939 from ashleysommer/keepalive_timeout
...
Split RequestTimeout, ResponseTimeout, and KeepAliveTimeout into different timeouts
2017-09-30 22:15:50 -07:00
Raphael Deem
9aec5febb8
support vhosts in static routes
2017-09-27 01:24:49 -07:00
Yun Xu
0b23f4ff81
resolve conflicts
2017-09-23 06:19:09 -07:00
Yun Xu
24bdb1ce98
add unit tests/refactoring
2017-09-12 23:42:42 -07:00
Ashley Sommer
8eb59ad4dc
Fixed error where the RequestTimeout test wasn't actually testing the correct behaviour
...
Fixed error where KeepAliveTimeout wasn't being triggered in the test suite, when using uvloop
Fixed test cases when using other asyncio loops such as uvloop
Fixed Flake8 linting errors
2017-09-13 10:18:36 +10:00
Ashley Sommer
173f94216a
Fixed the delays, and expected responses, in the keepalive_timeout tests
2017-09-12 13:40:43 +10:00
Ashley Sommer
1a74accd65
finished the keepalive_timeout tests
2017-09-12 13:09:42 +10:00
Ashley Sommer
2979e03148
WIP - Split RequestTimeout, ResponseTimout, and KeepAliveTimeout into different timeouts, with different callbacks.
2017-09-11 17:17:33 +10:00
Yun Xu
8f6fa5e9ff
old logging cleanup
2017-09-10 18:44:54 -07:00
lixxu
bc20dc5c62
use url_for for url building for static files
2017-09-06 19:17:52 +08:00
Tim Mundt
9572ecc5ea
test for env var prefix
2017-09-05 10:58:48 +02:00
Raphael Deem
158da0927a
Merge pull request #901 from lixxu/master
...
add name option for route building
2017-08-31 15:29:03 -07:00
Darren
6038813d03
fix #914 , change arguments of Unauthorized.__init__
2017-08-24 22:59:25 +08:00
lixxu
762b2782ee
use name to define route name for different methods on same url
2017-08-22 14:02:38 +08:00
lixxu
eab809d410
add name option for route building
2017-08-21 18:05:34 +08:00
Yun Xu
5d23c7644b
add unit tests
2017-08-20 23:37:22 -07:00
Raphael Deem
df4a149cd0
Merge pull request #885 from yunstanford/master
...
add triggers events when async create_server
2017-08-09 15:59:44 -07:00
Yun Xu
80f27b1db9
add unit tests and make flake8 happy
2017-08-08 22:21:40 -07:00
Miguel Grinberg
375ed23216
Weboscket subprotocol negotiation
...
Fixes #874
2017-08-08 11:40:44 -07:00
Eli Uriegas
2228104bff
Merge pull request #862 from zyguan/revert-599fbce
...
revert 599fbce
2017-07-31 13:51:04 -07:00
Raphael Deem
402c3752c4
Merge pull request #871 from Frzk/unauthorized-exception
...
Simplified the Unauthorized exception __init__ signature.
2017-07-31 12:23:12 -07:00
François KUBLER
b65eb69d9f
Simplified the Unauthorized exception __init__ signature.
...
(again).
Use of **kwargs makes it more straight forward and easier to use.
2017-07-27 23:00:27 +02:00
cclauss
40776e5324
Comment: F821 undefined name is done on purpose
...
Comment helps readers and `# noqa` silences linters
2017-07-26 12:44:30 +02:00
zyguan
da91b16244
add tests
2017-07-24 18:21:15 +08:00
Raphael Deem
173c62acb6
Merge branch 'master' into unauthorized-exception
2017-07-21 01:54:45 -07:00
Yun Xu
75378d3567
add remote_addr property for proxy fix
2017-07-14 09:29:16 -07:00
Raphael Deem
4265ad5f23
add versioning
2017-07-12 22:19:42 -07:00
Yun Xu
3d75e6ed95
case-insensitive check for header fields
2017-07-10 12:29:47 -07:00
Raphael Deem
f0a956467c
Merge pull request #815 from yunstanford/master
...
add graceful timeout when shutdown
2017-07-08 11:31:37 -07:00
Raphael Deem
421f78f3e6
Merge pull request #814 from Frzk/forbidden-exception
...
Added a Forbidden exception
2017-06-30 18:11:23 -07:00
Raphael Deem
00d4533022
Merge pull request #821 from Frzk/bearer-support
...
Inverted the order of prefixes in Request.token property.
2017-06-29 09:43:34 -07:00
François KUBLER
e427e38da8
Simplified the Unauthorized.__init__
signature.
...
It doesn't really make sense to have a `realm` parameter in the method signature.
Instead, one can simply set the realm in the `challenge` dict if necessary.
Also fixed the tests accordingly (and added a new one for "Bearer" auth-scheme).
2017-06-29 12:34:52 +02:00
François KUBLER
1f24abc3d2
Fixed support for "Bearer" and "Token" auth-schemes.
...
Removed the test for "Authentication: Bearer Token <TOKEN>" which was not supposed to exist (see https://github.com/channelcat/sanic/pull/821 )
Also added a call to `split` when retrieving the token value to handle cases where there are leading or trailing spaces.
2017-06-29 10:23:49 +02:00
François
76e62779ba
Merge branch 'master' into forbidden-exception
2017-06-28 17:25:40 +02:00