[Cpan-forum-commit] rev 268 - in trunk: . lib/CPAN lib/CPAN/Forum/RM www/cgi

svn at pti.co.il svn at pti.co.il
Thu Jul 19 17:07:50 EEST 2007


Author: gabor
Date: 2007-07-19 17:07:50 +0300 (Thu, 19 Jul 2007)
New Revision: 268

Modified:
   trunk/
   trunk/lib/CPAN/Forum.pm
   trunk/lib/CPAN/Forum/RM/Author.pm
   trunk/lib/CPAN/Forum/RM/Dist.pm
   trunk/lib/CPAN/Forum/RM/Subscriptions.pm
   trunk/lib/CPAN/Forum/RM/Users.pm
   trunk/www/cgi/index.pl
Log:
replace the direct access of PATH_INFO by supplying it to the CGI::App constructor
as REQUEST parameter



Property changes on: trunk
___________________________________________________________________
Name: svk:merge
   - 7bc34947-122d-0410-bc5a-f898d2bb5f81:/local/cpan-forum:4236
8c4c90e1-83eb-0310-96eb-e7cb62807872:/local/cpan-forum:12752
   + 7bc34947-122d-0410-bc5a-f898d2bb5f81:/local/cpan-forum:4237
8c4c90e1-83eb-0310-96eb-e7cb62807872:/local/cpan-forum:12752

