25#ifndef MYSQLROUTER_HTTP_CLIENT_INCLUDED
26#define MYSQLROUTER_HTTP_CLIENT_INCLUDED
34struct evhttp_connection;
69 const std::string &uri,
72 const std::string &uri,
81 operator bool()
const;
88 std::string error_msg()
const;
109 event_base *ev_base()
const;
123 const std::string &address, uint16_t
port);
129 : io_ctx_{io_ctx}, hostname_{hostname}, port_{
port} {}
140 const std::string &uri);
146 const std::string &uri);
153 operator bool()
const;
160 std::string error_msg()
const;
170 uint16_t
port()
const {
return port_; }
173 virtual std::unique_ptr<HttpClientConnectionBase> make_connection();
179 std::unique_ptr<HttpClientConnectionBase>
conn_;
185 const std::string &address, uint16_t
port)
189 std::unique_ptr<HttpClientConnectionBase> make_connection()
override;
Definition: http_client.h:64
std::unique_ptr< impl > pImpl_
Definition: http_client.h:98
std::error_code socket_errno() const
last socket errno.
Definition: http_client.h:93
std::error_code socket_errno_
Definition: http_client.h:104
~HttpClientConnectionBase()
IOContext & io_ctx_
Definition: http_client.h:102
Definition: http_client.h:113
Definition: http_client.h:126
uint16_t port_
Definition: http_client.h:177
IOContext & io_ctx_
Definition: http_client.h:175
uint16_t port() const
TCP port to connect to.
Definition: http_client.h:170
std::string hostname() const
hostname to connect to.
Definition: http_client.h:165
std::unique_ptr< HttpClientConnectionBase > conn_
Definition: http_client.h:179
const std::string hostname_
Definition: http_client.h:176
HttpClient(IOContext &io_ctx, const std::string &hostname, uint16_t port)
Definition: http_client.h:128
a HTTP request and response.
Definition: http_request.h:452
Definition: http_client.h:120
Definition: http_client.h:182
TlsClientContext tls_ctx_
Definition: http_client.h:191
HttpsClient(IOContext &io_ctx, TlsClientContext &&tls_ctx, const std::string &address, uint16_t port)
Definition: http_client.h:184
IO Context for network operations.
Definition: http_client.h:42
std::unique_ptr< impl > pImpl_
Definition: http_client.h:58
Client TLS Context.
Definition: tls_client_context.h:42
#define HTTP_CLIENT_EXPORT
Definition: http_client_export.h:39
int type
Definition: http_request.h:252
Definition: authentication.cc:35
static bool timeout(bool(*wait_condition)())
Timeout function.
Definition: log0meb.cc:497
auto dispatch(CompletionToken &&token)
Definition: executor.h:717
Definition: varlen_sort.h:183
required uint64 port
Definition: replication_asynchronous_connection_failover.proto:32
double seconds()
Definition: task.cc:309