#!/usr/bin/perl -w use strict; use Net::HTTPServer; my $server = new Net::HTTPServer( port => 6789, log => "STDOUT" ); $server->RegisterURL( "/foo/bar.pl", \&test ); my $port = $server->Start(); $server->Process(); if ($port) { print "Port: $port\n"; } sub test { my $env = shift; my $res; $res = "\n"; $res .= "
\n"; $res .= "\n";
foreach my $var ( keys ( %{$env})) {
$res .= "$var -> ".$env->{$var}."\n";
}
$res .= " \n";
$res .= " \n";
$res .= "\n";
return ["200",
(),
$res
];
}
####
INIT: Starting the server
INIT: Attempting to listen on port 6789
2005/06/28 15:32:25 - Server running on port 6789
PROC: Process: type(single)
PROC: Wait for 10 seconds
PROC: Do we block? 1
PROC: Wait for 10 seconds
PROC: Incoming traffic
PROC: We have a client, let's treat them well.
Your vendor has not defined POSIX macro F_GETFL, used at C:/Perl/site/lib/Net/HTTPServer.pm line 1091
####
###############################################################################
#
# _nonblock - given a socket, make it non-blocking
#
###############################################################################
sub _nonblock
{
my $self = shift;
my $socket = shift;
my $flags = fcntl($socket, F_GETFL, 0)
or croak("Can't get flags for socket: $!\n");
fcntl($socket, F_SETFL, $flags | O_NONBLOCK)
or croak("Can't make socket nonblocking: $!\n");
}