Modified: trunk/lib/CPAN/Forum/RM/Author.pm
===================================================================
--- trunk/lib/CPAN/Forum/RM/Author.pm	2007-07-19 14:07:31 UTC (rev 267)
+++ trunk/lib/CPAN/Forum/RM/Author.pm	2007-07-19 14:07:50 UTC (rev 268)
@@ -25,7 +25,7 @@
 
     my $author = CPAN::Forum::DB::Authors->get_author_by_pauseid($pauseid);
     if (not $author) {
-        $self->log->warning("Invalid pauseid $pauseid called in $ENV{PATH_INFO}");
+        $self->log->warning("Invalid pauseid '$pauseid'");
         return $self->internal_error(
                 "",
                 "no_such_pauseid",

Modified: trunk/lib/CPAN/Forum/RM/Dist.pm
===================================================================
--- trunk/lib/CPAN/Forum/RM/Dist.pm	2007-07-19 14:07:31 UTC (rev 267)
+++ trunk/lib/CPAN/Forum/RM/Dist.pm	2007-07-19 14:07:50 UTC (rev 268)
@@ -20,7 +20,7 @@
         $group_name = $1;
     } else {
         return $self->internal_error(
-            "Probably bad regex when checking group name for $group_name called in $ENV{PATH_INFO}",
+            "Probably bad regex when checking group name for '$group_name'",
             );
     }
     $self->log->debug("show dist: '$group_name'");
@@ -36,7 +36,7 @@
 
     my ($gr) = CPAN::Forum::DB::Groups->search(name => $group_name);
     if (not $gr) {
-        $self->log->warning("Invalid group $group_name called in $ENV{PATH_INFO}");
+        $self->log->warning("Invalid group '$group_name'");
         $gr = $self->process_missing_dist($group_name);
         if (not $gr) {
             return $self->internal_error(
@@ -50,7 +50,7 @@
         $gid = $1;
     } else {
         return $self->internal_error(
-            "Invalid gid received $gid called in $ENV{PATH_INFO}",
+            "Invalid gid received '$gid'",
             );
     }
 

Modified: trunk/lib/CPAN/Forum/RM/Subscriptions.pm
===================================================================
--- trunk/lib/CPAN/Forum/RM/Subscriptions.pm	2007-07-19 14:07:31 UTC (rev 267)
+++ trunk/lib/CPAN/Forum/RM/Subscriptions.pm	2007-07-19 14:07:50 UTC (rev 268)
@@ -38,7 +38,7 @@
 
     if (not $user) {
         return $self->internal_error(
-            "Trouble accessing personal information of: '$username' $ENV{PATH_INFO}",
+            "Trouble accessing personal information of: '$username'",
             );
     }
     my $fullname = "";
@@ -58,9 +58,7 @@
         my $group = $params[1];
         my ($grp) = CPAN::Forum::DB::Groups->search(name => $group);
         if (not $grp) {
-            return $self->internal_error(
-                "Accessing $ENV{PATH_INFO}\n",
-            );
+            return $self->internal_error("Accessing");
         }
         $gids = $grp->id;
         my ($s) = CPAN::Forum::DB::Subscriptions->search(uid => $user->id, gid => $grp->id);

Modified: trunk/lib/CPAN/Forum/RM/Users.pm
===================================================================
--- trunk/lib/CPAN/Forum/RM/Users.pm	2007-07-19 14:07:31 UTC (rev 267)
+++ trunk/lib/CPAN/Forum/RM/Users.pm	2007-07-19 14:07:50 UTC (rev 268)
@@ -17,9 +17,7 @@
     $username = ${$self->param("path_parameters")}[0];
 
     if (not $username) {
-        return $self->internal_error(
-            "No username: PATH_INFO: $ENV{PATH_INFO}",
-            );
+        return $self->internal_error("No username");
     }
 
     my $t = $self->load_tmpl("users.tmpl",
@@ -32,9 +30,7 @@
     my ($user) = CPAN::Forum::DB::Users->search(username => $username);
 
     if (not $user) {
-        return $self->internal_error(
-            "Non existing user was accessed: $ENV{PATH_INFO}",
-            );
+        return $self->internal_error("Non existing user was accessed");
     }
 
 

Modified: trunk/lib/CPAN/Forum.pm
===================================================================
--- trunk/lib/CPAN/Forum.pm	2007-07-19 14:07:31 UTC (rev 267)
+++ trunk/lib/CPAN/Forum.pm	2007-07-19 14:07:50 UTC (rev 268)
@@ -460,12 +460,12 @@
 
 sub _logger {
     my ($self, %h) = @_;
-    return sprintf "[%s] - %s - [%s] [%s] [%s] %s\n",
+    return sprintf "[%s] - %s - [REMOTE_ADDR=%s] [HTTP_REFERER=%s] [REQUES=%s] %s\n",
             scalar(localtime), 
             $h{level}, 
             ($ENV{REMOTE_ADDR} || ''),
             ($ENV{HTTP_REFERER} || ''),
-            ($ENV{PATH_INFO} || ''),
+            ($self->param('REQUEST')),
             $h{message};
             # keys of the hash: level, message, name
 }
@@ -574,7 +574,7 @@
 
 =head2 cgiapp_prerun
 
-We use it to change the run mode according to the requested URL (PATH_INFO).
+We use it to change the run mode according to the requested URL.
 Maybe we should move his code to the mode_param method ?
 
 =cut
@@ -626,8 +626,11 @@
     return $rm if $rm and $rm ne 'home'; # alredy has run-mode
     $rm = 'home'; # set to default ???
 
-    # override rm based on PATH_INFO
-    if ($ENV{PATH_INFO} =~ m{^/
+    my $q = $self->query;
+
+    # override rm based on REQUEST
+    my $request = $self->param('REQUEST');
+    if ($request =~ m{^/
                     ([^/]+)        # first word till after the first /
                     (?:/(.*))?     # the rest, after the (optional) second /
                     }x) {
@@ -637,11 +640,11 @@
             my @params = split /\//, $params;
             $self->param(path_parameters => @params ? \@params : []);
             $rm = $newrm;
-        } elsif ($ENV{PATH_INFO} eq "/cgi/index.pl") {
+        } elsif ($request eq "/cgi/index.pl") {
             # this should be ok here
-            #$self->log->error("Invalid PATH_INFO: $ENV{PATH_INFO}");
+            #$self->log->error("Invalid request: $request}");
         } else {
-            $self->log->error("Invalid PATH_INFO: $ENV{PATH_INFO}");
+            $self->log->error("Invalid request: $request");
         }
     }
     $self->prerun_mode($rm);
@@ -1001,12 +1004,12 @@
                     $new_group_id = $gr->id;
                 } else {
                     return $self->internal_error(
-                        "Group '$new_group' was not in database when accessed PATH_INFO: '$ENV{PATH_INFO}'",
+                        "Group '$new_group' was not in database",
                         );
                 }
             } else {
                 return $self->internal_error(
-                    "Bad regex for '$new_group' ? Accessed PATH_INFO: '$ENV{PATH_INFO}'",
+                    "Bad regex for '$new_group' ?",
                     );
             }
         } elsif ($new_group_id) {
@@ -1015,7 +1018,7 @@
                 $new_group = $gr->name;
             } else {
                 return $self->internal_error(
-                    "Group '$new_group_id' was not in database when accessed PATH_INFO: '$ENV{PATH_INFO}'",
+                    "Group '$new_group_id' was not in database",
                 );
             }
         } elsif ($q->param('q')) {
@@ -1030,7 +1033,7 @@
         $new_group_id = $q->param("new_group_id");
         if (not $new_group_id) {
             return $self->internal_error(
-                "Missing new_group_id. Accessed PATH_INFO: '$ENV{PATH_INFO}'",
+                "Missing new_group_id.",
                 );
         }
 
@@ -1041,12 +1044,12 @@
                 $new_group = $grp->name;
             } else {
                 return $self->internal_error(
-                    "Bad value for new_group (id) '$new_group_id' ? Accessed PATH_INFO: '$ENV{PATH_INFO}'",
+                    "Bad value for new_group (id) '$new_group_id' ?",
                     );
             } 
         } else {
             return $self->internal_error(
-                "Bad value for new_group (id) '$new_group_id' ? Accessed PATH_INFO: '$ENV{PATH_INFO}'",
+                "Bad value for new_group (id) '$new_group_id' ?",
                 );
         }
     }
