| 
    curl-cpp
    
   static c++17 wrapper for curl with -fno-exceptions support 
   | 
 
 
 
  
  
 
    1 #ifndef  __curl_cpp_curl_easy_HPP__ 
    2 # define __curl_cpp_curl_easy_HPP__ 
    9 # include "utils/curl_slist.hpp" 
   11 # include <curl/curl.h> 
   55     char *curl_easy = 
nullptr;
 
   67         const long error_code;
 
   69         Exception(
long err_code_arg);
 
   72         auto what() 
const noexcept -> 
const char*;
 
  103     void set_verbose(FILE *stderr_stream_arg) 
noexcept;
 
  145     using writeback_t = std::size_t (*)(
char *buffer, std::size_t _, std::size_t size, 
void *userp);
 
  150     void set_writeback(writeback_t writeback, 
void *userp) 
noexcept;
 
  161     auto set_url(
const char *url) 
noexcept -> Ret_except<
void, std::bad_alloc>;
 
  215     auto set_cookie(
const char *cookies) 
noexcept ->
 
  420     auto set_useragent(
const char *useragent) 
noexcept -> Ret_except<
void, std::bad_alloc>;
 
  426     auto set_encoding(
const char *encoding) 
noexcept -> Ret_except<
void, std::bad_alloc>;
 
  432     auto set_interface(
const char *value) 
noexcept -> Ret_except<
void, std::bad_alloc>;
 
  439     auto set_ip_addr_only(
const char *ip_addr) 
noexcept -> Ret_except<
void, std::bad_alloc>;
 
  518     void request_post(
const void *data, std::size_t len) 
noexcept;
 
  539     using readback_t = std::size_t (*)(
char *buffer, std::size_t size, std::size_t nitems, 
void *userp);
 
  545     void request_post(readback_t readback, 
void *userp, std::size_t len = -1) 
noexcept;
 
  553         unsupported_protocol,
 
  555         cannot_resolve_proxy,
 
  558         remote_access_denied,
 
  564         ssl_pinned_pubkey_mismatch,
 
  566     using perform_ret_t = Ret_except<
code, std::bad_alloc, std::invalid_argument, std::length_error,
 
  570     auto perform() 
noexcept -> perform_ret_t;
 
  638     long get_response_code() 
const noexcept;
 
  728     template <
class String>
 
  731         set_writeback([](
char *buffer, std::size_t _, std::size_t size, 
void *ptr) {
 
  732             auto &response = *
static_cast<String*>(ptr);
 
  733             response.append(buffer, buffer + size);
 
  744     template <
class String, 
class size_type>
 
  747         set_writeback([](
char *buffer, std::size_t _, std::size_t size, 
void *ptr) {
 
  748             auto &args = *
static_cast<std::pair<String, size_type>*>(ptr);
 
  749             auto &response = args.first;
 
  750             auto &requested_len = args.second;
 
  752             auto str_size = response.size();
 
  753             if (str_size < requested_len)
 
  754                 response.append(buffer, buffer + std::min(size, requested_len - str_size));
 
  788     static auto check_perform(
long code, 
const char *fname) 
noexcept -> perform_ret_t;
 
 
auto set_url(const char *url) noexcept -> Ret_except< void, std::bad_alloc >
 
auto erase_all_session_cookies_in_mem() noexcept -> Ret_except< void, std::bad_alloc, curl::NotBuiltIn_error >
 
auto set_cookielist(const char *cookie) noexcept -> Ret_except< void, std::bad_alloc, curl::NotBuiltIn_error >
 
void setup_establish_connection_only() noexcept
 
void set_verbose(FILE *stderr_stream_arg) noexcept
 
auto set_useragent(const char *useragent) noexcept -> Ret_except< void, std::bad_alloc >
 
auto reload_cookies_from_file() noexcept -> Ret_except< void, std::bad_alloc, curl::NotBuiltIn_error >
 
auto getinfo_effective_url() const noexcept -> const char *
 
void set_follow_location(long redir) noexcept
 
auto set_cookie(const char *cookies) noexcept -> Ret_except< void, std::bad_alloc, curl::NotBuiltIn_error >
 
std::size_t getinfo_sizeof_uploaded() const noexcept
 
auto set_ip_addr_only(const char *ip_addr) noexcept -> Ret_except< void, std::bad_alloc >
 
auto getinfo_redirect_url() const noexcept -> const char *
 
void request_get() noexcept
 
static std::size_t get_error_buffer_size() noexcept
 
void request_post(const void *data, std::size_t len) noexcept
 
auto set_encoding(const char *encoding) noexcept -> Ret_except< void, std::bad_alloc >
 
auto set_read_writeback(std::pair< String, size_type > &arg) noexcept
 
auto flush_cookies_to_jar() noexcept -> Ret_except< void, std::bad_alloc, curl::NotBuiltIn_error >
 
auto set_pause(PauseOptions option) noexcept -> Ret_except< code, std::bad_alloc, Exception >
 
auto erase_all_cookies_in_mem() noexcept -> Ret_except< void, std::bad_alloc, curl::NotBuiltIn_error >
 
auto set_interface(const char *value) noexcept -> Ret_except< void, std::bad_alloc >
 
std::size_t getinfo_transfer_time() const noexcept
 
auto getinfo_cookie_list() const noexcept -> Ret_except< utils::slist, curl::NotBuiltIn_error >
 
auto pin_publickey(const char *pubkey) -> Ret_except< void, std::bad_alloc, curl::NotBuiltIn_error >
 
void set_private(void *userp) noexcept
 
auto set_cookiefile(const char *cookie_filename) noexcept -> Ret_except< void, curl::NotBuiltIn_error >
 
void set_url(const Url_ref_t &url) noexcept
 
void set_timeout(unsigned long timeout) noexcept
 
void set_writeback(writeback_t writeback, void *userp) noexcept
 
void request_post(readback_t readback, void *userp, std::size_t len=-1) noexcept
 
std::size_t getinfo_sizeof_response_header() const noexcept
 
void start_new_cookie_session() noexcept
 
void set_nobody(bool enable) noexcept
 
auto set_readall_writeback(String &response) noexcept
 
auto set_cookiejar(const char *cookie_filename) noexcept -> Ret_except< void, std::bad_alloc, curl::NotBuiltIn_error >
 
std::size_t getinfo_sizeof_response_body() const noexcept
 
auto get_active_socket() const noexcept -> curl_socket_t
 
void set_error_buffer(char *error_buffer) noexcept
 
void set_http_header(const utils::slist &l, header_option option=header_option::unspecified) noexcept
 
void * get_private() const noexcept
 
std::size_t getinfo_sizeof_request() const noexcept