Good idea...I like it...
But, I'm not familiar with "use parent", and apparently neither is my server (this server is on Perl 5.8.8). I also tried "use base" and a plain old ISA on it, but they didn't work either--although they errored in a different way. :)
package Mason::MyDynHandler;
our @ISA = qw(HTML::Mason::ApacheHandler);
use HTML::Mason::ApacheHandler;
sub handler
{
my($r) = @_;
my $output = '% print STDERR "$m->session\n"; \n alert("foo");';
my $ah = HTML::Mason::ApacheHandler->handler($r);
my $mi = $ah->interp;
my $c = $mi->make_component(comp_source => $output);
my $realOutput = $mi->exec($c);
print $realOutput;
return OK;
}
With errors:
[Thu Feb 9 17:28:39 2012] [error] [Mason] File does not exist: /somep
+ath/foo.dynjs
[Thu Feb 9 17:28:39 2012] [error] Can't call method "interp" without
+a package or object reference at ../Mason/MyDynHandler.pm line 43.\n
the file does not exist is because foo.dynjs is still a virtual file. And line 43 is "my $mi = $ah->interp;". I can move the problem by replacing $mi with $ah, but it isn't set up correctly, clearly. |