>
> On a "back-end" server, I have an application responsible to manage large 
> files (some Gigabytes).
> On a "front-end" server, I want to allow the end-users to download files 
> stored on the back-end, but without making the back-end server directly 
> accessible from all Internet.
> On the front-end server. 
>
> On the front-end, I tried the following piece of code :
>
> use Mojolicious::Lite;
> use Mojo::UserAgent;
>
>
> get '/dl' => sub {
>   my $c = shift;
>   my $ua = Mojo::UserAgent->new;
>   my $tx = $ua->build_tx(GET => 'https://BACKEND/my_file.zip');
>   $tx->res->content->unsubscribe('read')->on(read => sub {
>     my ($content, $bytes) = @_;
>     $c->write($bytes);
>   });
>   $tx = $ua->start($tx);
> };
>
> app->start;
>

Yea, something like that should work. We've been meaning to add a more user
friendly API, but never got around to it. Right now i'm afraid it's quite 
tricky to get
right, but possible.

 

>
> The problem is that the whole file seems to be downloaded and stored in 
> memory, before being sent. I would like to be able to write a chunk of data 
> just after receiving it from the back-end server, without waiting the end 
> of the whole file download. I thought that redefining the "read" event 
> would do the job but something is probably missing.
>

That doesn't sound right. If you unsubscribed from the read event there is 
nothing
left to store the message content anywhere.

--
sebastian

-- 
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