- Additional fix for getting the base application path right when rewriting
requests into an application sub path with mod_alias and mod_rewrite on
Apache.
+ - Ensure to always cleanup temporary uploaded files in all cases, even
+ when exceptions occur during request processing, using HTTP::Body's
+ ->cleanup feature. (RT#41442)
New features:
- Setting __PACKAGE__->config(enable_catalyst_header => 1); in your MyApp.pm
requires 'CGI::Simple::Cookie' => '1.109';
requires 'Data::Dump';
requires 'HTML::Entities';
-requires 'HTTP::Body' => '1.04'; # makes uploadtmp work
+requires 'HTTP::Body' => '1.06'; # ->cleanup(1)
requires 'HTTP::Headers' => '1.64';
requires 'HTTP::Request' => '5.814';
requires 'HTTP::Response' => '5.813';
sub finalize_uploads {
my ( $self, $c ) = @_;
+ # N.B. This code is theoretically entirely unneeded due to ->cleanup(1)
+ # on the HTTP::Body object.
my $request = $c->request;
foreach my $key (keys %{ $request->uploads }) {
my $upload = $request->uploads->{$key};
unless ( $request->_body ) {
my $type = $request->header('Content-Type');
$request->_body(HTTP::Body->new( $type, $length ));
+ $request->_body->cleanup(1); # Make extra sure!
$request->_body->tmpdir( $appclass->config->{uploadtmp} )
if exists $appclass->config->{uploadtmp};
}