You're quoting Dancer 1 so I'm assuming you use this. Dancer2 exits the sub for you when you "redirect", so it's not required to put the "return" statement with it.
On Wed, Mar 18, 2015 at 12:33 PM, Tiago Quintela <[email protected]> wrote: > Hi, > > > http://search.cpan.org/~yanick/Dancer-1.3134/lib/Dancer.pm#redirect > > "Generates an HTTP redirect (302)." > > I believe the RFC2616 doesn’t forbid message-body on 300-ish routes so > that’s probably why: > > "Redirection is deferred until after the current route or filter has been > processed." > > > So, if you: > > > redirect ‘/someroute’ if $something; > > return $content; > > "means": issue a http 302 to ‘/someroute’ w/ $content as message body. > > > and, > > > return redirect '‘/someroute’ if $something > > “means": issue a http 302 to ‘/someroute’ and w/o message-body > > > cheers, > > Tiago > > On 18 March 2015 at 07:08, Pedro Melo <[email protected]> wrote: > >> Writing this from memory, but redirect doesn't abort the current request >> processing, so you need to return redirect on all places. >> >> Sent from my iPhone >> >> > On 17/03/2015, at 23:46, David H <[email protected]> wrote: >> > >> > So I had this question and I couldn't find any answer, since the two >> options were giving me confusion. I wanted t pass control off to another >> route if a certain action happened. >> > >> > I had this in a route: >> > if ($actionHappened) { >> > redirect '/CheckOffOrderItem/'; >> > } >> > >> > and it was working fine, it would pass control off to that route and >> then any return would go to the page and return what I wanted. >> > >> > I then went to add another line for something else below this one >> > if ($theOtherThingHappened) { >> > redirect '/CheckOffProduct/' >> > } >> > >> > and it worked, about twice, then stopped working and wouldn't process >> the redirect, it would get to the condition and go through but just skip >> processing the route and continue with the existing route, so I read >> somewhere that "return redirect" should be used and not "redirect" when >> redirecting. >> > >> > Is this true? and why? >> > My top one is still working and hasn't stopped but I want to know what >> the logic behind these two are. When I changed the second one to 'return >> redirect' it started working again. >> > >> > Thanks, >> > >> > David Hancock >> > _______________________________________________ >> > dancer-users mailing list >> > [email protected] >> > http://lists.preshweb.co.uk/mailman/listinfo/dancer-users >> _______________________________________________ >> dancer-users mailing list >> [email protected] >> http://lists.preshweb.co.uk/mailman/listinfo/dancer-users >> > > > > -- > Tiago Quintela > > _______________________________________________ > dancer-users mailing list > [email protected] > http://lists.preshweb.co.uk/mailman/listinfo/dancer-users > >
_______________________________________________ dancer-users mailing list [email protected] http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
