gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r11594 - gnunet/src/transport


From: gnunet
Subject: [GNUnet-SVN] r11594 - gnunet/src/transport
Date: Tue, 1 Jun 2010 17:20:13 +0200

Author: wachs
Date: 2010-06-01 17:20:13 +0200 (Tue, 01 Jun 2010)
New Revision: 11594

Modified:
   gnunet/src/transport/test_plugin_transport_http.c
Log:


Modified: gnunet/src/transport/test_plugin_transport_http.c
===================================================================
--- gnunet/src/transport/test_plugin_transport_http.c   2010-06-01 14:49:19 UTC 
(rev 11593)
+++ gnunet/src/transport/test_plugin_transport_http.c   2010-06-01 15:20:13 UTC 
(rev 11594)
@@ -168,6 +168,15 @@
    */
   size_t data_size;
 
+  unsigned char buf[2048];
+
+  /**
+   * amount of bytes we recieved
+   */
+  size_t pos;
+
+  size_t size;
+
 };
 
 struct Plugin_Address * addr_head;
@@ -353,25 +362,34 @@
 
 static size_t copyBuffer (void *ptr, size_t size, size_t nmemb, void *ctx)
 {
-  struct HTTP_Message *cbc = ctx;
+  struct HTTP_Transfer * res = (struct HTTP_Transfer *) ctx;
 
-  if (cbc->pos + size * nmemb > cbc->size)
+  res->data_size = size * nmemb;
+
+  if (res->pos + size * nmemb > res->size)
     return 0;                   /* overflow */
-  memcpy (&cbc->buf[cbc->pos], ptr, size * nmemb);
-  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,"Send completed. %s\n",cbc->buf);
-  cbc->pos += size * nmemb;
+  memcpy (&res->buf[res->pos], ptr, size * nmemb);
+  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,"Send completed. %s\n",res->buf);
+  res->pos += size * nmemb;
   return size * nmemb;
 }
 
 static size_t header_function( void *ptr, size_t size, size_t nmemb, void 
*stream)
 {
+  struct HTTP_Transfer * res = (struct HTTP_Transfer *) stream;
   char * tmp;
   unsigned int len = size * nmemb;
+
   tmp = GNUNET_malloc (  len+1 );
   memcpy(tmp,ptr,len);
-  //if (tmp[len-1]!='\0')
-  //  tmp[len]= '\0';
-  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Header: %u :`%s'\n",len,tmp);
+  if (tmp[len-2] == 13)
+    tmp[len-2]= '\0';
+  if (0==strcmp (tmp,"HTTP/1.1 404 Not Found"))
+    {
+    GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "404\n");
+    res->http_result_code=404;
+    }
+
   GNUNET_free (tmp);
   return size * nmemb;
 }
@@ -526,7 +544,7 @@
   curl_easy_setopt (curl_handle, CURLOPT_HEADERFUNCTION, &header_function);
   curl_easy_setopt (curl_handle, CURLOPT_WRITEHEADER, result);
   curl_easy_setopt (curl_handle, CURLOPT_WRITEFUNCTION, &copyBuffer);
-  curl_easy_setopt (curl_handle, CURLOPT_WRITEDATA, msg);
+  curl_easy_setopt (curl_handle, CURLOPT_WRITEDATA, result);
   curl_easy_setopt (curl_handle, CURLOPT_READFUNCTION, &putBuffer);
   curl_easy_setopt (curl_handle, CURLOPT_READDATA, msg);
   curl_easy_setopt(curl_handle, CURLOPT_INFILESIZE_LARGE, (curl_off_t) 
msg->len);
@@ -808,8 +826,8 @@
   msg->size = 2048;
   msg->pos = 0;
   msg->buf = GNUNET_malloc (2048);
+  no_ident.size=2048;
 
-
   res = send_data (msg, &no_ident, "http://localhost:12389/";);
 
   /* testing finished, shutting down */




reply via email to

[Prev in Thread] Current Thread [Next in Thread]