From 4088a61216b1474e616232f549595e01a4cf5534 Mon Sep 17 00:00:00 2001 From: Jordi Sanfeliu Date: Mon, 11 Feb 2013 15:28:20 +0100 Subject: [PATCH] better handling of different options in 'base_url' ad 'base_cgi' --- lib/HTTPServer.pm | 18 +++++++++++------- monitorix | 10 +++++++--- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/lib/HTTPServer.pm b/lib/HTTPServer.pm index 65849dd..01853eb 100644 --- a/lib/HTTPServer.pm +++ b/lib/HTTPServer.pm @@ -70,6 +70,7 @@ sub handle_request { my $port = $main::config{httpd_builtin}->{port}; my $mimetype; my $target; + my $target_cgi; my @data; return if fork(); # parent returns @@ -85,21 +86,24 @@ sub handle_request { $target =~ s/\/$//; last unless $cur ne length $target; } - $target = "/$target"; + $target = $target_cgi = "/$target"; $target =~ s/^$base_url//; # removes the 'base_url' part - $target =~ s/^$base_cgi//; # removes the 'base_cgi' part - $target =~ s/^\///; # removes leading slash - $target = "index.html" unless $target; + $target_cgi =~ s/^$base_cgi//; # removes the 'base_cgi' part + if(!$target || $target eq $base_url) { + $target = "index.html" unless $target; + } ($mimetype) = ($target =~ m/.*\.(html|cgi|png)$/); - if($target eq "monitorix.cgi") { + $target =~ s/^\///; # removes leading slash + $target_cgi =~ s/^\///; # removes leading slash + if($target_cgi eq "monitorix.cgi") { # chdir("cgi"); chdir("/home/jordi/github/Monitorix/"); # XXX - open(EXEC, "./$target |"); + open(EXEC, "./$target_cgi |"); @data = ; close(EXEC); - } else { + } elsif($target) { if(open(IN, $target)) { @data = ; close(IN); diff --git a/monitorix b/monitorix index 1f422ca..bfc6da2 100755 --- a/monitorix +++ b/monitorix @@ -163,6 +163,10 @@ sub create_index { my $title_back_color; my $title_fore_color; + # force to only one trailing slash + (my $base_url = $config{base_url}) =~ s/\/*$/\//; + (my $base_cgi = $config{base_cgi}) =~ s/\/*$/\//; + if($theme eq "black") { $bgcolor = $config{$theme}->{main_bg}; $table_back_color = $config{$theme}->{graph_bg}; @@ -185,7 +189,7 @@ sub create_index { $config{title} - +
@@ -195,7 +199,7 @@ sub create_index { @@ -205,7 +209,7 @@ sub create_index {
- +

-

+