File: wmget-test.pl

package info (click to toggle)
wmget 0.6.0-2
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k, lenny
  • size: 280 kB
  • ctags: 325
  • sloc: ansic: 2,344; xml: 450; makefile: 135; perl: 31; sh: 24
file content (45 lines) | stat: -rwxr-xr-x 981 bytes parent folder | download | duplicates (5)
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/usr/bin/perl -w
use strict;

use IO::Handle;
use IO::Socket;

&run_server ();

sub run_server {
    local $SIG{PIPE} = 'IGNORE';

    my $servsock = new IO::Socket (
        Domain => AF_INET,
        Type => SOCK_STREAM,
        Proto => "tcp",
        Reuse => 1,
        Listen => 1,
        LocalPort => 8000,
    ) or die "new IO::Socket: $!";

    print "to test, enter wmget http://localhost:8000/...\n";

    while (my $client = $servsock->accept) {
        $client->autoflush (1);

        while (<$client>) {
            print STDERR "> $_";
            last if not /\S/;
        }

        print STDERR "headers done.  sending data...\n";

        print $client "HTTP/1.0 200 Ok, here you go...\r\n";
        print $client "Content-Type: text/plain\r\n";
        print $client "Content-Length: 1000\r\n\r\n";

        # generate bogus data, and do it slowly....
        for (1..10) {
            print $client "x" x 99, "\n";
            sleep 1;
        }
    }
}