Merge pull request #966 from yunstanford/patch-M
Sanic routes should not pass angled params with empty names
This commit is contained in:
commit
006fb08024
|
@ -93,6 +93,10 @@ class Router:
|
||||||
pattern = 'string'
|
pattern = 'string'
|
||||||
if ':' in parameter_string:
|
if ':' in parameter_string:
|
||||||
name, pattern = parameter_string.split(':', 1)
|
name, pattern = parameter_string.split(':', 1)
|
||||||
|
if not name:
|
||||||
|
raise ValueError(
|
||||||
|
"Invalid parameter syntax: {}".format(parameter_string)
|
||||||
|
)
|
||||||
|
|
||||||
default = (str, pattern)
|
default = (str, pattern)
|
||||||
# Pull from pre-configured types
|
# Pull from pre-configured types
|
||||||
|
|
|
@ -71,6 +71,16 @@ def test_route_strict_slash():
|
||||||
request, response = app.test_client.post('/post')
|
request, response = app.test_client.post('/post')
|
||||||
assert response.status == 404
|
assert response.status == 404
|
||||||
|
|
||||||
|
def test_route_invalid_parameter_syntax():
|
||||||
|
with pytest.raises(ValueError):
|
||||||
|
app = Sanic('test_route_invalid_param_syntax')
|
||||||
|
|
||||||
|
@app.get('/get/<:string>', strict_slashes=True)
|
||||||
|
def handler(request):
|
||||||
|
return text('OK')
|
||||||
|
|
||||||
|
request, response = app.test_client.get('/get')
|
||||||
|
|
||||||
def test_route_strict_slash_default_value():
|
def test_route_strict_slash_default_value():
|
||||||
app = Sanic('test_route_strict_slash', strict_slashes=True)
|
app = Sanic('test_route_strict_slash', strict_slashes=True)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user