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
Joar Wandborg
ff5786d61b
pep8
2017-11-03 14:33:24 +01:00
Joar Wandborg
ca596c8ecd
Add strict_slashes to {Sanic, Blueprint}().static()
2017-11-02 15:44:36 +01:00
Raphael Deem
5bf722c7ae
remove bare exceptions
2017-10-25 21:58:31 -07:00
Raphael Deem
c2191153cf
remove port from ip
2017-10-23 21:37:59 -07:00
davidtgq
5bcbc5a337
Replaced COMMON_STATUS_CODES with a simple 200 check for more fast ( #982 )
...
* Replaced COMMON_STATUS_CODES with a simple 200 check for more fast
* Added IPware algorithm
* Remove HTTP prefix from Django-style headers
Remove right_most_proxy because it's outside spec
* Remove obvious docstrings
* Revert "Replaced COMMON_STATUS_CODES with a simple 200 check for more fast"
This reverts commit 15b6980
* Revert "Added IPware algorithm"
This reverts commit bdf66cb
WTF HOW DO I GIT
* Revert "Revert "Replaced COMMON_STATUS_CODES with a simple 200 check for more fast""
This reverts commit d8df095
* Revert "Added IPware algorithm"
This reverts commit bdf66cb
* Delete ip.py
2017-10-19 16:43:07 -07:00
Eli Uriegas
0e92d8ce2c
Merge branch 'master' into worker-protocol
2017-10-19 16:21:18 -07:00
Eli Uriegas
727d6a1b61
Merge pull request #972 from lanfon72/patch-2
...
to fix condition error that used in `log_response`
2017-10-19 16:16:57 -07:00
Raphael Deem
666c0847b7
Merge pull request #976 from ashleysommer/fix_websocket_timeout
...
Fix Websocket protocol timeouts after #939
2017-10-18 21:20:52 -07:00
Ashley Sommer
ea5b07f636
Update websocket protocol to accomodate changes in HTTP protocol from https://github.com/channelcat/sanic/pull/939
...
Fixes https://github.com/channelcat/sanic/issues/969
2017-10-16 11:06:33 +10:00
Ashley Sommer
477e6b8663
Add documentation for REQUEST_TIMEOUT, RESPONSE_TIMEOUT and KEEP_ALIVE_TIMEOUT config values.
...
Fixed some inconsistent default values.
2017-10-16 10:53:45 +10: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
lanf0n
4578f6016b
to fix condition error that used in log_response
...
`request` class is derived from `dict`, so it will never be `True`.
2017-10-13 16:48:02 +08:00
Raphael Deem
5b06bcc57d
Merge pull request #967 from samael500/custom_filename
...
Custom filename
2017-10-13 01:35:11 -07:00
pcinkh
6d2f5da506
Speedup websocket disconnects.
2017-10-11 14:02:26 +03:00
Yun Xu
c96df86111
make flake8 happy
2017-10-09 07:58:04 -07:00
Maks Skorokhod
86f87cf4ac
🔧 no use f'string'
2017-10-09 17:55:35 +03:00
Yun Xu
770a8fb288
raise exception for invalid param syntax
2017-10-09 07:54:39 -07:00
Maks Skorokhod
07e95dba4f
🔁 customize filename in file response
2017-10-09 17:45:22 +03:00
Maks Skorokhod
7610c0fb2e
🔧 log Connection lost only if debug
2017-10-09 15:50:36 +03:00
Raphael Deem
0189e4ed59
Merge pull request #962 from ProstoMaxim/fix_logs
...
Fix logs
2017-10-08 20:16:11 -07:00
Max Murashov
4b3920daba
Fix logs
2017-10-06 16:53:30 +03:00
Raphael Deem
d876e3ed5c
fix false cookie encoding and output
2017-10-05 22:20:50 -07:00
Piotr Buliński
4b877e3f6b
Update server.py
2017-10-05 09:28:13 +02:00
Piotr Buliński
8ce749e339
Update server.py
2017-10-05 09:27:18 +02:00
Piotr Buliński
752ddfa7fc
Merge branch 'master' into refactor_server_access_log
2017-10-05 09:26:19 +02:00
Piotr Bulinski
e3852ceeca
Refactor access log for server
2017-10-04 12:50:57 +02: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
lixxu
f96ab02767
set scheme to http if not provided
2017-09-27 09:59:49 +08:00
Raphael Deem
4ce699e57f
Merge pull request #944 from blazehu/master
...
add __repr__ for sanic request
2017-09-25 13:58:09 -07:00
Raphael Deem
4ee042c330
Merge pull request #948 from chiuczek/json-dependency-injection
...
Use dependency injection to allow alternative json parser or encoder
2017-09-24 21:05:39 -07:00
Yun Xu
0b23f4ff81
resolve conflicts
2017-09-23 06:19:09 -07:00
Hugh McNamara
5cef1634ed
use json_loads function in json property of request
2017-09-22 10:19:15 +01:00
Hugh McNamara
a8f764c161
make method instead of property for alternative json decoding of request
2017-09-19 18:12:53 +01:00
Hugh McNamara
1d719252cb
use dependency injection to allow alternative json parser or encoder
2017-09-19 14:58:49 +01:00
lanf0n
d8cebe1188
to fix if platform is windows.
2017-09-19 18:14:25 +08:00
huyuhan
074d36eeba
add __repr__ for sanic request
2017-09-15 21:15:05 +08:00
huyuhan
f6eb35f67d
add __repr__ for sanic request
2017-09-15 21:05:25 +08:00
huyuhan
77f70a0792
add __repr__ for sanic request
2017-09-15 20:56:44 +08:00
huyuhan
12dafd07b8
add __repr__ for sanic request
2017-09-15 18:34:56 +08:00
Wèi Cōngruì
eb1146c6b6
fix #763 , sanic can't decode latin1 encoded header value
2017-09-14 19:23:02 +08:00
Yun Xu
5ee7b6caeb
fixing small issue
2017-09-13 10:35:34 -07:00
Yun Xu
9c4b0f7b15
fix flake8
2017-09-13 07:40:42 -07:00
aiosin
2e5d1ddff9
add status codes and teapot example
2017-09-13 14:08:29 +02: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
Raphael Deem
d8c8ccd180
Merge pull request #932 from lixxu/master
...
static files url building using url_for
2017-09-12 12:59:04 -07:00
Yun Xu
a46e004f07
apply new loggers
2017-09-11 22:12:49 -07: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
4bdb9a2c8e
prototype
2017-09-10 23:19:09 -07:00
Yun Xu
986135ff76
remove DefaultFilter
2017-09-10 18:39:42 -07:00
Yun Xu
c9cbc00e36
use access_log as param
2017-09-10 18:38:52 -07:00
Yun Xu
c9a40c180a
remove some logging stuff
2017-09-10 11:11:16 -07:00
Yun Xu
c4417b399b
fixing debug logging
2017-09-08 17:47:05 -07:00
lixxu
bc20dc5c62
use url_for for url building for static files
2017-09-06 19:17:52 +08:00
Tim Mundt
e2e25eb751
fixed flake convention
2017-09-05 11:05:31 +02:00
Tim Mundt
9572ecc5ea
test for env var prefix
2017-09-05 10:58:48 +02:00
Tim Mundt
97d8b9e908
documentation for env var prefix; allow passing in the prefix through the app constructor
2017-09-05 10:41:55 +02:00
Tim Mundt
c59a8a60eb
make the prefix for environment variables alterable
2017-09-05 09:53:33 +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
63babae63d
add doc
2017-08-21 00:28:01 -07:00
Yun Xu
ef81a9f547
make strict_slashes default value configurable
2017-08-20 23:11:38 -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
Yun Xu
d5d1d3b45a
add trigger before_start events in create_server
2017-08-08 21:58:10 -07:00
Miguel Grinberg
375ed23216
Weboscket subprotocol negotiation
...
Fixes #874
2017-08-08 11:40:44 -07:00