, 'new_clients' => qq|<input type=text name=new_clients size=3 value="$server::new_clients">|
);
- foreach my $editable ( 'ip', 'netmask', 'ip_from', 'ip_to', 'domain' ) {
+ foreach my $editable ( 'ip', 'bcast', 'netmask', 'ip_from', 'ip_to', 'domain' ) {
my $v = eval '$server::' . $editable;
push @table, ( $editable, qq|<input type=text name=$editable value="$v">| );
}
my $client = $server->accept() || next; # ALARM trickle us
my $request = <$client>;
- warn "request $request\n" if $debug;
+ my $headers;
+
+ while ( my $header = <$client> ) {
+ chomp $header;
+ last if $header =~ m{^\s*$};
+ my ( $n, $v ) = split(/:\s*/, $header);
+ $headers->{ lc $n } = $v;
+ }
+
+ if ( my $host = $headers->{host} ) {
+ $url = 'http://' . $host;
+ $url .= ":$port" unless $url =~ m{:\d+$};
+ }
+
+ warn "## $url ## $request", dump( $headers ) if $debug;
if ($request =~ m{^GET (/.*) HTTP/1.[01]}) {
my $path = $1;