dashboard subscription fix
[freeside.git] / rt / bin / mason_handler.svc.in
index d82f3c1..d7e68b3 100644 (file)
@@ -1,9 +1,9 @@
 #!@PERL@
-# {{{ BEGIN BPS TAGGED BLOCK
+# BEGIN BPS TAGGED BLOCK {{{
 # 
 # COPYRIGHT:
-#  
-# This software is Copyright (c) 1996-2004 Best Practical Solutions, LLC 
+# 
+# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC
 #                                          <jesse@bestpractical.com>
 # 
 # (Except where explicitly superseded by other copyright notices)
@@ -23,7 +23,9 @@
 # 
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301 or visit their web page on the internet at
+# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
 # 
 # 
 # CONTRIBUTION SUBMISSION POLICY:
@@ -43,7 +45,7 @@
 # works based on those contributions, and sublicense and distribute
 # those contributions and any derivatives thereof.
 # 
-# }}} END BPS TAGGED BLOCK
+# END BPS TAGGED BLOCK }}}
 =head1 NAME
 
 mason_handler.svc - Win32 IIS Service handler for RT
@@ -109,7 +111,7 @@ BEGIN {
        $Win32::TieRegistry::Registry->{
            'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\\'.
            'W3SVC\Parameters\Virtual Roots\\'
-       }->{$RT::WebPath || '/'} = "$path,,205";
+       }->{RT->Config->Get('WebPath') || '/'} = "$path,,205";
            
        $Win32::TieRegistry::Registry->{
            'HKEY_LOCAL_MACHINE\Software\FASTCGI\.html\\'
@@ -223,19 +225,25 @@ warn "Begin listening on $ENV{'FCGI_SOCKET_PATH'}\n";
 require CGI::Fast;
 
 RT::Init();
+$Handler ||= RT::Interface::Web::Handler->new(
+    RT->Config->Get('MasonParameters')
+);
+
 
 # Response loop
 while( my $cgi = CGI::Fast->new ) {
     my $comp = $ENV{'PATH_INFO'};
 
     $comp = $1 if ($comp =~ /^(.*)$/);
-    $comp =~ s|^$RT::WebPath\b||i;
+    my $web_path = RT->Config->Get('WebPath');
+    $comp =~ s|^\Q$web_path\E\b||i;
     $comp .= "index.html" if ($comp =~ /\/$/);
     $comp =~ s/.pl$/.html/g;
     
     warn "Serving $comp\n";
 
     $Handler->handle_cgi($comp);
+    RT::Interface::Web::Handler->CleanupRequest();
     # _should_ always be tied
 }