void *SessionThread(void *parm)
{

  	CURL *ctx;
	CURLcode res;
	int sockfd; /* socket */
	size_t iolen;


	curl_global_init( CURL_GLOBAL_ALL ) ;
	ctx = curl_easy_init() ;
	if( NULL == ctx )
	{
	}

	curl_easy_setopt( ctx , CURLOPT_URL,  "http://localhost:4433" ) ;
	curl_easy_setopt( ctx , CURLOPT_INTERFACE,  "127.0.0.1" ) ;
	curl_easy_setopt( ctx , CURLOPT_LOCALPORT, 4434 );
	curl_easy_setopt(ctx, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
	curl_easy_setopt( ctx , CURLOPT_WRITEDATA ,ctx);
	curl_easy_setopt( ctx , CURLOPT_WRITEFUNCTION , write_data );
	curl_easy_setopt(ctx, CURLOPT_HEADERFUNCTION, headercb);


	res = curl_easy_perform(ctx);
	if(CURLE_OK != res)
	{
		printf("\nError: %d::%s\n", res,strerror(res));
        }

	
}

size_t write_data( void *buffer, size_t size, size_t nmemb, void *userp )
{
  int segsize = size * nmemb;

  CURL *ctx = (CURL*)userp;
  printf("\nCurl object address is:%p",ctx);
  CURLcode ret;

  curl_easy_setopt( ctx1 , CURLOPT_READDATA ,ctx);
  curl_easy_setopt( ctx1 , CURLOPT_READFUNCTION , readcb );
  curl_easy_setopt(ctx1, CURLOPT_CUSTOMREQUEST, "GET") ;
  int ret = curl_easy_perform(ctx1);
  if(CURLE_OK != ret)
  {
  }
  return segsize;
}

size_t readcb(void *ptr, size_t size, size_t nitems, void *stream)
{
	printf("\nEntered inside read callback");

	int len = size * nitems;
	return len;
}

size_t headercb(void *ptr, size_t size, size_t nmemb, void *buffer)
{
	printf("\nInside Header");
	int ret = size*nmemb;

	return ret;
}
