9 use HTTP::Request::AsCGI;
12 $SIG{'PIPE'} = 'IGNORE';
14 my $server = HTTP::Daemon->new( LocalPort => 3000, ReuseAddr => 1 ) || die;
16 print "Please contact me at: <URL:", $server->url, ">\n";
18 while ( my $client = $server->accept ) {
21 REMOTE_ADDR => $client->peerhost,
22 REMOTE_HOST => $client->peerhost,
23 REMOTE_PORT => $client->peerport
26 while ( my $request = $client->get_request ) {
28 CGI::initialize_globals();
30 $request->uri->scheme('http');
31 $request->uri->host_port( $request->header('Host') || URI->new($server)->host_port );
33 my $c = HTTP::Request::AsCGI->new( $request, %e )->setup;
37 $q->start_html('Hello World'),
38 $q->h1('Hello World'),
43 my $response = $c->response;
45 # to prevent blocking problems in single threaded daemon.
46 $response->header( Connection => 'close' );
48 $client->send_response($response);