11 chdir $FindBin::Bin; # chdir to the directory of this perl script
13 $proofcheckerport = $ENV{'PROOF_CHECKER_PORT'} || $proofcheckerport;
15 my $d = new HTTP::Daemon LocalPort => $proofcheckerport
16 or die "Error: port $proofcheckerport not available.";
17 print "Please contact me at: <URL:", $d->url, ">\n";
19 my $IsProofCheckerLiving = 0;
23 print stderr "\nERROR: The proof-checker died.\n";
24 $IsProofCheckerLiving=0;
29 open3(*PC_IN, *PC_OUT, *PC_ERR, "./proofChecker.opt 2>&1");
30 $IsProofCheckerLiving=1;
31 print stderr "\nWARNING: A new proof-checker starts.\n";
34 while (my $c = $d->accept) {
35 my $r = $c->get_request;
36 my $http_query = uri_unescape($r->url->query);
37 my $cgi = new CGI("$http_query");
38 my $uri = $cgi->param('uri');
40 if ($r->method eq 'GET' && $r->url->path eq "/proofCheck"){
41 print "Request to proof-check \"$uri\"...";
46 <title>Proof-Checking $uri</title>
48 <body bgcolor="white">
49 <h1>Proof-Checking $uri:</h1>
51 while(chomp($_ = <PC_OUT>)) {
52 last if ($_ eq "END");
62 print "INVALID REQUEST \"$http_query\"!!!!!\n\n";
63 $c->send_error(RC_FORBIDDEN);
67 last unless $IsProofCheckerLiving;