<?php
/*
 * test_cookies.php
 *
 * @(#) $Header: /opt2/ena/metal/http/test_cookies.php,v 1.1 2007/02/07 22:20:07 mlemos Exp $
 *
 */

?><HTML>
<HEAD>
<TITLE>Test for Manuel Lemos' PHP HTTP class to save and restore cookies</TITLE>
</HEAD>
<BODY>
<H1><CENTER>Test for Manuel Lemos' PHP HTTP class to save and restore cookies</CENTER></H1>
<HR>
<UL>
<?php
	require("http.php");


	set_time_limit(0);
	$http=new http_class;
	$http->debug=0;
	$http->html_debug=1;
	$http->follow_redirect=1;

	$url="http://my.yahoo.com/";

	$error=$http->GetRequestArguments($url,$arguments);

	echo "<H2><LI>Opening connection to:</H2>\n<PRE>",HtmlEntities($arguments["HostName"]),"</PRE>\n";
	flush();
	$error=$http->Open($arguments);

	if($error=="")
	{
		echo "<H2><LI>Sending request for page:</H2>\n";
		echo "<PRE>",HtmlSpecialChars($arguments["RequestURI"]),"</PRE>\n";
		flush();
		$error=$http->SendRequest($arguments);

		if($error=="")
		{
			echo "<H2><LI>Getting response headers ...</H2>\n";
			flush();
			$headers=array();
			$error=$http->ReadReplyHeaders($headers);
			if($error=="")
			{
				echo "<H2><LI>Response status code:</LI</H2>\n<PRE>".$http->response_status."</PRE>\n";
				flush();

				echo "<H2><LI>Getting the response body ...</LI</H2>\n";
				for(;;)
				{
					$error=$http->ReadReplyBody($body,1000);
					if($error!=""
					|| strlen($body)==0)
						break;
				}
				flush();
			}
		}
		$http->Close();
	}
	if(strlen($error)==0)
	{
		echo "<H2><LI>Test saving and restoring cookies...</LI</H2>\n";
		flush();
		$http->SaveCookies($site_cookies);
		if(strlen($error=$http->RestoreCookies($site_cookies, 1))==0)
		{
			$http->SaveCookies($saved_cookies);
			if(strcmp(serialize($saved_cookies), serialize($site_cookies)))
			{
				echo "<H2>FAILED: the saved cookies do not match the restored cookies.</H2>\n";
			}
			else
				echo "<H2>OK: the saved cookies match the restored cookies.</H2>\n";
		}
	}
	if(strlen($error))
		echo "<CENTER><H2>Error: ",$error,"</H2><CENTER>\n";
?>
</UL>
<HR>
</BODY>
</HTML>
