Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
HttpClientStreamingExample.cpp@0:b6b9d1b95cc7, 2010-05-27 (annotated)
- Committer:
- donatien
- Date:
- Thu May 27 10:16:27 2010 +0000
- Revision:
- 0:b6b9d1b95cc7
- Child:
- 1:0e4f1cc78052
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
donatien | 0:b6b9d1b95cc7 | 1 | #include "mbed.h" |
donatien | 0:b6b9d1b95cc7 | 2 | #include "EthernetNetIf.h" |
donatien | 0:b6b9d1b95cc7 | 3 | #include "HttpClient.h" |
donatien | 0:b6b9d1b95cc7 | 4 | |
donatien | 0:b6b9d1b95cc7 | 5 | EthernetNetIf eth; |
donatien | 0:b6b9d1b95cc7 | 6 | HttpClient http; |
donatien | 0:b6b9d1b95cc7 | 7 | |
donatien | 0:b6b9d1b95cc7 | 8 | HttpResult result; |
donatien | 0:b6b9d1b95cc7 | 9 | bool completed = false; |
donatien | 0:b6b9d1b95cc7 | 10 | void request_callback(HttpResult r) |
donatien | 0:b6b9d1b95cc7 | 11 | { |
donatien | 0:b6b9d1b95cc7 | 12 | result = r; |
donatien | 0:b6b9d1b95cc7 | 13 | printf("\r\n-----Err %d-----\r\n", r); |
donatien | 0:b6b9d1b95cc7 | 14 | completed = true; |
donatien | 0:b6b9d1b95cc7 | 15 | } |
donatien | 0:b6b9d1b95cc7 | 16 | |
donatien | 0:b6b9d1b95cc7 | 17 | Serial pc(USBTX, USBRX); |
donatien | 0:b6b9d1b95cc7 | 18 | |
donatien | 0:b6b9d1b95cc7 | 19 | int main() { |
donatien | 0:b6b9d1b95cc7 | 20 | |
donatien | 0:b6b9d1b95cc7 | 21 | pc.baud(115200); |
donatien | 0:b6b9d1b95cc7 | 22 | |
donatien | 0:b6b9d1b95cc7 | 23 | printf("Start\n"); |
donatien | 0:b6b9d1b95cc7 | 24 | |
donatien | 0:b6b9d1b95cc7 | 25 | printf("\r\nSetting up...\r\n"); |
donatien | 0:b6b9d1b95cc7 | 26 | EthernetErr ethErr = eth.setup(); |
donatien | 0:b6b9d1b95cc7 | 27 | if(ethErr) |
donatien | 0:b6b9d1b95cc7 | 28 | { |
donatien | 0:b6b9d1b95cc7 | 29 | printf("Error %d in setup.\n", ethErr); |
donatien | 0:b6b9d1b95cc7 | 30 | return -1; |
donatien | 0:b6b9d1b95cc7 | 31 | } |
donatien | 0:b6b9d1b95cc7 | 32 | printf("\r\nSetup OK\r\n"); |
donatien | 0:b6b9d1b95cc7 | 33 | |
donatien | 0:b6b9d1b95cc7 | 34 | HttpStream stream; |
donatien | 0:b6b9d1b95cc7 | 35 | |
donatien | 0:b6b9d1b95cc7 | 36 | char BigBuf[1024 + 1] = {0}; |
donatien | 0:b6b9d1b95cc7 | 37 | stream.readNext((byte*)BigBuf, 1024); |
donatien | 0:b6b9d1b95cc7 | 38 | |
donatien | 0:b6b9d1b95cc7 | 39 | HttpResult r = http.get("http://mbed.org/", &stream, request_callback); |
donatien | 0:b6b9d1b95cc7 | 40 | |
donatien | 0:b6b9d1b95cc7 | 41 | while(!completed) |
donatien | 0:b6b9d1b95cc7 | 42 | { |
donatien | 0:b6b9d1b95cc7 | 43 | Net::poll(); |
donatien | 0:b6b9d1b95cc7 | 44 | if(stream.readable()) |
donatien | 0:b6b9d1b95cc7 | 45 | { |
donatien | 0:b6b9d1b95cc7 | 46 | BigBuf[stream.readLen()+1] = 0; |
donatien | 0:b6b9d1b95cc7 | 47 | printf("%s",BigBuf); |
donatien | 0:b6b9d1b95cc7 | 48 | stream.readNext((byte*)BigBuf, 1024); |
donatien | 0:b6b9d1b95cc7 | 49 | } |
donatien | 0:b6b9d1b95cc7 | 50 | } |
donatien | 0:b6b9d1b95cc7 | 51 | printf("\r\n--------------\r\n"); |
donatien | 0:b6b9d1b95cc7 | 52 | if(result == HTTP_OK) |
donatien | 0:b6b9d1b95cc7 | 53 | { |
donatien | 0:b6b9d1b95cc7 | 54 | printf("Read completely\n"); |
donatien | 0:b6b9d1b95cc7 | 55 | } |
donatien | 0:b6b9d1b95cc7 | 56 | else |
donatien | 0:b6b9d1b95cc7 | 57 | { |
donatien | 0:b6b9d1b95cc7 | 58 | printf("Error %d\n", r); |
donatien | 0:b6b9d1b95cc7 | 59 | } |
donatien | 0:b6b9d1b95cc7 | 60 | |
donatien | 0:b6b9d1b95cc7 | 61 | while(1) |
donatien | 0:b6b9d1b95cc7 | 62 | { |
donatien | 0:b6b9d1b95cc7 | 63 | |
donatien | 0:b6b9d1b95cc7 | 64 | } |
donatien | 0:b6b9d1b95cc7 | 65 | |
donatien | 0:b6b9d1b95cc7 | 66 | return 0; |
donatien | 0:b6b9d1b95cc7 | 67 | |
donatien | 0:b6b9d1b95cc7 | 68 | } |