Hi, It works for *helpers* as well with the following declaration.
$app->helper(summary_data => async sub ($c, $access_token) { my $ua = Mojo::UserAgent->new; my $tx = await $ua->post_p( 'http://' . $c->config->{API_IP} . '/api-app/analytics/summary/', { Authorization => 'Bearer ' . $access_token }, form => { periods => encode_json([ $c->session('cx_current_quarter') ]) }, ); if ($tx->result->is_success) { return from_json($tx->result->body); } $c->flash(message_type => 'warning'); $c->flash(message => 'Could not get summary data'); return $c->redirect_to('cx-summary', status => 403); }); -- Jeyaraj On Thursday, 4 June 2020 12:06:01 UTC+5:30, Jeyaraj Durairaj wrote: > > Hi, > > Eureka! Eureka! It works!. > > The solution I found (because of my error) is that I uninstalled > Mojo::AsyncAwait and installed Future::AsyncAwait. > It just works! > > By June end, my business intelligence application will be live to serve > 100+ users with insights and analytics. > > (To apply icing on the cake, I have plugged in Moose also in to model > layer for my application) > > As Glen Hinkle said, it is really really a fun to work in Mojolicious. I > love Hypnotoad. > > BTW, I am doing a private project as well to help a home designer to > launch a web site for their small firm. Guess! what framework I am gonna > use.. *Mojolicious.* > > Thanks to Mojo group and special thanks to SRI as well. > > -- Jeyaraj > > > > On Thursday, 28 May 2020 14:15:04 UTC+5:30, Jeyaraj Durairaj wrote: >> >> any luck on the solutions? >> >> -- Jeyaraj >> >> On Thursday, 28 May 2020 00:10:48 UTC+5:30, Jeyaraj Durairaj wrote: >>> >>> However, the below code perfectly work for me outside Mojolicious App. >>> >>> >>> use Modern::Perl; >>> use Mojo::Base -strict, -signatures; >>> use Mojo::UserAgent; >>> use Mojo::Promise; >>> use Mojo::IOLoop; >>> use Mojo::Util 'trim'; >>> use Mojo::AsyncAwait; >>> use LWP::UserAgent; >>> use JSON; >>> >>> >>> my $ua = Mojo::UserAgent->new; >>> my $result = $ua->post('http://localhost:8000/api/token/' => json => { >>> username => 'username', password => 'mypassword' }) >>> ->result >>> ->json; >>> my $access_token = $result->{access}; >>> my $refresh_token = $result->{refresh}; >>> print "Access Token: " . $result->{access}, "\n"; >>> print "Refresh Token: " . $result->{refresh}, "\n\n"; >>> >>> >>> $ua = Mojo::UserAgent->new; >>> $result = $ua->post('http://' . 'localhost:8000' . '/api/token/refresh/' >>> => json => { refresh => $refresh_token }) >>> ->result >>> ->json; >>> >>> >>> my $agent = Mojo::UserAgent->new; >>> async post_user_p => sub ($url) { >>> say "\n\n", $url; >>> my $tx = await $agent->post_p( >>> $url, >>> { >>> Authorization => 'Bearer ' . $result->{access}, >>> }, >>> form => {"username" => "username"}, >>> >>> ); >>> return trim from_json($tx->result->body)->{first_name}; >>> }; >>> >>> async main => sub (@urls) { >>> my @promises = map { post_user_p($_) } @urls; >>> my @names = await Mojo::Promise->all(@promises); >>> say for map { $_->[0] } @names; >>> }; >>> >>> my @urls = (qw( >>> http://localhost:8000/api-converge/auth/user/ >>> )); >>> >>> main(@urls)->wait; >>> >>> >>> >>> >>> On Wednesday, 27 May 2020 23:41:27 UTC+5:30, Jeyaraj Durairaj wrote: >>>> >>>> I tried generating an example app and copied pasted the code segment >>>> you posted here and then tried. >>>> >>>> "Action not found!" error is shown. >>>> >>>> Should I reinstall Perl again and then try? >>>> Will it work under morbo or works only on Hypnotoad? >>>> I am using Windows for my development, wherein morbo is the only server >>>> I can test. >>>> Or can I test it on daemon mode and try> >>>> Please suggest as to how I should diagnose it. >>>> I would need this Async/await to be working in my system. >>>> I have tried without Async, all other functionalities rock both in >>>> development and production (hypnotoad). Mojo::UserAgent is amazing to >>>> fetch >>>> API call data from Django server (running under Apache). >>>> >>>> I am completely counting on Mojolicious as my primary framework for my >>>> new projects. Please help. >>>> >>>> >>>> Regards/Jeyaraj >>>> >>>> On Wednesday, 27 May 2020 17:46:49 UTC+5:30, Sebastian Riedel wrote: >>>>> >>>>> I'll assume it was you who asked the same question on IRC earlier. Had >>>>> you been sticking around for a bit longer you would have seen my >>>>> instructions for getting a working application that i tested locally. >>>>> >>>>> 14:08 <kraih> to be sure i did a "mojo generate app" and then >>>>> replaced the controller with http://paste.scsys.co.uk/589044 >>>>> >>>>> That's the important part, if that doesn't work your Perl or some >>>>> module you installed is broken. >>>>> >>>>> -- >>>>> 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 view this discussion on the web visit https://groups.google.com/d/msgid/mojolicious/debdea2d-2f67-4feb-814d-9d936d1b6732%40googlegroups.com.