#include "test.h"

int test( char *URL ) {
	CURL *curl;
	CURLcode res = CURLE_OK;

	curl = curl_easy_init();
	if ( curl ) {
		/* First set the URL that is about to receive our POST. */
		curl_easy_setopt( curl, CURLOPT_URL, URL );

		/* Based on a bug report by Niels van Tongeren on June 29, 2004:

		A weird situation occurs when request 1 is a POST request and the request
		2 is a HEAD request. For the POST request we set the CURLOPT_POSTFIELDS,
		CURLOPT_POSTFIELDSIZE and CURLOPT_POST options. For the HEAD request we
		set the CURLOPT_NOBODY option to '1'.

		*/

		curl_easy_setopt( curl, CURLOPT_POSTFIELDS, "moo" );
		curl_easy_setopt( curl, CURLOPT_POSTFIELDSIZE, 3 );
		curl_easy_setopt( curl, CURLOPT_POST, 1 );

		/* this is where transfer 1 would take place, but skip that and change
		   options right away instead */

		curl_easy_setopt( curl, CURLOPT_NOBODY, 1 );

		curl_easy_setopt( curl, CURLOPT_VERBOSE, 1 ); /* show verbose for debug */
		curl_easy_setopt( curl, CURLOPT_HEADER, 1 ); /* include header */

		/* Now, we should be making a fine HEAD request */

		/* Perform the request 2, res will get the return code */
		res = curl_easy_perform( curl );

		/* always cleanup */
		curl_easy_cleanup( curl );
	}
	return (int)res;
}
