summaryrefslogtreecommitdiffstats
path: root/LayoutTests/http/tests/resources/post-and-verify.cgi
diff options
context:
space:
mode:
Diffstat (limited to 'LayoutTests/http/tests/resources/post-and-verify.cgi')
-rwxr-xr-xLayoutTests/http/tests/resources/post-and-verify.cgi30
1 files changed, 30 insertions, 0 deletions
diff --git a/LayoutTests/http/tests/resources/post-and-verify.cgi b/LayoutTests/http/tests/resources/post-and-verify.cgi
new file mode 100755
index 0000000..2c7aa62
--- /dev/null
+++ b/LayoutTests/http/tests/resources/post-and-verify.cgi
@@ -0,0 +1,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";
+}