Hey, On 21 May 2015, at 01:20, John Napiorkowski <[email protected]> wrote:
> Hey sorry to top post, but let me try to summarize: > > 1) You need to make URLs > > Ok, perfect you should find that uri_for works in application context > > MyApp->uri_for > > and that should return a uri::generic object. Hobbs thought it would be easy > to add a util to Catalyst utils that takes a URI::generic and base URL and > returns a real URL. So that should work. Give it a try and let me know? # MyApp->uri_for returns an path. # $c->uri_for returns nothing useful. creating kind of a fake request object, as written in the last email, actually works well for me. also with the latest catalyst version. i need to generated URLs in the TT2, and there i can't use MyApp->uri_for ...or i'd need to change all the templates.. soo, thats fine for me as it is. > > 2) Calling controllers from a script, etc. > > I know you probably don't want to hear it (:) ) but I would strive to have > all that business logic elsewhere (not in the controller), so that you can > make this easier. > > However if you can't do that we could take a patch to make stash do something > not insane in application context or a plugin to make the stash like the old > stash for people that can't make the leap. How does that sound? i now changed the code, so i'm not putting data in the stash anymore, works fine; and maybe is also a better solution. so actually that thing is solved for me. anyway, maybe it would be good, to have a plugin that provides the old stash logic for backward compatibility? cheers, bernhard > > Jnap > > > > On Wednesday, May 20, 2015 5:09 PM, Bernhard Bauch <[email protected]> wrote: > Hey again, > >> You could fake it by giving your instance a request object. > > actually in my usecase, i already do fake a request object... > but that does not help either :( > > looks like this..... > >> my $c = MyApp->new(); >> > > my $base_url = "http://somedomain.com"; > my $uri_path = '/'; > my $uri = \$uri_path; > bless $uri, 'URI::http'; > > my $base = \$base_url; > bless $base, 'URI::http'; > > # load request > $c->request(Catalyst::Request->new({ > 'cookies' => {}, > 'base' => $base, > 'uri' => $uri, > 'secure' => 1, > 'headers' => HTTP::Headers->new, > '_log' => $c->log, > })); > >> >> my $val = "12345"; >> $c->stash->{val} = $val; >> >> my $stash = $c->stash->{val}; >> print "from stash: $stash\n"; > > > I needed to have a request object to have > $c->uri_for(....); > working for my commandline script to be able to generate real URIs. > > Do i need to add further magic while creating request object, so that stash > would also work ? tried to > >> But tell me more about the use case > the CLI scripts are triggering different actions from Controllers and using > the stash to passaround data from action to action or make some data > available to all actions.. > i guess that did not help much ;) > > cheerz > bernhard > > > On 20 May 2015, at 21:27, John Napiorkowski <[email protected]> wrote: > >> Hi so >> >> my $c = MyApp->new(); >> >> when you do that you don't have a context, its an instance of your >> application. Since Catalyst conflates the two this is a common thing to >> think :) But you only get a context IF you have a request. So $app->stash >> isn't going to work. >> >> I'd be happy to take a patch to do something sorta correct in application >> context, but I'd rather help you not use the stash like this. Its probably >> going to make sad pandas down the road. That's half the reason I went this >> direction (to help move us along toward the application/context split we've >> talked about for years and years...) >> >> You could fake it by giving your instance a request object. But tell me >> more about the use case >> >> Jnap >> >> >> >> On Wednesday, May 20, 2015 6:05 AM, Bernhard Bauch <[email protected]> wrote: >> >> >> >> Hey all, >> >> i'm testing an update to the latest Catalyst version. >> the web-application via FCGI works fine, but i do run Catalyst from command >> line scripts as well. >> >> likeuse MyApp; >> >> >> my $c = MyApp->new(); >> >> >> my $val = "12345"; >> $c->stash->{val} = $val; >> >> my $stash = $c->stash->{val}; >> print "from stash: $stash\n"; >> >> since the upgrade i get the following error: >> >> You requested a stash, but one does not exist at .....\site\lib\Catalyst.pm >> line 517. >> >> As i read stash is now a middleware plugin; and is stored in the PSGI? >> environment; for sure thats not available when running from CLI. >> >> how to i make the good old stash working if i'm from command line ? >> >> thanks for support, >> bernhard >> >> >> >> >> >> >> — >> Bernhard Bauch >> Webdevelopment >> >> ZSI-Zentrum für Soziale Innovation GmbH >> Centre for Social Innovation >> >> Linke Wienzeile 246, A-1150 Wien, Austria >> Mail: [email protected] >> Skype: berni-zsi >> >> >> >> >> _______________________________________________ >> List: [email protected] >> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst >> Searchable archive: http://www.mail-archive.com/[email protected]/ >> Dev site: http://dev.catalyst.perl.org/ >> >> _______________________________________________ >> List: [email protected] >> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst >> Searchable archive: http://www.mail-archive.com/[email protected]/ >> Dev site: http://dev.catalyst.perl.org/ >> >> > >> >> > > — > Bernhard Bauch > Webdevelopment > > ZSI-Zentrum für Soziale Innovation GmbH > Centre for Social Innovation > > Linke Wienzeile 246, A-1150 Wien, Austria > Mail: [email protected] > Skype: berni-zsi > > > > > > _______________________________________________ > List: [email protected] > Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst > Searchable archive: http://www.mail-archive.com/[email protected]/ > Dev site: http://dev.catalyst.perl.org/ > > _______________________________________________ > List: [email protected] > Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst > Searchable archive: http://www.mail-archive.com/[email protected]/ > Dev site: http://dev.catalyst.perl.org/ > > !DSPAM:555d17c816084750615721! > > — Bernhard Bauch Webdevelopment ZSI-Zentrum für Soziale Innovation GmbH Centre for Social Innovation Linke Wienzeile 246, A-1150 Wien, Austria Mail: [email protected] Skype: berni-zsi
signature.asc
Description: Message signed with OpenPGP using GPGMail
_______________________________________________ List: [email protected] Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/[email protected]/ Dev site: http://dev.catalyst.perl.org/
