[Dancer-users] automating the creation of routes

Puneet Kishor punk.kish at gmail.com
Mon Mar 5 17:40:16 CET 2012

¡Hola dancers,

Like everyone else, I have been enjoying making apps per the following pattern

	get '/foo' => sub {
		my $foo1 = param 'foo1' || die 'need foo1';
		my $foo2 = param 'foo2' || $default_foo2;

	get '/bar' => sub {
		my $bar1 = param 'bar1' || die 'need bar1';
		my $bar2 = param 'bar2' || $default_bar2;

For a number of reasons (see below), I am wondering if I could somehow generate these routes from a catalog of requisite information (resource, parameters, defaults, required or optional, and so on) held in some form of data source, most likely a database. Any ideas on how I could implement such a capability would be much appreciated. I will personally drink a beer toasting all ideas.

I need a catalog of all these routes for several reasons --

1. I have repurposed the Dancer::Plugin::SiteMap to endow all my apps with certain meta routes, one of which actually lists all the available routes (I call them resources, in keeping with the REST-compliant terminology). It works, but is kludgey.

2. I want to implement a uniform parameter validation and error/usage generation message.

3. I want to create a capability so new users can register their resources with my application and make them available to others.

A central catalog of all the resources (this is a big, data integration/analysis/dissemination initiative) will make any of the above and perhaps many other needs easy to fulfill.

I look forward to your as-usual-innovative suggestions.

Puneet Kishor

More information about the Dancer-users mailing list