= curl_wrapper :toc: preamble :project: curl_wrapper :uri-base: https://schlomp.space/tastytea/{project} :uri-cmake: https://cmake.org/ :uri-libcurl: https://curl.haxx.se/libcurl/ :uri-catch: https://github.com/catchorg/Catch2 :uri-doxygen: http://www.doxygen.nl/ :uri-git-subtree: https://manpages.debian.org/testing/git-man/git-subtree.1.en.html Light libcurl wrapper for when you need to GET a website with minimum effort. This is _not_ supposed to be a package on its own, but a thing you drop into your project. I made this because the curl wrapper I used before is no longer maintained and the other wrappers are either incomplete or unmaintained as well. _I do not guarantee anything, use at your own risk._ URL: <{uri-base}>. == Example program [source,cpp] -------------------------------------------------------------------------------- #include "curl_wrapper.hpp" #include namespace cw = curl_wrapper; int main() { cw::CURLWrapper curl; const auto answer{curl.make_http_request(cw::http_method::GET, "http://example.com/")}; if (answer) { std::cout << answer; } } -------------------------------------------------------------------------------- == Use with CMake Drop this project into a subfolder in your project tree. It will be compiled as a static library. [source,cmake] -------------------------------------------------------------------------------- add_subdirectory(curl_wrapper) add_executable(test) target_link_libraries(test PRIVATE curl_wrapper) -------------------------------------------------------------------------------- .CMake options: * `-DWITH_CURL_WRAPPER_TESTS=YES` Compiles the tests. * `-DWITH_CURL_WRAPPER_DOC=YES` Generate API reference. == Add with `git subtree` Replace `src/curl_wrapper` with the path you want it to be in. Consult link:{uri-git-subtree}[git-subtree(1)] for more information. [source,shell] -------------------------------------------------------------------------------- git remote add curl_wrapper https://schlomp.space/tastytea/curl_wrapper.git git subtree add --prefix=src/curl_wrapper curl_wrapper main --squash -------------------------------------------------------------------------------- === Update subtree [source,shell] -------------------------------------------------------------------------------- git subtree pull --prefix=src/curl_wrapper curl_wrapper main --squash -------------------------------------------------------------------------------- == Dependencies * C++17 * link:{uri-cmake}[CMake] >= 3.9 * link:{uri-libcurl}[libcurl] >= 7.52 * Optional: ** Tests: link:{uri-catch}[Catch] >= 1.2 ** Documentation: link:{uri-doxygen}[Doxygen] >= 1.8