diff options
Diffstat (limited to 'FS/FS/Mason')
-rw-r--r-- | FS/FS/Mason/Request.pm | 5 | ||||
-rw-r--r-- | FS/FS/Mason/StandaloneRequest.pm | 23 |
2 files changed, 25 insertions, 3 deletions
diff --git a/FS/FS/Mason/Request.pm b/FS/FS/Mason/Request.pm index 95c8027..565f85e 100644 --- a/FS/FS/Mason/Request.pm +++ b/FS/FS/Mason/Request.pm @@ -24,7 +24,7 @@ sub new { my %opt = @_; my $mode = $superclass =~ /Apache/i ? 'apache' : 'standalone'; - freeside_setup($opt{'comp'}, $mode); + $class->freeside_setup($opt{'comp'}, $mode); $class->SUPER::new(@_); @@ -34,8 +34,7 @@ sub new { # for Mason 1.39 vs. Perl 5.10.0 sub freeside_setup { - - my( $filename, $mode ) = @_; + my( $class, $filename, $mode ) = @_; if ( $filename =~ qr(/REST/\d+\.\d+/NoAuth/) ) { diff --git a/FS/FS/Mason/StandaloneRequest.pm b/FS/FS/Mason/StandaloneRequest.pm new file mode 100644 index 0000000..a5e4dcb --- /dev/null +++ b/FS/FS/Mason/StandaloneRequest.pm @@ -0,0 +1,23 @@ +package FS::Mason::StandaloneRequest; + +use strict; +use warnings; +use base 'FS::Mason::Request'; + +sub new { + my $class = shift; + + $class->alter_superclass('HTML::Mason::Request'); + + #huh... shouldn't alter_superclass take care of this for us? + __PACKAGE__->valid_params( %{ HTML::Mason::Request->valid_params() } ); + + my %opt = @_; + #its already been altered# $class->freeside_setup($opt{'comp'}, 'standalone'); + FS::Mason::Request->freeside_setup($opt{'comp'}, 'standalone'); + + $class->SUPER::new(@_); + +} + +1; |