diff options
Diffstat (limited to 'LayoutTests/http/tests/cookies/resources/clearCookies.cgi')
-rwxr-xr-x | LayoutTests/http/tests/cookies/resources/clearCookies.cgi | 27 |
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"; |