use strict; use warnings; use Dancer2; get '/' => sub { return 'Hello, world'; }; dance; #### $ curl localhost:3000/does_not_exist #### Error 404 - Not Found

Error 404 - Not Found

/does_not_exist
##
## use strict; use warnings; use Dancer2; get '/hello/:name' => sub { my $name = route_parameters->get('name'); return "Hello, $name"; }; hook before => sub { my $name = route_parameters->get('name'); is_disallowed($name) and send_error("$name is disallowed", 401); }; sub is_disallowed { my $name = shift; return $name eq 'nick' ? 1 : 0; } dance; #### $ curl localhost:3000/hello/lembark #### Hello, lembark #### $ curl localhost:3000/hello/nick #### Error 401 - Unauthorized

Error 401 - Unauthorized

nick is disallowed