summaryrefslogtreecommitdiffstats
path: root/LayoutTests/http/tests/resources/post-and-verify.cgi
blob: 2c7aa62717530629dcdcc97c6ac8d2220deccba7 (plain)
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
#!/usr/bin/perl -w

print "Content-type: text/plain\n\n"; 

if ($ENV{'REQUEST_METHOD'} eq "POST") {
    if ($ENV{'CONTENT_LENGTH'}) {
        read(STDIN, $postData, $ENV{'CONTENT_LENGTH'}) || die "Could not get post data\n";
    } else {
        $postData = "";
    }

    @list = split(/&/, $ENV{'QUERY_STRING'});
    foreach $element (@list) {
        ($key, $value) = split(/=/, $element);
        $values{$key} = $value;
    }

    open FILE, $values{'path'} || die("Could not open file\n");
    seek FILE, $values{'start'}, 0;
    read FILE, $expectedData, $values{'length'};
    close(FILE);

    if ($postData eq $expectedData) {
        print "OK";
    } else {
        print "FAILED";
    }
} else {
    print "Wrong method: " . $ENV{'REQUEST_METHOD'} . "\n";
}