summaryrefslogtreecommitdiff
path: root/FS/FS/Mason
diff options
context:
space:
mode:
Diffstat (limited to 'FS/FS/Mason')
-rw-r--r--FS/FS/Mason/Request.pm5
-rw-r--r--FS/FS/Mason/StandaloneRequest.pm23
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;