In rewrite.py, the default pattern for validating args in the request URL is
 args_match=r'([\w@ =-]|(?<=[\w@ -])[.])*$'

while the default pattern for files [file names?} is
 file_match = r'([-+=@$%\w]|(?<=[-+=@$%\w])[./])*$' # legal static subpath

Note that file_match includes '%', but args_match does not.  '%' is used 
for URL-escaping characters outside the ASCII range.

I have a controller path that goes .../default/func1, and in normal usage 
I'm appending a (string) value being passed to func1.
That is, .../default/func1/somevalue.   When there's an escaped character, 
the rewrite code seems to be throwing HTTP 400 due to failing to match with 
args_match.  Why would this behavior be chosen?

My routes.py uses the "simple router" (around line 104 of the sample), 
where BASE is set to a dict of default_application and root_static.  Can I 
overwrite args_match in this?

/dps




-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/web2py/93bf4708-c449-4d83-a68a-d473c570e3c6%40googlegroups.com.

Reply via email to