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

SEE ALSO

HTTP::Engine::Request, File::Temp