Skip to content

Commit

Permalink
fix ssl option (qicosmos#594)
Browse files Browse the repository at this point in the history
  • Loading branch information
qicosmos authored May 31, 2024
1 parent c2445ea commit bf4199f
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 1 deletion.
7 changes: 6 additions & 1 deletion include/cinatra/coro_http_client.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -294,7 +294,12 @@ class coro_http_client : public std::enable_shared_from_this<coro_http_client> {
bool no_schema = !has_schema(uri);
std::string append_uri;
if (no_schema) {
append_uri.append("http://").append(uri);
#ifdef CINATRA_ENABLE_SSL
if (is_ssl_schema_)
append_uri.append("https://").append(uri);
else
#endif
append_uri.append("http://").append(uri);
}

auto [ok, u] = handle_uri(data, no_schema ? append_uri : uri);
Expand Down
15 changes: 15 additions & 0 deletions tests/test_cinatra.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,21 @@ TEST_CASE("test for gzip") {

#ifdef CINATRA_ENABLE_SSL
TEST_CASE("test ssl client") {
{
coro_http_client client4{};
client4.set_ssl_schema(true);
auto result = client4.get("www.baidu.com");
assert(result.status == 200);

auto lazy = []() -> async_simple::coro::Lazy<void> {
coro_http_client client5{};
client5.set_ssl_schema(true);
co_await client5.connect("www.baidu.com");
auto result = co_await client5.async_get("/");
assert(result.status == 200);
};
async_simple::coro::syncAwait(lazy());
}
{
coro_http_client client{};
auto result = client.get("https://www.bing.com");
Expand Down

0 comments on commit bf4199f

Please sign in to comment.