reset_timer();
evaluate_uri();
+ evaluate_gitweb_config();
check_loadavg();
+ # $projectroot and $projects_list might be set in gitweb config file
+ $projects_list ||= $projectroot;
+
evaluate_query_params();
evaluate_path_info();
evaluate_and_validate_params();
sub run {
evaluate_argv();
- evaluate_gitweb_config();
evaluate_git_version();
- # $projectroot and $projects_list might be set in gitweb config file
- $projects_list ||= $projectroot;
-
$pre_listen_hook->()
if $pre_listen_hook;
sub esc_url {
my $str = shift;
return undef unless defined $str;
- $str =~ s/([^A-Za-z0-9\-_.~();\/;?:@&=])/sprintf("%%%02X", ord($1))/eg;
- $str =~ s/\+/%2B/g;
+ $str =~ s/([^A-Za-z0-9\-_.~();\/;?:@&= ]+)/CGI::escape($1)/eg;
$str =~ s/ /\+/g;
return $str;
}