[Jifty-commit] r1075 - in jifty/trunk: lib/Jifty lib/Jifty/Web
jifty-commit at lists.jifty.org
jifty-commit at lists.jifty.org
Tue May 16 17:46:15 EDT 2006
Author: alexmv
Date: Tue May 16 17:46:14 2006
New Revision: 1075
Modified:
jifty/trunk/ (props changed)
jifty/trunk/lib/Jifty/Dispatcher.pm
jifty/trunk/lib/Jifty/Request.pm
jifty/trunk/lib/Jifty/Web/PageRegion.pm
Log:
r13039 at zoq-fot-pik: chmrr | 2006-05-16 17:45:38 -0400
* Requests know the top-level request
* mason_internal_error's "try again" is to top level request
Modified: jifty/trunk/lib/Jifty/Dispatcher.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Dispatcher.pm (original)
+++ jifty/trunk/lib/Jifty/Dispatcher.pm Tue May 16 17:46:14 2006
@@ -1036,7 +1036,7 @@
# Save the request away, and redirect to an error page
Jifty->web->response->error($err);
my $c = Jifty::Continuation->new(
- request => Jifty->web->request,
+ request => Jifty->web->request->top_request,
response => Jifty->web->response,
parent => Jifty->web->request->continuation,
);
Modified: jifty/trunk/lib/Jifty/Request.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Request.pm (original)
+++ jifty/trunk/lib/Jifty/Request.pm Tue May 16 17:46:14 2006
@@ -4,7 +4,7 @@
package Jifty::Request;
use base qw/Jifty::Object Class::Accessor::Fast Clone/;
-__PACKAGE__->mk_accessors(qw(is_subrequest arguments just_validating path _continuation));
+__PACKAGE__->mk_accessors(qw(_top_request arguments just_validating path _continuation));
use Jifty::JSON;
use Jifty::YAML;
@@ -720,6 +720,31 @@
}
}
+=head2 is_subrequest
+
+Returns true if this request is a subrequest.
+
+=cut
+
+sub is_subrequest {
+ my $self = shift;
+ return $self->_top_request ? 1 : undef;
+}
+
+=head2 top_request
+
+Returns the top-level request for this request; if this is a
+subrequest, this is the user-created request that the handler got
+originally. Otherwise, returns itself;
+
+=cut
+
+sub top_request {
+ my $self = shift;
+ $self->_top_request(@_) if @_;
+ return $self->_top_request || $self;
+}
+
package Jifty::Request::Action;
use base 'Class::Accessor::Fast';
__PACKAGE__->mk_accessors( qw/moniker arguments class order active modified has_run/);
Modified: jifty/trunk/lib/Jifty/Web/PageRegion.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Web/PageRegion.pm (original)
+++ jifty/trunk/lib/Jifty/Web/PageRegion.pm Tue May 16 17:46:14 2006
@@ -267,10 +267,10 @@
my $subrequest = Jifty::Request->new;
$subrequest->from_webform(%arguments);
$subrequest->path( $self->path );
+ $subrequest->top_request( Jifty->web->request->top_request );
# Remove all of the actions
$subrequest->clear_actions;
- $subrequest->is_subrequest(1);
local Jifty->web->{request} = $subrequest;
# While we're inside this region, have Mason to tack its response
More information about the Jifty-commit
mailing list