Handle both HTTP & HTTPS in HttpClientSession; remove macro WEBCC_ENABLE_SSL.
parent
9b8304f06c
commit
ffa0794926
@ -1,15 +1,2 @@
|
||||
set(LIBS webcc jsoncpp ${Boost_LIBRARIES} "${CMAKE_THREAD_LIBS_INIT}")
|
||||
|
||||
set(LIBS ${LIBS} ${OPENSSL_LIBRARIES})
|
||||
if(WIN32)
|
||||
set(LIBS ${LIBS} crypt32)
|
||||
endif()
|
||||
|
||||
if(UNIX)
|
||||
# Add `-ldl` for Linux to avoid "undefined reference to `dlopen'".
|
||||
set(LIBS ${LIBS} ${CMAKE_DL_LIBS})
|
||||
endif()
|
||||
|
||||
add_executable(github_rest_client main.cc)
|
||||
|
||||
target_link_libraries(github_rest_client ${LIBS})
|
||||
target_link_libraries(github_rest_client ${EXAMPLE_COMMON_LIBS} jsoncpp)
|
||||
|
@ -1,4 +1,2 @@
|
||||
add_executable(http_client main.cc)
|
||||
|
||||
target_link_libraries(http_client webcc ${Boost_LIBRARIES})
|
||||
target_link_libraries(http_client "${CMAKE_THREAD_LIBS_INIT}")
|
||||
target_link_libraries(http_client ${EXAMPLE_COMMON_LIBS})
|
||||
|
@ -1,10 +1,2 @@
|
||||
add_executable(http_ssl_client main.cc)
|
||||
|
||||
set(SSL_LIBS ${OPENSSL_LIBRARIES})
|
||||
if(WIN32)
|
||||
set(SSL_LIBS ${SSL_LIBS} crypt32)
|
||||
endif()
|
||||
|
||||
target_link_libraries(http_ssl_client webcc ${Boost_LIBRARIES})
|
||||
target_link_libraries(http_ssl_client "${CMAKE_THREAD_LIBS_INIT}")
|
||||
target_link_libraries(http_ssl_client ${SSL_LIBS})
|
||||
target_link_libraries(http_ssl_client ${EXAMPLE_COMMON_LIBS})
|
||||
|
@ -0,0 +1,83 @@
|
||||
#include "gtest/gtest.h"
|
||||
|
||||
#include "webcc/url.h"
|
||||
|
||||
TEST(Url, Basic) {
|
||||
webcc::Url url("http://example.com/path", false);
|
||||
|
||||
EXPECT_EQ("http", url.scheme());
|
||||
EXPECT_EQ("example.com", url.host());
|
||||
EXPECT_EQ("", url.port());
|
||||
EXPECT_EQ("path", url.path());
|
||||
EXPECT_EQ("", url.query());
|
||||
}
|
||||
|
||||
TEST(Url, NoPath) {
|
||||
webcc::Url url("http://example.com", false);
|
||||
|
||||
EXPECT_EQ("http", url.scheme());
|
||||
EXPECT_EQ("example.com", url.host());
|
||||
EXPECT_EQ("", url.port());
|
||||
EXPECT_EQ("", url.path());
|
||||
EXPECT_EQ("", url.query());
|
||||
}
|
||||
|
||||
TEST(Url, NoPath2) {
|
||||
webcc::Url url("http://example.com/", false);
|
||||
|
||||
EXPECT_EQ("http", url.scheme());
|
||||
EXPECT_EQ("example.com", url.host());
|
||||
EXPECT_EQ("", url.port());
|
||||
EXPECT_EQ("", url.path());
|
||||
EXPECT_EQ("", url.query());
|
||||
}
|
||||
|
||||
TEST(Url, NoPath3) {
|
||||
webcc::Url url("http://example.com?key=value", false);
|
||||
|
||||
EXPECT_EQ("http", url.scheme());
|
||||
EXPECT_EQ("example.com", url.host());
|
||||
EXPECT_EQ("", url.port());
|
||||
EXPECT_EQ("", url.path());
|
||||
EXPECT_EQ("key=value", url.query());
|
||||
}
|
||||
|
||||
TEST(Url, NoPath4) {
|
||||
webcc::Url url("http://example.com/?key=value", false);
|
||||
|
||||
EXPECT_EQ("http", url.scheme());
|
||||
EXPECT_EQ("example.com", url.host());
|
||||
EXPECT_EQ("", url.port());
|
||||
EXPECT_EQ("", url.path());
|
||||
EXPECT_EQ("key=value", url.query());
|
||||
}
|
||||
|
||||
TEST(Url, NoScheme) {
|
||||
webcc::Url url("/path/to", false);
|
||||
|
||||
EXPECT_EQ("", url.scheme());
|
||||
EXPECT_EQ("", url.host());
|
||||
EXPECT_EQ("", url.port());
|
||||
EXPECT_EQ("path/to", url.path());
|
||||
EXPECT_EQ("", url.query());
|
||||
}
|
||||
|
||||
TEST(Url, NoScheme2) {
|
||||
webcc::Url url("/path/to?key=value", false);
|
||||
|
||||
EXPECT_EQ("", url.scheme());
|
||||
EXPECT_EQ("", url.host());
|
||||
EXPECT_EQ("", url.port());
|
||||
EXPECT_EQ("path/to", url.path());
|
||||
EXPECT_EQ("key=value", url.query());
|
||||
}
|
||||
|
||||
TEST(Url, Full) {
|
||||
webcc::Url url("https://localhost:3000/path/to?key=value", false);
|
||||
|
||||
EXPECT_EQ("https", url.scheme());
|
||||
EXPECT_EQ("localhost", url.host());
|
||||
EXPECT_EQ("3000", url.port());
|
||||
EXPECT_EQ("path/to", url.path());
|
||||
EXPECT_EQ("key=value", url.query());
|
||||
}
|
Loading…
Reference in New Issue