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.

Reply via email to