@@ -1066,7 +1069,7 @@
         my $post = CPAN::Forum::DB::Posts->retrieve($id);
         if (not $post) {
             return $self->internal_error(
-                "PATH_INFO: $ENV{PATH_INFO}",
+                "in request",
                 );
         }
         my $thread_count = CPAN::Forum::DB::Posts->count_threads($post->thread);
@@ -1227,7 +1230,7 @@
         #push @errors, "subject_too_long" if $@ =~ /subject_too_long/;
         if (not @errors) {
             return $self->internal_error(
-                "PATH_INFO: '$ENV{PATH_INFO}'\nUNKNOWN_ERROR: $@",
+                "UNKNOWN_ERROR: $@",
             );
         }
         return $self->posts(\@errors);
@@ -1307,7 +1310,7 @@
     my @posts = CPAN::Forum::DB::Posts->search(thread => $id);
     if (not @posts) {
         return $self->internal_error(
-            "PATH_INFO: $ENV{PATH_INFO}",
+            "in request",
             );
     }
 
@@ -1532,7 +1535,7 @@
     # first let's try to resolve the really big problems
     if ($ellapsed_time > 3) {
         my $rm = $self->get_current_runmode();
-        $self->log->warning("Long request. Ellapsed time: $ellapsed_time on run-mode: $rm, $ENV{PATH_INFO}"); 
+        $self->log->warning("Long request. Ellapsed time: $ellapsed_time on run-mode: $rm"); 
     }
 }
 

Modified: trunk/www/cgi/index.pl
===================================================================
--- trunk/www/cgi/index.pl	2007-07-19 14:07:31 UTC (rev 267)
+++ trunk/www/cgi/index.pl	2007-07-19 14:07:50 UTC (rev 268)
@@ -11,8 +11,9 @@
 my $app = CPAN::Forum->new(
 	TMPL_PATH => "$ENV{CPANFORUM_ROOT}/templates",
 	PARAMS => {
-		ROOT => $ENV{CPANFORUM_ROOT},
-        DB_CONNECT => "dbi:SQLite:$ENV{CPANFORUM_ROOT}/db/forum.db"
+		ROOT       => $ENV{CPANFORUM_ROOT},
+        DB_CONNECT => "dbi:SQLite:$ENV{CPANFORUM_ROOT}/db/forum.db",
+        REQUEST    => $ENV{PATH_INFO},
 	},
 );
 $app->run();



More information about the Cpan-forum-commit mailing list