yoshi kuwae yoshi
/
http-example
a
Fork of http-example by
Diff: source/main-https.cpp
- Revision:
- 5:42f713b19337
- Parent:
- 4:27fd8efb5bab
- Child:
- 7:5d32909f77de
--- a/source/main-https.cpp Thu Feb 23 12:36:59 2017 +0100 +++ b/source/main-https.cpp Thu Feb 23 13:58:24 2017 +0100 @@ -67,7 +67,7 @@ for (size_t ix = 0; ix < res->get_headers_length(); ix++) { mbedtls_printf("\t%s: %s\n", res->get_headers_fields()[ix].c_str(), res->get_headers_values()[ix].c_str()); } - mbedtls_printf("\nBody:\n\n%s\n", res->get_body().c_str()); + mbedtls_printf("\nBody (%d bytes):\n\n%s\n", res->get_body_length(), res->get_body_as_string().c_str()); } int main() { @@ -78,42 +78,46 @@ return 1; } - printf("\n----- HTTPS GET request -----\n"); + // GET request to developer.mbed.org + { + printf("\n----- HTTPS GET request -----\n"); - // @todo: when I declare this on the stack we hard fault (run out of memory??) - HttpsRequest* get_req = new HttpsRequest(network, SSL_CA_PEM, HTTP_GET, "https://developer.mbed.org/media/uploads/mbed_official/hello.txt"); - get_req->set_debug(true); + HttpsRequest* get_req = new HttpsRequest(network, SSL_CA_PEM, HTTP_GET, "https://developer.mbed.org/media/uploads/mbed_official/hello.txt"); + get_req->set_debug(true); - HttpResponse* get_res = get_req->send(); - if (!get_res) { - printf("HttpRequest failed (error code %d)\n", get_req->get_error()); - return 1; + HttpResponse* get_res = get_req->send(); + if (!get_res) { + printf("HttpRequest failed (error code %d)\n", get_req->get_error()); + return 1; + } + printf("\n----- HTTPS GET response -----\n"); + dump_response(get_res); + + delete get_req; } - printf("\n----- HTTPS GET response -----\n"); - dump_response(get_res); - - delete get_req; // POST request to httpbin.org - printf("\n----- HTTPS POST request -----\n"); + { + printf("\n----- HTTPS POST request -----\n"); - HttpsRequest* post_req = new HttpsRequest(network, SSL_CA_PEM, HTTP_POST, "https://httpbin.org/post"); - post_req->set_debug(true); - post_req->set_header("Content-Type", "application/json"); + HttpsRequest* post_req = new HttpsRequest(network, SSL_CA_PEM, HTTP_POST, "https://httpbin.org/post"); + post_req->set_debug(true); + post_req->set_header("Content-Type", "application/json"); - const char body[] = "{\"hello\":\"world\"}"; + const char body[] = "{\"hello\":\"world\"}"; - HttpResponse* post_res = post_req->send(body, strlen(body)); - if (!post_res) { - printf("HttpRequest failed (error code %d)\n", post_req->get_error()); - return 1; + HttpResponse* post_res = post_req->send(body, strlen(body)); + if (!post_res) { + printf("HttpRequest failed (error code %d)\n", post_req->get_error()); + return 1; + } + + printf("\n----- HTTPS POST response -----\n"); + dump_response(post_res); + + delete post_req; } - printf("\n----- HTTP POST response -----\n"); - dump_response(post_res); - - delete post_req; - Thread::wait(osWaitForever); }