}
# Let's override the configuration file
-$styles_dir = $ENV{"HELM_STYLE_DIR"} if (defined ($ENV{"HELM_STYLE_DIR"}));
+$style_dir = $ENV{"HELM_STYLE_DIR"} if (defined ($ENV{"HELM_STYLE_DIR"}));
$dtd_dir = $ENV{"HELM_DTD_DIR"} if (defined ($ENV{"HELM_DTD_DIR"}));
# <ZACK>: TODO temporary, move this setting to configuration file
#CSC: altra roba da sistemare segnata con CSC
my $d = new HTTP::Daemon LocalPort => 8081;
+my $myownurl = $d->url;
+
+# Let's patch the returned URL
+$myownurl =~ s/\/$//; # chop the final slash
+my $myownport = $myownurl;
+$myownport =~ s/http:\/\/(.*):(.*)/$2/;
+$myownurl =~ s/http:\/\/(.*):(.*)/$1/;
+($myownurl) = gethostbyname($myownurl);
+$myownurl = "http://".$myownurl.":".$myownport;
+
tie(%map, 'DB_File', $uris_dbm.".db", O_RDONLY, 0664);
-print "Please contact me at: <URL:", $d->url, ">\n";
+print "Please contact me at: <URL:", $myownurl."/", ">\n";
print "helm_dir: $helm_dir\n";
+print "style_dir: $style_dir\n";
print "dtd_dir: $dtd_dir\n";
print "urls_of_uris.db: $uris_dbm.db\n";
print "cache mode: $cachemode\n";
print "Using local copy\n";
open(FD, $filename) or die "Cannot open $filename\n";
$cont = "";
- while(<FD>) { $cont .= $_; }
+ while(<FD>) {
+ # Vary bad heuristic for substituion of absolute URLs
+ # for relative ones
+ s/ENTITY (.*) SYSTEM\s+"/ENTITY $1 SYSTEM "$myownurl\/getdtd?uri=/g;
+ $cont .= $_;
+ }
close(FD);
answer($c,$cont);
} else {
die "Could not find DTD!";
}
- } elsif ($http_method eq 'GET' and $http_path eq "/getxslt") {
+ } elsif ($http_method eq 'GET' and $http_path eq "/getstyleconf") {
+ my $filename = $inputuri;
+ $filename = $style_dir."/config/".$filename;
+ if (stat($filename)) {
+ open(FD, $filename) or die "Cannot open $filename\n";
+ $cont = "";
+ while(<FD>) {
+ s/DOCTYPE (.*) SYSTEM\s+"/DOCTYPE $1 SYSTEM "$myownurl\/getstyleconf?uri=/g;
+ $cont .= $_;
+ }
+ close(FD);
+ answer($c,$cont);
+ } else {
+ die "Could not find Style Configuration File!";
+ }
+ } elsif ($http_method eq 'GET' and $http_path eq "/getxslt") {
my $filename = $inputuri;
- $filename = $styles_dir."/".$filename;
+ $filename = $style_dir."/".$filename;
print "XSLT: $inputuri ==> ($filename)\n";
if (stat($filename)) {
print "Using local copy\n";
open(FD, $filename) or die "Cannot open $filename\n";
$cont = "";
- while(<FD>) { $cont .= $_; }
+ while(<FD>) {
+ # Vary bad heuristic for substituion of absolute URLs
+ # for relative ones
+ s/xsl:import\s+href="/xsl:import href="$myownurl\/getxslt?uri=/g ;
+ s/xsl:include\s+href="/xsl:include href="$myownurl\/getxslt?uri=/g ;
+ $cont .= $_;
+ }
close(FD);
answer($c,$cont);
} else {