Skip to content

Instantly share code, notes, and snippets.

@jberger
Last active April 30, 2024 19:30
Show Gist options
  • Save jberger/3aa8edd2f6b4eaee598ae6ebfba03520 to your computer and use it in GitHub Desktop.
Save jberger/3aa8edd2f6b4eaee598ae6ebfba03520 to your computer and use it in GitHub Desktop.
use Mojolicious::Lite -signatures;
hook after_build_tx => sub ($tx, @) {
$tx->req->max_message_size(110);
$tx->req->content->on(body => sub ($) {
my $url = $tx->req->url;
return unless $url->path eq '/long_ok';
app->log->debug("max message size extended for $url");
$tx->req->max_message_size(1e8);
});
};
under '/' => sub ($c) {
return 1 unless $c->req->is_limit_exceeded;
$c->render(status => 400, text => 'Request was too large');
return 0;
};
post '/*catchall' => {catchall => ""} => sub ($c) { $c->render(json => {ok => \1}) };
app->start;
@jberger
Copy link
Author

jberger commented Apr 30, 2024

run as perl app.pl get -v -M POST -c 'XXXXXXXXXXXX' / vs /long_ok

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment