17 |
use File::Slurp; |
use File::Slurp; |
18 |
#use JSON; |
#use JSON; |
19 |
use IO::Socket::INET; |
use IO::Socket::INET; |
|
use Module::Refresh; |
|
20 |
|
|
21 |
our $pids; |
our $pids; |
22 |
$pids = { httpd => $$ } unless defined $pids; # keep pids on refresh |
$pids = { httpd => $$ } unless defined $pids; # keep pids on refresh |
136 |
sub get_request { |
sub get_request { |
137 |
my ( $client, $path, $param ) = @_; |
my ( $client, $path, $param ) = @_; |
138 |
|
|
139 |
|
server->refresh; |
140 |
|
|
141 |
warn "get_request $path ", $param ? dump( $param ) : '', "\n"; |
warn "get_request $path ", $param ? dump( $param ) : '', "\n"; |
142 |
|
|
143 |
if ( my $found = static( $client,$path ) ) { |
if ( my $found = static( $client,$path ) ) { |
258 |
start_stop 'screen'; |
start_stop 'screen'; |
259 |
start_stop 'kvm'; |
start_stop 'kvm'; |
260 |
|
|
261 |
while (my $client = $server->accept()) { |
while (1) { |
262 |
$client->autoflush(1); |
my $client = $server->accept() || next; # ALARM trickle us |
263 |
my $request = <$client>; |
my $request = <$client>; |
264 |
|
|
265 |
warn "request $request\n" if $debug; |
warn "request $request\n" if $debug; |
266 |
|
|
|
Module::Refresh->refresh; |
|
|
|
|
267 |
if ($request =~ m{^GET (/.*) HTTP/1.[01]}) { |
if ($request =~ m{^GET (/.*) HTTP/1.[01]}) { |
268 |
my $path = $1; |
my $path = $1; |
269 |
my $param; |
my $param; |