It seems as though since "done" closes the connection. The doc says "If you are streaming (calling |content| several times), you must call |flush| ". I think it needs to be higher in the delayed block.
I'm not sure how you'd tell routeB to use the current (hopefully open) template, and just to keep sending. See http://search.cpan.org/~xsawyerx/Dancer2-0.163000/lib/Dancer2/Manual.pod#Delayed_responses_%28Async/Streaming%29 --john On 10/15/2015 12:10 PM, Joerg Fallmann wrote: > Hi again, > Does anybody know if and how it is possible > to render a template for the user and > then forward to a new route, > > Something like > > |get '/routeA/:*?' => sub { my $id = params->{'id'}; my $blub = > params->{'blub'}; delayed { my $tt = Template->new( {INCLUDE_PATH => > "$path", WRAPPER => 'layout.tt', RELATIVE => 1, }) || die "Template > error: $Template::ERROR\n"; $tt->process('view.tt', { 'id' => $id, > 'bla' => $blub }; flush; content $tt; done; }; forward '/routeB/',{ | > ||'id' => $id, 'bla' => $blub| }; }; ||get '/routeB/:*?' => sub { my $id = > params->{'id'}; my $blub = > params->{'bla'}; # Do something from here on }; | > That would solve the async response troubles for me I guess. > > @John, I'd rather try to do as much as possible without having to > handle JSON additionally, > if async streaming is possible the way I like to use it, I will have > no other choice anyway I guess. > > --joerg > > > > > _______________________________________________ > dancer-users mailing list > [email protected] > http://lists.preshweb.co.uk/mailman/listinfo/dancer-users -- John J. McDermott, CPLP Learning and Performance Consultant jjm at jkintl.com 575/737-8556 Check out my security blog posts <http://cybersecurity.learningtree.com> Add an A for the Arts To STEM and get STEAM and a strong engine to move forward.
_______________________________________________ dancer-users mailing list [email protected] http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
