NAME
HTTP::Engine::Middleware::UploadTemp - Deprecated. Please use $req->builder_options->{upload_tmp}
SYNOPSIS
please use HTTP::Engine::Request's builder_options.
example
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
like lazy option
sub your_handler {
my $req = shift;
$req->builder_options->{upload_tmp} = sub { File::Temp->newdir };
my $file = $req->upload('file');
...
}
like keepalive option
my $cache;
sub your_handler {
my $req = shift;
$cache ||= File::Temp->newdir;
$req->builder_options->{upload_tmp} = $cache;
my $file = $req->upload('file');
...
}
OLD SYNOPSIS
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();
DESCRIPTION
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.
AUTHOR
Kazuhiro Osawa