From a5fcd2ba0dbecdbfda575db99079b52b442e1035 Mon Sep 17 00:00:00 2001 From: eidheim Date: Mon, 30 Dec 2019 18:53:02 +0100 Subject: [PATCH] Updated examples using start callback --- http_examples.cpp | 12 +++++++----- https_examples.cpp | 15 ++++++++------- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/http_examples.cpp b/http_examples.cpp index 297aeb6..8ad4251 100644 --- a/http_examples.cpp +++ b/http_examples.cpp @@ -205,13 +205,15 @@ int main() { // Note that connection timeouts will also call this handle with ec set to SimpleWeb::errc::operation_canceled }; - thread server_thread([&server]() { + // Start server and receive assigned port when server is listening for requests + promise server_port; + thread server_thread([&server, &server_port]() { // Start server - server.start(); + server.start([&server_port](unsigned short port) { + server_port.set_value(port); + }); }); - - // Wait for server to start so that the client can connect - this_thread::sleep_for(chrono::seconds(1)); + cout << "Server listening on port " << server_port.get_future().get() << endl << endl; // Client examples HttpClient client("localhost:8080"); diff --git a/https_examples.cpp b/https_examples.cpp index a091bcb..1c24f05 100644 --- a/https_examples.cpp +++ b/https_examples.cpp @@ -203,17 +203,18 @@ int main() { // Note that connection timeouts will also call this handle with ec set to SimpleWeb::errc::operation_canceled }; - thread server_thread([&server]() { + // Start server and receive assigned port when server is listening for requests + promise server_port; + thread server_thread([&server, &server_port]() { // Start server - server.start(); + server.start([&server_port](unsigned short port) { + server_port.set_value(port); + }); }); - - // Wait for server to start so that the client can connect - this_thread::sleep_for(chrono::seconds(1)); + cout << "Server listening on port " << server_port.get_future().get() << endl << endl; // Client examples - // Second create() parameter set to false: no certificate verification - HttpsClient client("localhost:8080", false); + HttpsClient client("localhost:8080", false); // Second create() parameter set to false: no certificate verification string json_string = "{\"firstName\": \"John\",\"lastName\": \"Smith\",\"age\": 25}";