in reply to [Solved] Plack middlewares not loaded from Dancer config

... I know that the config file is used, because my "main" layout is used... But the middleware doesn't work in this case. What have I missed?

You're probably not loading that configuration file, otherwise both should have worked .... unless you don't have Plack'et'all installed

What kind of diagnostic messages did you get? When you turned on debugging/logging/verbosity?

  • Comment on Re: Plack middlewares not loaded from Dancer config

Replies are listed 'Best First'.
Re^2: Plack middlewares not loaded from Dancer config
by mascip (Pilgrim) on Oct 21, 2013 at 11:47 UTC

    Hey, thank you for your input!

    I have just done additional tests:

    I have created and alternative layout with a different title, and when I change the name of the layout in config.yml, and then stop and restart plackup, the title is changed. So, I am sure that the configuration is loaded.

    I have stopped loading ANY middleware from bin/app.pl. And I load only one middleware from the config.yml file, a simple one:

    plack_middlewares: - - ETag
    Then I checked whether it worked, by doing a curl, and seeing if I got any ETag header (as presented here: http://advent.perldancer.org/2011/16). It didn't work.

    Plack, Plack::Middleware and Plack::Middleware::ETag are installed.

    Here is what I get in logs/development.log:

    [HabitLab:31431] core @2013-10-21 12:39:17> looking for get / in (eva +l 231) l. 2 [HabitLab:31431] core @2013-10-21 12:39:17> Entering hook core.app.be +fore_request in /home/user/.perlbrew/libs/perl-5.16.3@devel/lib/perl5 +/Dancer2/Core/Dispatcher.pm l. 77 [HabitLab:31431] core @2013-10-21 12:39:17> Entering hook core.app.af +ter_request in /home/user/.perlbrew/libs/perl-5.16.3@devel/lib/perl5/ +Dancer2/Core/Dispatcher.pm l. 132
    And the page gets loaded as it should. Simply, the plack middlewares don't work... while if I load them from bin/app.pl, then it all works.

    It is annoying for loading different middlewares in development or production: I have to use an if/else in app.pl... not really elegant nor nice to maintain.

    Any idea of how I could investigate further?

      Have you tried asking at #dancer or #plack at irc.perl.org? I got many answers to my Dancer related problems there. Posting the solution back here would be great for those not attending the channels regularly, too.
      لսႽ† ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