I had to mimic a certain web application for a customer I’m currently working for, so I’ve created a small standard webserver in Perl using HTTP::Daemon.
The only thing it does, is serving one particular file.
#!/usr/bin/perl use strict; use warnings; use HTTP::Daemon; use HTTP::Status; my $devices_file = 'QIP-ip.activeobj.txt'; my $devices_file_path = $devices_file; my $d = HTTP::Daemon->new( LocalPort => 8080 ) || die "Kak: $!n"; $d->product_tokens('VirtualQIP dev device'); print "Please contact me at: url, ">n"; while (my $c = $d->accept) { while (my $r = $c->get_request) { if ($r->method eq 'GET' and $r->uri->path =~ /$devices_file/) { # remember, this is *not* recommended practice print localtime() . " [debug] GET " . $r->uri->path() . "n"; $c->send_file_response($devices_file_path); print localtime() . " [debug] SENT " . $r->uri->path() . "n"; } else { print localtime() . " [debug] UNKNOWN URI " . $r->uri->path() . "n"; $c->send_error(RC_FORBIDDEN) } } $c->close; undef($c); }