summaryrefslogtreecommitdiffstats
path: root/LayoutTests/http/tests/cookies/resources/clearCookies.cgi
diff options
context:
space:
mode:
Diffstat (limited to 'LayoutTests/http/tests/cookies/resources/clearCookies.cgi')
-rwxr-xr-xLayoutTests/http/tests/cookies/resources/clearCookies.cgi27
1 files changed, 27 insertions, 0 deletions
diff --git a/LayoutTests/http/tests/cookies/resources/clearCookies.cgi b/LayoutTests/http/tests/cookies/resources/clearCookies.cgi
new file mode 100755
index 0000000..27896b7
--- /dev/null
+++ b/LayoutTests/http/tests/cookies/resources/clearCookies.cgi
@@ -0,0 +1,27 @@
+#!/usr/bin/perl -wT
+use strict;
+
+print "Content-Type: text/plain\n";
+print "Cache-Control: no-store\n";
+print 'Cache-Control: no-cache="set-cookie"' . "\n";
+
+my $cookie = $ENV{"HTTP_CLEAR_COOKIE"};
+
+if ($cookie =~ /Max-Age/i) {
+ $cookie =~ s/Max-Age *= *[0-9]+/Max-Age=0/i;
+} else {
+ $cookie .= ";" unless ($cookie =~ m/;$/);
+ $cookie .= " " unless ($cookie =~ m/ $/);
+ $cookie .= "Max-Age=0";
+}
+
+if ($cookie =~ /Expires/i) {
+ # Set the "Expires" field to UNIX epoch
+ $cookie =~ s/Expires *= *[^;]+/Expires=Thu, 01 Jan 1970 00:00:00 GMT/i;
+} else {
+ $cookie .= ";" unless ($cookie =~ m/;$/);
+ $cookie .= " " unless ($cookie =~ m/ $/);
+ $cookie .= "Expires=Thu, 01 Jan 1970 00:00:00 GMT";
+}
+
+print "Set-Cookie: $cookie\n\n";