after_build_tx => sub {
my ($tx, $app) = @_;
$tx->once('chunk'=>sub {
my ($tx, $chunk) = @_;
my $url = $tx->req->url->to_abs;
my $feed = $url->path->to_route;
return
unless $url->path->to_route =~ /ffmpeg/
and $tx->req->method eq 'POST';
$feed = $app->feeds->{$feed} = {tx=>$tx, clients=>{}};
$tx->req->max_message_size(0);
$tx->req->content->asset->on(upgrade => sub {
my ($mem, $file) = @_;
$file->handle->close;
$file->handle(IO::File->new("> /dev/null"));
});
$tx->on('chunk'=>sub {
my ($tx, $chunk) = @_;
$_->tx->send({binary => $chunk})
for (values %{$feed->{clients}});
});
});
},