On 1/24/2014 21:36, Warren Young wrote:
This is not a real solution, anyway. There is a real "Foo" module in my program that does useful work, and when I pound out the "use Dancer2" line in that module, all of my static content stops being served.
I found out why this was happening, too. The Dancer2 cookbook is the culprit again. Under "Sessions and logging in," it recommends something like this: hook before => sub { if (!session('user') && request->dispatch_path !~ m{^/login}) { forward '/login', { requested_path => request->dispatch_path }; } }; The only way that can work is if the /login route handler doesn't depend on any static content, because it turns all URL requests into "/login" URLs. It should be modified like this: hook before => sub { if (!session('user') && request->dispatch_path !~ m{^/login} && request->dispatch_path !~ m{^/public/}) { forward '/login', { requested_path => request->dispatch_path }; } }; That is, don't mess with the "/public/" subtree.