Luke, I'm using subrequests quite extensively in my application so I'll test out your patch and see if anything breaks :)
I've actually been trying to work out a patch for this that spawns off a new thread. I've been using subrequest for a quasi portal like approach to building my site and I find that performance suffers when there are too many subrequests. --john --- luke saunders <[EMAIL PROTECTED]> wrote: > I've noticed that if, using C::P::SubRequest, > action_a subreqs to > action_b and action_b does $c->res->status(400) then > action_a will > also return a 400 unless overridden. This is also > the case for any > other changes to $c->res that the subreq'd action > might make. > > This is because C::P::SubRequest doesn't give the > subreq'd action its > own Response object. There was some discussion on > #catalyst where it > was pretty much decided that this was wrong. > > Attached is a patch which changes SubRequest.pm so > that it passes the > subreq'd action a shiny new Response object to > prevent it stamping all > over the original. It's feasible that the calling > action may actually > be interested in the subreq'd action's Response > object (for status > code checking etc) and for this reason if subreq is > called in list > context the subreq'd action's Response object is > returned as the > second return value: my ($body, $res) = > $c->subreq(...) > > Ideally, the subreq'd action should probably get a > whole $c of its > own, but this would require much work. So I propose > that this will do > for now . > > There may be a problem with backwards compatibility > if this patch is > actually applied, so maybe this new behaviour should > only occur if > some flag is set or if subreq_local (or whatever) is > called instead. > > Any thoughts? > > _______________________________________________ > List: [email protected] > Listinfo: > http://lists.rawmode.org/mailman/listinfo/catalyst > Searchable archive: > http://www.mail-archive.com/[email protected]/ > Dev site: http://dev.catalyst.perl.org/ > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com _______________________________________________ List: [email protected] Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/[email protected]/ Dev site: http://dev.catalyst.perl.org/
