Is there a way to throw a 414 and avoid this behavior when Dancer running under Starman?
Sure, add a check for URI size first in line :) http://search.cpan.org/dist/Dancer/lib/Dancer/Cookbook.pod#Default_route
(untested)
any qr{.{8190}.*} => sub { status '414'; # 414 - Request-URI Too Long };
Or make a Plack::Middleware to do the check
(untested)
package Plack::Middleware::ProhibitRequestUri8190; use parent qw(Plack::Middleware); use Plack::Util; sub call { my($self, $env) = @_; my $res = $self->app->($env); if( length $res->{REQUEST_URI} > 8190 ){ Plack::Util::response_cb($res, sub { my $res = shift; $res->[0] = 414; return; }); } }
plack middleware 414 request uri too large
In reply to Re: Limit URL length with Dancer/Starman ( Plack::Middleware::ProhibitRequestUri8190 )
by Anonymous Monk
in thread SOLVED: Limit URL length with Dancer/Starman
by gsiems
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |