[freeside-commits] branch master updated. 07d63243b070962b8fcf8e6b59128ccf1305f8f8
Ivan
ivan at 420.am
Thu Aug 2 20:53:05 PDT 2012
The branch, master has been updated
via 07d63243b070962b8fcf8e6b59128ccf1305f8f8 (commit)
from e881063d6e46d991003cf8fae96d8d36780fedcd (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 07d63243b070962b8fcf8e6b59128ccf1305f8f8
Author: Ivan Kohler <ivan at freeside.biz>
Date: Thu Aug 2 20:53:04 2012 -0700
FS/FS/Trace.pm
diff --git a/FS/FS/Mason/Request.pm b/FS/FS/Mason/Request.pm
index 0d21df4..36c46dc 100644
--- a/FS/FS/Mason/Request.pm
+++ b/FS/FS/Mason/Request.pm
@@ -4,6 +4,7 @@ use strict;
use warnings;
use vars qw( $FSURL $QUERY_STRING );
use base 'HTML::Mason::Request';
+use FS::Trace;
$FSURL = 'http://Set/FS_Mason_Request_FSURL/in_standalone_mode/';
$QUERY_STRING = '';
@@ -11,21 +12,27 @@ $QUERY_STRING = '';
sub new {
my $class = shift;
+ FS::Trace->log('creating new FS::Mason::Request object');
+
my $superclass = $HTML::Mason::ApacheHandler::VERSION ?
'HTML::Mason::Request::ApacheHandler' :
$HTML::Mason::CGIHandler::VERSION ?
'HTML::Mason::Request::CGI' :
'HTML::Mason::Request';
+ FS::Trace->log(' altering superclass');
$class->alter_superclass( $superclass );
+ FS::Trace->log(' setting valid params');
#huh... shouldn't alter_superclass take care of this for us?
__PACKAGE__->valid_params( %{ $superclass->valid_params() } );
+ FS::Trace->log(' freeside_setup');
my %opt = @_;
my $mode = $superclass =~ /Apache/i ? 'apache' : 'standalone';
$class->freeside_setup($opt{'comp'}, $mode);
+ FS::Trace->log(' SUPER::new');
$class->SUPER::new(@_);
}
@@ -38,6 +45,8 @@ my $protect_fds;
sub freeside_setup {
my( $class, $filename, $mode ) = @_;
+ FS::Trace->log(' protecting fds');
+
#from rt/bin/webmux.pl(.in)
if ( !$protect_fds && $ENV{'MOD_PERL'} && exists $ENV{'MOD_PERL_API_VERSION'}
&& $ENV{'MOD_PERL_API_VERSION'} >= 2
@@ -57,6 +66,8 @@ sub freeside_setup {
if ( $filename =~ qr(/REST/\d+\.\d+/NoAuth/) ) {
+ FS::Trace->log(' handling RT REST/NoAuth file');
+
package HTML::Mason::Commands; #?
use FS::UID qw( adminsuidsetup );
@@ -65,10 +76,13 @@ sub freeside_setup {
##old installs w/fs_selfs or selfserv??
#&adminsuidsetup('fs_selfservice');
+ FS::Trace->log(' adminsuidsetup fs_queue');
&adminsuidsetup('fs_queue');
} else {
+ FS::Trace->log(' handling regular file');
+
package HTML::Mason::Commands;
use vars qw( $cgi $p $fsurl ); # $lh ); #not using /mt
use Encode;
@@ -77,6 +91,7 @@ sub freeside_setup {
if ( $mode eq 'apache' ) {
$cgi = new CGI;
+ FS::Trace->log(' cgisuidsetup');
&cgisuidsetup($cgi);
#&cgisuidsetup($r);
$fsurl = rooturl();
@@ -91,6 +106,7 @@ sub freeside_setup {
die "unknown mode $mode";
}
+ FS::Trace->log(' UTF-8-decoding form data');
#
foreach my $param ( $cgi->param ) {
my @values = $cgi->param($param);
@@ -102,6 +118,8 @@ sub freeside_setup {
}
+ FS::Trace->log(' done');
+
}
sub callback {
diff --git a/Makefile b/Makefile
index 95ffbf2..864d9c2 100644
--- a/Makefile
+++ b/Makefile
@@ -168,6 +168,11 @@ install-docs: check-conflicts docs
cp -r masondocs ${FREESIDE_DOCUMENT_ROOT}
chown -R freeside:freeside ${FREESIDE_DOCUMENT_ROOT}
cp htetc/handler.pl ${MASON_HANDLER}
+ perl -p -i -e "\
+ s|%%%FREESIDE_EXPORT%%%|${FREESIDE_EXPORT}|g;\
+ " ${MASON_HANDLER} || true
+ mkdir -p ${FREESIDE_EXPORT}/profile
+ chown freeside ${FREESIDE_EXPORT}/profile
cp htetc/htpasswd.logout ${FREESIDE_CONF}
[ ! -e ${MASONDATA} ] && mkdir ${MASONDATA} || true
chown -R freeside ${MASONDATA}
diff --git a/htetc/handler.pl b/htetc/handler.pl
index cea3661..77b9346 100644
--- a/htetc/handler.pl
+++ b/htetc/handler.pl
@@ -5,6 +5,7 @@ package HTML::Mason;
use strict;
use warnings;
use FS::Mason qw( mason_interps );
+use FS::Trace;
#use vars qw($r);
@@ -38,6 +39,8 @@ sub handler
#($r) = @_;
my $r = shift;
+ FS::Trace->log('protecting fds');
+
#from rt/bin/webmux.pl(.in)
if ( !$protect_fds && $ENV{'MOD_PERL'} && exists $ENV{'MOD_PERL_API_VERSION'}
&& $ENV{'MOD_PERL_API_VERSION'} >= 2
@@ -63,6 +66,8 @@ sub handler
###Module::Refresh->refresh;###
+ FS::Trace->log('setting content_type / headers');
+
$r->content_type('text/html; charset=utf-8');
#$r->content_type('text/html; charset=iso-8859-1');
#eorar
@@ -76,6 +81,8 @@ sub handler
if ( $r->filename =~ /\/rt\// ) { #RT
+ FS::Trace->log('handling RT file');
+
# We don't need to handle non-text, non-xml items
return -1 if defined( $r->content_type )
&& $r->content_type !~ m!(^text/|\bxml\b)!io;
@@ -84,15 +91,20 @@ sub handler
local $SIG{__WARN__};
local $SIG{__DIE__};
+ FS::Trace->log('initializing RT');
my_rt_init();
+ FS::Trace->log('setting RT interpreter');
$ah->interp($rt_interp);
} else {
+ FS::Trace->log('handling Freeside file');
+
local $SIG{__WARN__};
local $SIG{__DIE__};
+ FS::Trace->log('initializing RT');
my_rt_init();
#we don't want the RT error handlers under FS
@@ -102,10 +114,12 @@ sub handler
undef($SIG{__DIE__}) if defined($SIG{__DIE__} );
}
+ FS::Trace->log('setting Freeside interpreter');
$ah->interp($fs_interp);
}
+ FS::Trace->log('handling request');
my %session;
my $status;
eval { $status = $ah->handle_request($r); };
@@ -125,6 +139,13 @@ sub handler
# );
# }
+ FS::Trace->log('done');
+
+ FS::Trace->dumpfile("%%%FREESIDE_EXPORT%%%/profile/$$.".time, $r->filename)
+ if FS::Trace->total > 5; #10?
+
+ FS::Trace->reset;
+
$status;
}
-----------------------------------------------------------------------
Summary of changes:
FS/FS/Mason/Request.pm | 18 ++++++++++++++++++
Makefile | 5 +++++
htetc/handler.pl | 21 +++++++++++++++++++++
3 files changed, 44 insertions(+), 0 deletions(-)
More information about the freeside-commits
mailing list