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.
Fork of HTTPClient by
Revision 21:725b3b105601, committed 2015-02-10
- Comitter:
- komoritan
- Date:
- Tue Feb 10 12:26:21 2015 +0000
- Parent:
- 20:f020c92bd1a2
- Commit message:
- Debug code
Changed in this revision
HTTPClient.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/HTTPClient.cpp Sat Nov 22 08:54:27 2014 +0000 +++ b/HTTPClient.cpp Tue Feb 10 12:26:21 2015 +0000 @@ -69,7 +69,7 @@ HTTPResult HTTPClient::get(const char* url, IHTTPDataIn* pDataIn, int timeout /*= HTTP_CLIENT_DEFAULT_TIMEOUT*/) //Blocking { - return connect(url, HTTP_GET, NULL, pDataIn, timeout); + return connect(url, HTTP_GET, NULL, pDataIn, HTTP_CLIENT_DEFAULT_TIMEOUT); } HTTPResult HTTPClient::get(const char* url, char* result, size_t maxResultLen, int timeout /*= HTTP_CLIENT_DEFAULT_TIMEOUT*/) //Blocking @@ -103,6 +103,7 @@ do{ \ if(ret) { \ m_sock.close(); \ + printf("Connection error (%d)", ret); \ ERR("Connection error (%d)", ret); \ return HTTP_CONN; \ } \ @@ -111,6 +112,7 @@ #define PRTCL_ERR() \ do{ \ m_sock.close(); \ + printf("Protocol error"); \ ERR("Protocol error"); \ return HTTP_PRTCL; \ } while(0) @@ -134,6 +136,7 @@ HTTPResult res = parseURL(url, scheme, sizeof(scheme), host, sizeof(host), &port, path, sizeof(path)); if(res != HTTP_OK) { + printf("not HTTP_OK"); ERR("parseURL returned %d", res); return res; } @@ -144,29 +147,37 @@ } DBG("Scheme: %s", scheme); - DBG("Host: %s", host); - DBG("Port: %d", port); + printf("Host: %s\n", host); + printf("Port: %d\n", port); DBG("Path: %s", path); //Connect + printf("Connecting socket to server "); DBG("Connecting socket to server"); int ret = m_sock.connect(host, port); if (ret < 0) { m_sock.close(); + printf("not Socket to server"); ERR("Could not connect"); return HTTP_CONN; } //Send request + printf("Sending request "); DBG("Sending request"); char buf[CHUNK_SIZE]; const char* meth = (method==HTTP_GET)?"GET":(method==HTTP_POST)?"POST":(method==HTTP_PUT)?"PUT":(method==HTTP_DELETE)?"DELETE":""; - snprintf(buf, sizeof(buf), "%s %s HTTP/1.1\r\nHost: %s\r\n", meth, path, host); //Write request + + //snprintf(buf, sizeof(buf), "%s %s HTTP/1.1\r\nHost: %s\r\n", meth, path, host); //Write request + snprintf(buf, sizeof(buf), "%s %s HTTP/1.1\r\nHost: %s:%d\r\n", meth, path, host, port); //Write request + + ret = send(buf); if(ret) { m_sock.close(); + printf("Could not write request "); ERR("Could not write request"); return HTTP_CONN; } @@ -174,6 +185,7 @@ //Send all headers //Send default headers + printf("Sending headers"); DBG("Sending headers"); if( pDataOut != NULL ) { @@ -268,8 +280,10 @@ } } } + printf("/* HTTP send1 : %s */", buf); //Receive response + printf(" Receiving response "); DBG("Receiving response"); ret = recv(buf, 1, CHUNK_SIZE - 1, &trfLen); //Read n bytes CHECK_CONN_ERR(ret); @@ -301,6 +315,8 @@ break; } + printf("/HTTP answer1 : %s/", buf); + int crlfPos = crlfPtr - buf; buf[crlfPos] = '\0'; @@ -310,9 +326,11 @@ { buf[13] = '\0'; } + printf("/HTTP answer2 : %s/", buf); if( sscanf(buf, "HTTP/%*d.%*d %d", &m_httpResponseCode) != 1 ) //Kludge for newlib nano { //Cannot match string, error + printf("Not a correct HTTP answer : %s", buf); ERR("Not a correct HTTP answer : %s", buf); PRTCL_ERR(); } @@ -320,12 +338,13 @@ if( (m_httpResponseCode < 200) || (m_httpResponseCode >= 300) ) { //Did not return a 2xx code; TODO fetch headers/(&data?) anyway and implement a mean of writing/reading headers + printf("Response code %d", m_httpResponseCode); WARN("Response code %d", m_httpResponseCode); PRTCL_ERR(); } DBG("Reading headers"); - + printf(" Reading headers "); memmove(buf, &buf[crlfPos+2], trfLen - (crlfPos + 2) + 1); //Be sure to move NULL-terminating char as well trfLen -= (crlfPos + 2); @@ -380,6 +399,10 @@ int n = 0; char* keyEnd = strchr(buf, ':'); + + printf("keyEnd: "); + printf(buf); + printf(" "); if(keyEnd != NULL) { *keyEnd = '\0'; @@ -427,6 +450,7 @@ } else { + printf("Could not parse header"); ERR("Could not parse header"); PRTCL_ERR(); } @@ -434,6 +458,7 @@ } //Receive data + printf("Receiving data"); DBG("Receiving data"); while(true) {