Hello,

I am writing a plugin that is meant to process uploaded files. However, 
when I upload a small file it internalizes as a Mojo::Asset::Memory object.
I want to ensure only Mojo::Asset::File is used.

For testing I simply :
MOJO_MAX_MEMORY_SIZE=1 PERL5LIB=lib ./bin/driver.pl 

However, I would prefer a mechanism that is scoped within my plugin.

I have tried various ways to set max_memory_size and trigger an upgrade but 
I just don't get it right.  Here is the relevant code snippet.
As you can see, if the upload is a Mojo::Asset::Memory object the external 
command execution won't work.

$r = $routes->post(  '/constellation/lint' => sub {
      my $c = shift;

      # Check file size
      return $c->render(text => 'File is too big.', status => 200)
        if $c->req->is_limit_exceeded;

      # Process uploaded file
      return $c->redirect_to('form') unless my $miffile = $c->param('mif');

      my $size = $miffile->size;
      my $name = $miffile->filename;
      my $path = $miffile->asset->path;
      my @cmd  = @CMD;
      push @cmd, $path;
      my ($out, $err);
      run3 \@cmd, undef, \$out, \$err;

...
}

Any pointers would be appreciated.

Nicky

-- 
You received this message because you are subscribed to the Google Groups 
"Mojolicious" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to mojolicious+unsubscr...@googlegroups.com.
To post to this group, send email to mojolicious@googlegroups.com.
Visit this group at https://groups.google.com/group/mojolicious.
For more options, visit https://groups.google.com/d/optout.

Reply via email to