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
GaryO
01257f65a6
Make auto reloader work on Mac ( #1249 )
2018-06-18 15:16:10 -07:00
Volodymyr Maksymiv
5ff481952d
add UUID support ( #1241 )
2018-06-09 01:16:17 -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
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
Панков Василий
6454ac0944
Add __weakref__ to Request slots
2018-03-14 13:37:15 +03:00
Kinware
915d2732a1
Allow streaming handlers in add_route
2018-03-12 20:21:59 +01: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
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
d55e453bd5
cleaning up
2018-02-27 20:26:49 -08:00
Yun Xu
46ed2c5270
upgrade aiohttp for test_client
2018-02-26 22:08:05 -08:00
Julien00859
9c75ad3de1
close #1136
2018-02-21 00:50:27 +01: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
1d75f6c2be
changed docstring spacing
2018-02-13 10:15:16 -08:00
Raphael Deem
ad8a168469
Merge pull request #1121 from tandalf/issue-1120
...
Fixed bug when passing a list into route decorator's host argument #1120
2018-02-12 12:48:13 -08:00
Yun Xu
745a1d6e94
document websocket args
2018-02-09 21:03:21 -08:00
Yun Xu
0fe0796870
expose websocket protocol arguments
2018-02-09 20:44:02 -08:00
Stephan Fitzpatrick
571b5b544d
added app.register_listener method w/test
2018-02-09 14:01:17 -08:00
Timothy Ebiuwhe
60774c5a49
Fixed bug that occurs on calling @app.route or any of it's variants
...
causes a route to be added twice. One without the slash, the other with the
Setting strict_slashes to false when a route does not end with slashes
slash. This is ok if the Router._add method runs linearly, but problematic
when it runs recursively. Unfortunately recursion is triggered when
the host param to the Router._add function is a list of hosts.
2018-02-09 22:27:20 +01:00
Raphael Deem
6d37ef7256
Merge pull request #1109 from DirkGuijt/master
...
fixed bug in multipart/form-data parser
2018-02-08 00:11:20 -08:00
Dirk Guijt
e083224df1
changed bewline formatting
2018-02-07 09:29:44 +01:00
Raphael Deem
ea2521f430
Merge pull request #1112 from boboldehampsink/extend_websocketprotocol_arguments
...
Extend WebSocketProtocol arguments
2018-02-06 15:05:58 -08:00
Raphael Deem
3fe31ff551
Merge pull request #1104 from arnulfojr/minor/keep-alive-timeout-log-level
...
KeepAlive Timeout log level change to debug
2018-02-02 18:54:24 -08:00
Dirk Guijt
48d45f1ca4
sorry, style issue again
2018-02-03 03:14:04 +01:00
Dirk Guijt
ddf2a604d1
changed 'file' variable to 'form_file' to prevent overwriting the reserved word
2018-02-03 03:07:07 +01:00
Arnulfo Solis
f2c0489452
replaced comparison for in operator
2018-02-02 20:19:15 +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
Dirk Guijt
1eecffce97
fixed minor flake8 style problem
2018-02-02 09:57:06 +01:00
Dirk Guijt
5c341a2b00
made field name mandatory in multipart/form-data headers
...
A field name in the Content-Disposition header is required by the multipart/form-data spec. If one field/part does not have it, it will be omitted from the request. When this happens, we log it to DEBUG.
2018-02-02 09:43:42 +01:00
Arnulfo Solis
0ab64e9803
simplified logic when handling the body
2018-02-02 09:29:54 +01:00
Dirk Guijt
27108334f1
Merge branch 'master' of https://github.com/DirkGuijt/sanic
2018-02-02 00:55:58 +01:00
Dirk Guijt
788253cbe8
changes based on discussion on PR #1109
2018-02-02 00:55:51 +01:00
Arnulfo Solis
68fd1b66b5
Response model now handles the 204 no content
2018-02-01 17:51:51 +01:00
Bob Olde Hampsink
5806666949
Extend WebSocketProtocol arguments to accept all arguments of websockets.protocol.WebSocketCommonProtocol
2018-02-01 16:23:10 +01:00
DirkGuijt
a76d8108fe
small code style change
...
changed double quotes to single quotes to match the coding style
2018-02-01 11:55:30 +01:00
Arnulfo Solis
2135294e2e
changed None to return empty string instead of null string
2018-02-01 11:52:55 +01:00
Dirk Guijt
ed1c563d1f
fixed bug in multipart/form-data parser
...
Sanic automatically assumes that a form field is a file if it has a content-type header, even though the header is text/plain or application/json. This is a fix for it, I took into account the RFC7578 specification regarding the defaults.
2018-02-01 11:30:24 +01:00
Arnulfo Solis
cabcf50fbe
KeepAlive Timeout log level change to debug
2018-01-30 11:26:15 +01:00
NyanKiyoshi
285ad9bdc1
No longer raising a missing parameter when value is null
...
When passing a null value as parameter (ex.: 0, None or False), Sanic said "Error: Required parameter `param` was not passed to url_for"
Example:
```
@app.route("/<idx>")
def route(rq, idx):
pass
```
```
url_for("route", idx=0)
```
No longer raises: `Error: Required parameter `idx` was not passed to url_for`
2018-01-26 21:13:43 +01:00
howie6879
6c0fbef843
Add parameter check
2018-01-24 08:17:55 +08:00
howie6879
040c85a43b
Add parameter check
2018-01-24 08:11:47 +08:00
howie6879
f20b854dd2
Add parameter check
2018-01-22 14:52:30 +08:00
howie6879
3844cec7a4
Add parameter check
2018-01-22 14:12:41 +08:00
Yaser Amiri
f8b1122467
Revert "Change parsing cookies mechanism. (like Django instade of http.cookies.SimpleCookie)"
...
This reverts commit ba1dbacd35
.
2018-01-21 09:10:15 +03:30
Raphael Deem
f3bf5e9a5c
Merge pull request #1090 from yunstanford/patch-signal-handling
...
Patch signal handling
2018-01-20 14:03:23 -08:00
Yaser Amiri
ba1dbacd35
Change parsing cookies mechanism. (like Django instade of http.cookies.SimpleCookie)
2018-01-20 12:49:16 +03:30
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
7daebc6aea
fix Router.check_dynamic_route_exists
2018-01-15 17:53:37 -08:00
Yun Xu
09d6452475
fixed unit test
2018-01-15 15:15:08 -08:00
Yun Xu
6a61fce84e
worker process should ignore SIGINT when run_multiple
2018-01-15 11:53:15 -08:00
Yun Xu
11017902be
signal handling
2018-01-15 11:23:49 -08:00
Raphael Deem
ab97018c78
Merge pull request #1082 from channelcat/1042
...
fix exception handling
2018-01-13 17:06:46 -08:00
Dmitry Dygalo
c5c10cfb50
Fix typo
2018-01-13 17:56:29 +01:00
bow
4f8633375d
Fix log_response to correctly output request ip and port
2018-01-09 13:47:01 +01:00
howie6879
5f329f72ee
Update test_routes.py
2018-01-08 08:38:54 +08:00
howie6879
7303a06f83
Fix: the Chinese URI
2018-01-07 12:07:18 +08:00
howie6879
e34de96b24
Fix: the Chinese URI
2018-01-07 12:06:21 +08:00
howie6879
42cd424274
Fix: the Chinese URI
2018-01-07 10:59:12 +08:00
r0fls
7a1dab3319
fix exception handling
2018-01-05 14:12:22 -08:00
r0fls
46521240a9
fix timeout bug when self.transport is None
2018-01-03 23:33:22 -08:00
r0fls
8c28ce7d79
fix strict_slashes bug when route has slash
2018-01-01 02:24:48 -08:00
Raphael Deem
a1ffc6d55b
try to inject the app in add_task method
2017-12-27 01:06:43 -08:00
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
008cbe5ce7
Merge pull request #1069 from r0fls/1050
...
add samesite cookie to cookie keys
2017-12-24 02:50:37 -08:00
Raphael Deem
5ee35e7eeb
add samesite cookie to cookie keys
2017-12-24 02:33:52 -08:00
Raphael Deem
8e3f3977bd
allow add_task after server starts
2017-12-21 23:37:42 -08:00
Raphael Deem
9c02cdbad9
double quotes in unauthorized exception per rfc7230
2017-12-21 18:05:05 -08:00
Jeong YunWon
d54b406cba
Cancel request tasks when response timeout is triggered
...
Before: Even after raising ResponseTimeout, server still processes
remaining tasks until it is done
After: Before raising ResponseTimeout, server stops working task.
2017-12-14 18:43:52 +09: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
52feff266e
fix edge case with methods as None
2017-12-13 23:23:04 -08:00
Raphael Deem
2c3f50e34a
fix stream handling
2017-12-13 23:06:18 -08:00
Raphael Deem
2b0258c13a
fix issues with method not allowed response
2017-12-11 20:12:26 -08:00
Dan Palmer
48c2dcb110
Fix ip and socket data format on V6
2017-12-11 22:16:03 +00:00
Yaser Amiri
3fe3c2c79f
Add test for auto reloading.
2017-12-07 20:19:40 +03:30
Yaser Amiri
52c2a8484e
Add auto reloader.
2017-12-07 16:30:54 +03:30
Eli Uriegas
1ea3ab7fe8
Increment to 0.7.0
...
Signed-off-by: Eli Uriegas <seemethere101@gmail.com>
2017-12-05 19:13:16 -08:00
Raphael Deem
1b0ad2c3cd
Merge pull request #1035 from yunstanford/patch-N
...
Adopt new websockets interface
2017-12-02 01:27:09 -08:00
lixxu
283762224c
clean codes
2017-11-28 14:47:43 +08:00
lixxu
f50a37fc88
ignore error if request.ip is None
2017-11-28 14:44:32 +08:00
Yun Xu
076f0515ca
Fix flake8
2017-11-25 21:14:18 -08:00
Yun Xu
f09c0393ba
adopt new websockets interface
2017-11-25 21:01:22 -08:00
Nikita Koshelev
76511d61e0
Added removing duplicate 'v' for Router.add()
version parameter
...
Fix sanic/router.py:123:80: E501 line too long (80 > 79 characters)
2017-11-18 01:39:00 +03:00
Nikita Koshelev
8e7475ccf6
Added regex escaping for Router.add()
version parameter
2017-11-18 01:22:42 +03:00
Edward Betts
cfc75b4f1a
Correct spelling mistakes.
2017-11-15 15:46:39 +00:00
Raphael Deem
98567fe5a8
Merge pull request #1008 from youknowone/pytest-xdist
...
Let SanicTestClient has its own port
2017-11-10 10:50:01 -08:00
Raphael Deem
979b5a52d3
Merge pull request #1005 from joar/feature/static-strict-slashes
...
Add strict_slashes to {app, blueprint}.static()
2017-11-07 07:49:32 -08:00
Joar Wandborg
e70535e8d7
Use .get instead of .pop
2017-11-07 10:34:17 +01:00
Jeong YunWon
ed8725bf6c
Let SanicTestClient has its own port
...
For parallel test running, the servers must have different ports.
See examples/pytest_xdist.py for example.
2017-11-06 17:29:32 +09:00
Raphael Deem
098cd70e82
Merge pull request #1007 from furious-luke/master
...
Call connection_open after websocket handshake
2017-11-05 14:26:19 -08:00
Raphael Deem
969dac2033
Merge pull request #1004 from Stibbons/optionalize_log_config
...
Optionalize app.run dictConfig (fix #1000 )
2017-11-04 12:35:38 -07:00
Gaetan Semet
49b1d667f1
Optionalize app.run dictConfig ( fix #1000 )
...
Signed-off-by: Gaetan Semet <gaetan@xeberon.net>
2017-11-04 15:58:27 +01:00
Luke Hodkinson
bca1e08411
Call connection_open after websocket handshake
...
It seems that due to (recent?) changes in the websocket library, we
now need to call "connection_open" to flag that the websocket is now
ready to use. I've added that call just after the call to
"connection_made".
2017-11-04 22:04:59 +11:00
Raphael Deem
bb8e9c6438
check if method is added in strict slash logic
2017-11-03 18:36:06 -07:00
Joar Wandborg
f128ed5b1f
Set threshold to 1MiB instead of 0.97MiB
...
Reference: https://en.wikipedia.org/wiki/Mebibyte#Definition
2017-11-03 14:37:01 +01:00