use Storable qw(retrieve); use HTTP::Daemon; use HTTP::Status; use CGI qw(:standard unescape); $|++; my $d = HTTP::Daemon->new(LocalPort => 8087) || die; print "Point browser to: ", $d->url, "\n"; while (my $c = $d->accept) { my $r = $c->get_request; if ($r->method eq 'GET') { print "Getting content for ",$r->url->path,"\n" if $verbose > 0; if ($r->url->path =~ /\/cdsu/) { my $query = $r->content; my $uri = $r->uri; my $header = $c->send_basic_header; my ($srchpat, $srchres, $srchmsg); if ($uri =~ /srch=([^&]+)/) { $srchpat = $1; $srchpat = unescape($srchpat); $srchmsg = "Search pattern: $srchpat"; $srchpat =~ s/\*/.*/g; $srchpat =~ s/\?/.?/g; $srchres = mpn_search($srchpat); } else { $srchmsg= "Please enter an MPN search value, eg *74*74*"; $srchres= ""; } my $response= gen_content($header, $srchres, $d->url, $srchmsg); print "Query: $query\n", "URI: $uri\n", "Search Pattern: $srchpat\n" if $verbose > 0; $c->send_response($response); } elsif ($r->url->path =~ "/(.*?).gif") { $c->send_file_response("$1.gif"); } else { my $header= $c->send_basic_header; my $response= gen_help($header, $d->url); $c->send_basic_header; $c->send_response($response); } } else { $c->send_error(RC_FORBIDDEN) } $c->close; undef($c); }