29#include <boost/optional/optional.hpp>
39 static constexpr const char hexVals[16] = {
'0',
'1',
'2',
'3',
'4',
'5',
'6',
'7',
'8',
'9',
'A',
'B',
'C',
'D',
'E',
'F'};
46 static constexpr const char unsave_chars[] =
"\"<>%\\^[]`+$,@:;!#&";
50 bool is_unsafe(
unsigned char compare_char);
70 virtual bool connect(std::chrono::milliseconds timeout) = 0;
73 virtual bool invoke(
const boost::string_ref
uri,
const boost::string_ref method,
const boost::string_ref body, std::chrono::milliseconds timeout,
const http_response_info** ppresponse_info = NULL,
const fields_list& additional_params =
fields_list()) = 0;
84 virtual std::unique_ptr<abstract_http_client>
create() = 0;
#define s(x, c)
Definition aesb.c:47
virtual bool connect(std::chrono::milliseconds timeout)=0
virtual bool disconnect()=0
virtual bool invoke_post(const boost::string_ref uri, const std::string &body, std::chrono::milliseconds timeout, const http_response_info **ppresponse_info=NULL, const fields_list &additional_params=fields_list())=0
virtual uint64_t get_bytes_sent() const =0
abstract_http_client()
Definition abstract_http_client.h:64
virtual bool invoke(const boost::string_ref uri, const boost::string_ref method, const boost::string_ref body, std::chrono::milliseconds timeout, const http_response_info **ppresponse_info=NULL, const fields_list &additional_params=fields_list())=0
bool set_server(const std::string &address, boost::optional< login > user, ssl_options_t ssl_options=ssl_support_t::e_ssl_support_autodetect)
Definition abstract_http_client.cpp:134
virtual void set_auto_connect(bool auto_connect)=0
virtual ~abstract_http_client()
Definition abstract_http_client.h:65
virtual bool set_proxy(const std::string &address)
Definition abstract_http_client.cpp:150
virtual bool is_connected(bool *ssl=NULL)=0
virtual void set_server(std::string host, std::string port, boost::optional< login > user, ssl_options_t ssl_options=ssl_support_t::e_ssl_support_autodetect)=0
virtual bool invoke_get(const boost::string_ref uri, std::chrono::milliseconds timeout, const std::string &body=std::string(), const http_response_info **ppresponse_info=NULL, const fields_list &additional_params=fields_list())=0
virtual uint64_t get_bytes_received() const =0
Definition abstract_http_client.h:81
virtual std::unique_ptr< abstract_http_client > create()=0
virtual ~http_client_factory()
Definition abstract_http_client.h:83
uint32_t address
Definition getifaddr.c:269
Definition abstract_http_client.h:60
std::list< std::pair< std::string, std::string > > fields_list
Definition http_base.h:67
Definition abstract_http_client.h:36
std::string convert(char val)
Definition abstract_http_client.cpp:75
std::string conver_to_url_format(const std::string &uri)
Definition abstract_http_client.cpp:83
std::string convert_to_url_format_force_all(const std::string &uri)
Definition abstract_http_client.cpp:120
std::string convert_from_url_format(const std::string &uri)
Definition abstract_http_client.cpp:100
std::string dec_to_hex(char num, int radix)
Definition abstract_http_client.cpp:29
std::string hex_to_dec_2bytes(const char *s)
Definition abstract_http_client.cpp:65
const char * get_hex_vals()
Definition abstract_http_client.h:37
int get_index(const char *s, char c)
Definition abstract_http_client.cpp:59
const char * get_unsave_chars()
Definition abstract_http_client.h:43
bool is_unsafe(unsigned char compare_char)
Definition abstract_http_client.cpp:15
@ e_ssl_support_autodetect
Definition net_ssl.h:52
TODO: (mj-xmr) This will be reduced in an another PR.
Definition byte_slice.h:40
unsigned __int64 uint64_t
Definition stdint.h:136
Definition http_base.h:164