HTTP::Engine::Middleware::UploadTemp - Deprecated. Please use $req->builder_options->{upload_tmp}
please use HTTP::Engine::Request's builder_options.
sub your_handler { my $req = shift; $req->builder_options->{upload_tmp} = File::Temp->newdir; my $file = $req->upload('file'); ... }
any options for File::Temp
sub your_handler { my $req = shift; $req->builder_options->{upload_tmp} = File::Temp->newdir( 'FOO_XXXX', DIR => '/tmp', ); my $file = $req->upload('file'); ... }
see File::Temp
sub your_handler { my $req = shift; $req->builder_options->{upload_tmp} = sub { File::Temp->newdir }; my $file = $req->upload('file'); ... }
my $cache; sub your_handler { my $req = shift; $cache ||= File::Temp->newdir; $req->builder_options->{upload_tmp} = $cache; my $file = $req->upload('file'); ... }
my $mw = HTTP::Engine::Middleware->new; $mw->install( 'HTTP::Engine::Middleware::UploadTemp' => { keepalive => 0, # generate temporary directory to 1 request only cleanup => 1, # CLEANUP option for File::Temp::tempdir tmpdir => 1, # TMPDIR option for File::Temp::tempdir base_dir => '/tmp', # DIR option for File::Temp::tempdir template => 'FOO_XXXX', # template option for File::Temp::tempdir lazy => 1, # lazy generate for temporary directory }); HTTP::Engine->new( interface => { module => 'YourFavoriteInterfaceHere', request_handler => $mw->handler( \&handler ), } )->run();
This middleware add the management of temporary directory for upload files.
Another reason is that HTTP::Body::MultiPart does not clean up to temporary files.
Kazuhiro Osawa
HTTP::Engine::Request, File::Temp
To install HTTP::Engine::Middleware, copy and paste the appropriate command in to your terminal.
cpanm
cpanm HTTP::Engine::Middleware
CPAN shell
perl -MCPAN -e shell install HTTP::Engine::Middleware
For more information on module installation, please visit the detailed CPAN module installation guide.