<testcase>
<info>
<keywords>
HTTP
HTTP GET
cookies
cookiejar
HTTP replaced headers
httponly
</keywords>
</info>
# Server-side
<reply>
<data>
HTTP/1.1 200 OK
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Content-Type: text/html
Funny-head: yesyes
Set-Cookie: test=yes; httponly; domain=foo.com; expires=Fri Feb 13 11:56:27 GMT 2037
SET-COOKIE: test2=yes; domain=host.foo.com; expires=Fri Feb 13 11:56:27 GMT 2037
Set-Cookie: test3=maybe; domain=foo.com; path=/moo; secure
Set-Cookie: test4=no; domain=nope.foo.com; path=/moo; secure
Set-Cookie: test5=name; domain=anything.com; path=/ ; secure
Set-Cookie: fake=fooledyou; domain=..com; path=/;
Set-Cookie: supercookie=fooledyou; domain=.com; path=/;^M
Content-Length: 4

boo
</data>
</reply>

# Client-side
<client>
<server>
http
</server>
 <name>
HTTP with various cookies and custom Host:
 </name>
# Explicitly set the time zone to a known good one, in case the user is
# using one of the 'right' zones that take into account leap seconds
# which causes the cookie expiry times to be different.
<setenv>
TZ=GMT
</setenv>
 <command>
http://%HOSTIP:%HTTPPORT/we/want/61 -c log/jar61.txt -H "Host: www.host.foo.com"
</command>
</client>

# Verify data after the test has been "shot"
<verify>
<protocol>
GET /we/want/61 HTTP/1.1
Host: www.host.foo.com
User-Agent: curl/%VERSION
Accept: */*

</protocol>
<file name="log/jar61.txt" mode="text">
# Netscape HTTP Cookie File
# https://curl.haxx.se/docs/http-cookies.html
# This file was generated by libcurl! Edit at your own risk.

.host.foo.com	TRUE	/we/want/	FALSE	2118138987	test2	yes
#HttpOnly_.foo.com	TRUE	/we/want/	FALSE	2118138987	test	yes
</file>
</verify>
</testcase>
