package Routes::Test; use Dancer2 appname => 'DocsLib'; use v5.34.0; use Data::Printer; my $PREFIX = 'test'; prefix "/$PREFIX"; hook before_template_render => sub { }; get 'test_home' => '/' => \&home; get 'htmx_fragment' => '/fragment' => \&fragment; get 'dump-headers' => '/dump-headers' => \&dump_headers; # Root page with a button that triggers an htmx request sub home { return q~ htmx Test
~; } # Endpoint that returns a simple fragment sub fragment { my $headers = request->headers; # p $headers; my @wanted = qw( hx-request hx-current-url hx-trigger hx-target hx-prompt ); my $dump = join "\n", map { "$_: " . ($headers->header($_) // '[none]') } @wanted; # p $dump; return qq{

Hello from htmx fragment

$dump
}; } sub dump_headers { my $headers = request->headers; my $dump = join "\n", map { "$_: " . ($headers->header($_) // '') } $headers->header_field_names; return "
$dump
"; }