File: referer-server

package info (click to toggle)
libwww-mechanize-perl 2.20-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,080 kB
  • sloc: perl: 4,623; makefile: 6
file content (31 lines) | stat: -rw-r--r-- 784 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Thanks to merlyn for nudging me and giving me this snippet!

use HTTP::Daemon ();

$|++;

my $d = HTTP::Daemon->new or die;
print $d->url, "\n";

$counter = 6;
while ( $counter-- and my $c = $d->accept ) {
    while ( my $r = $c->get_request ) {
        my $location = ( $r->uri->path || "/" );
        if ( $location eq '/quit_server' ) {
            $c->send_response(
                HTTP::Response->new(
                    200, "OK", [ Connection => 'close' ], "quit"
                )
            );
            $counter = 0;
            last;
        }
        else {
            my $ref = $r->headers->referer || "";
            $c->send_response(
                HTTP::Response->new( 200, "OK", undef, "Referer: '$ref'" ) );
        }
    }
    $c->close;
    undef($c);
}