get '/stream_example' => sub {
return send_file(
\'fake contents to be replaced in override',
streaming => 1,
callbacks => {
override => sub {
eval {
my ( $respond, $response ) = @_;
require LWP; my $ua = LWP::UserAgent->new;
my $writer ;
$ua->get(
'http://www.example.com',
':content_cb' => sub {
my ( $data, $response, $protocol ) = @_;
if(not $writer ){
my $h = $response->headers ;
my $r = [
$response->code,
[
map { $_ => $h->{$_}, }
'last-modified' , 'date' , 'content-length' ,
+'etag' , 'content-type'
],
];
$writer = $respond->( $r );
}
$writer->write( $data );
}, ## end of :content_cb
); ## end of $ua->get
} or warn "\n\n OH NO\n$@\n\n";
return;
}, ## end of override
},
); ## end of send_file
}; ## end of get '/stream_example'
|