On Thursday, November 1, 2018 at 6:03:56 AM UTC-7, Thomas Klopf wrote: > > Hello, > Please can someone help with a routing problem? I'm using pattern-based > routing (config below), mainly to map for example: > > "/servers/server-123.json" to "/ids/servers/view.json?NAME=server-123" > > using routes.py entry: > > ("/servers/$hostname.json","/ids/servers/view.json?NAME=$hostname") > > > It works fine with "NAME=server" but if I have "NAME=server-123" > (/servers/servers-123.json) , I get an "invalid request" error. It looks > this is due to a restriction on having hyphens in application names and/or > issues parsing with hyphens in the name. > > Please can anyone suggest an alternative configuration, to allow hyphens > in the URL parameters? > > Thank you! >
Perhaps escaping it, as *%#45;* or *‐* or *‐* or maybe *–*. /dps > > *web2py/routes.py* > > # -*- coding: utf-8 -*- > # default_application, default_controller, default_function > # are used when the respective element is missing from the > # (possibly rewritten) incoming URL > # > > > # default_application, default_controller, default_function > # are used when the respective element is missing from the > # (possibly rewritten) incoming URL > # > default_application = 'ids' # ordinarily set in base routes.py > default_controller = 'default' # ordinarily set in app-specific routes.py > default_function = 'index' # ordinarily set in app-specific routes.py > > # routes_app is a tuple of tuples. The first item in each is a regexp > that will > # be used to match the incoming request URL. The second item in the tuple > is > # an applicationname. This mechanism allows you to specify the use of an > # app-specific routes.py. This entry is meaningful only in the base > routes.py. > # > # Example: support welcome, admin, app and myapp, with myapp the default: > > > routes_app = ((r'/(?P<app>welcome|admin|ids)\b.*', r'\g<app>'), > (r'(.*)', r'ids'), > (r'/?(.*)', r'ids')) > > > > *web2py/applications/ids/routes.py* > # -*- coding: utf-8 -*- > # default_application, default_controller, default_function > # are used when the respective element is missing from the > # (possibly rewritten) incoming URL > # > > default_application = 'ids' # ordinarily set in base routes.py > # default_controller = 'default' # ordinarily set in app-specific > routes.py > # default_function = 'index' # ordinarily set in app-specific > routes.py > # routes_app is a tuple of tuples. The first item in each is a regexp > that will > # be used to match the incoming request URL. The second item in the tuple > is > # an applicationname. This mechanism allows you to specify the use of an > # app-specific routes.py. This entry is meaningful only in the base > routes.py. > # > # Example: support welcome, admin, app and myapp, with myapp the default: > # > # > # routes_app = ((r'/(?P<app>admin|gio_sds)', r'\g<app>'), > # (r'(.*)', r'gio_sds'), > # (r'/?(.*)', r'gio_sds')) > > > routes_in = ( > ('/admin/$anything', '/admin/$anything'), > # ('/default/$anything', '/default/$anything'), > ('/default/user/login.json', '/ids/default/user/login'), > ('/default/user/$anything', '/default/user/$anything'), > ('/default/$anything', '/default/$anything'), > ('/static/$anything', '/ids/static/$anything'), > ('/appadmin/$anything', '/ids/appadmin/$anything'), > ('/favicon.ico', '/ids/static/favicon.ico'), > ('/robots.txt', '/ids/static/robots.txt'), > > > ("/servers/index.html","/ids/servers/index.html"), > ("/servers/index.json","/ids/servers/index.json"), > ("/servers/$hostname","/ids/servers/view?NAME=$hostname"), > * ("/servers/$hostname.json","/ids/servers/view.json?NAME=$hostname"),* > ("/servers/$hostname.html","/ids/servers/view.html?NAME=$hostname"), > ('/servers/$anything', '/servers/$anything'), > > ) > > routes_out = [(x, y) for (y, x) in routes_in] > > -- 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. For more options, visit https://groups.google.com/d/optout.