@@ -29,13 +29,14 @@ extern void benchmark_main_channel_passing_next(); | |||
extern void resumable_main_benchmark_asio_server(); | |||
extern void resumable_main_benchmark_asio_client(intptr_t nNum); | |||
extern void test_async_cinatra_client(); | |||
int main(int argc, const char* argv[]) | |||
{ | |||
(void)argc; | |||
(void)argv; | |||
//resumable_main_stop_token(); | |||
//test_async_cinatra_client(); | |||
//return 0; | |||
//if (argc > 1) |
@@ -0,0 +1,58 @@ | |||
//依赖 https://github.com/tearshark/modern_cb 项目 | |||
//依赖 https://github.com/tearshark/librf 项目 | |||
//依赖 https://github.com/qicosmos/cinatra 项目 | |||
#include <iostream> | |||
#include "../../cinatra/include/cinatra.hpp" | |||
#include "librf.h" | |||
#include "use_librf.h" | |||
using namespace resumef; | |||
using namespace cinatra; | |||
void test_async_cinatra_client() | |||
{ | |||
std::string uri = "http://www.baidu.com"; | |||
std::string uri1 = "http://cn.bing.com"; | |||
std::string uri2 = "https://www.baidu.com"; | |||
std::string uri3 = "https://cn.bing.com"; | |||
GO | |||
{ | |||
auto client = cinatra::client_factory::instance().new_client(); | |||
response_data data = co_await client->async_get(uri, use_librf); | |||
print(data.resp_body); | |||
}; | |||
GO | |||
{ | |||
auto client = cinatra::client_factory::instance().new_client(); | |||
response_data data = co_await client->async_get(uri1, use_librf); | |||
print(data.resp_body); | |||
}; | |||
GO | |||
{ | |||
auto client = cinatra::client_factory::instance().new_client(); | |||
response_data data = co_await client->async_post(uri, "hello", use_librf); | |||
print(data.resp_body); | |||
}; | |||
#ifdef CINATRA_ENABLE_SSL | |||
GO | |||
{ | |||
auto client = cinatra::client_factory::instance().new_client(); | |||
response_data data = co_await client->async_get(uri2, use_librf); | |||
print(data.resp_body); | |||
}; | |||
GO | |||
{ | |||
auto client = cinatra::client_factory::instance().new_client(); | |||
response_data data = co_await client->async_get(uri3, use_librf); | |||
print(data.resp_body); | |||
}; | |||
#endif | |||
resumef::this_scheduler()->run_until_notask(); | |||
} |
@@ -1,5 +1,5 @@ | |||
//依赖 https://github.com/tearshark/modern_cb.git 项目 | |||
//依赖 https://github.com/tearshark/librf.git 项目 | |||
//依赖 https://github.com/tearshark/modern_cb 项目 | |||
//依赖 https://github.com/tearshark/librf 项目 | |||
#include <future> | |||
#include <string> |
@@ -205,6 +205,12 @@ | |||
<ClCompile Include="..\tutorial\test_async_cb.cpp" /> | |||
<ClCompile Include="..\tutorial\test_async_channel.cpp" /> | |||
<ClCompile Include="..\tutorial\test_async_channel_mult_thread.cpp" /> | |||
<ClCompile Include="..\tutorial\test_async_cinatra_client.cpp"> | |||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> | |||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> | |||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> | |||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> | |||
</ClCompile> | |||
<ClCompile Include="..\tutorial\test_async_dynamic_go.cpp" /> | |||
<ClCompile Include="..\tutorial\test_async_event.cpp" /> | |||
<ClCompile Include="..\tutorial\test_async_event_timeout.cpp" /> |
@@ -133,6 +133,9 @@ | |||
<ClCompile Include="..\tutorial\test_async_stop_token.cpp"> | |||
<Filter>tutorial</Filter> | |||
</ClCompile> | |||
<ClCompile Include="..\tutorial\test_async_cinatra_client.cpp"> | |||
<Filter>tutorial</Filter> | |||
</ClCompile> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<ClInclude Include="..\librf\librf.h"> |