Networking stack: HTTP Client Streaming example

Dependencies:   mbed

Revision:
0:b6b9d1b95cc7
Child:
1:0e4f1cc78052
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/HttpClientStreamingExample.cpp	Thu May 27 10:16:27 2010 +0000
@@ -0,0 +1,68 @@
+#include "mbed.h"
+#include "EthernetNetIf.h"
+#include "HttpClient.h"
+
+EthernetNetIf eth; 
+HttpClient http;
+
+HttpResult result;
+bool completed = false;
+void request_callback(HttpResult r)
+{
+  result = r;
+  printf("\r\n-----Err %d-----\r\n", r);
+  completed = true;
+}
+  
+Serial pc(USBTX, USBRX);
+
+int main() {
+
+  pc.baud(115200);
+
+  printf("Start\n");
+
+  printf("\r\nSetting up...\r\n");
+  EthernetErr ethErr = eth.setup();
+  if(ethErr)
+  {
+    printf("Error %d in setup.\n", ethErr);
+    return -1;
+  }
+  printf("\r\nSetup OK\r\n");
+  
+  HttpStream stream;
+  
+  char BigBuf[1024 + 1] = {0};
+  stream.readNext((byte*)BigBuf, 1024);
+  
+  HttpResult r = http.get("http://mbed.org/", &stream, request_callback);
+  
+  while(!completed)
+  {
+    Net::poll();
+    if(stream.readable())
+    {
+      BigBuf[stream.readLen()+1] = 0;
+      printf("%s",BigBuf);
+      stream.readNext((byte*)BigBuf, 1024);
+    }
+  }
+  printf("\r\n--------------\r\n");
+  if(result == HTTP_OK)
+  {
+    printf("Read completely\n"); 
+  }
+  else
+  {
+    printf("Error %d\n", r);
+  }
+  
+  while(1)
+  {
+  
+  }
+  
+  return 0;
+  
+}