|
|
|
#include "webcc/http_client.h"
|
|
|
|
|
|
|
|
#include "boost/asio/connect.hpp"
|
|
|
|
#include "boost/asio/read.hpp"
|
|
|
|
#include "boost/asio/write.hpp"
|
|
|
|
|
|
|
|
namespace webcc {
|
|
|
|
|
|
|
|
HttpClient::HttpClient(std::size_t buffer_size)
|
|
|
|
: HttpClientBase(buffer_size), socket_(io_context_) {
|
|
|
|
}
|
|
|
|
|
|
|
|
void HttpClient::SocketConnect(const Endpoints& endpoints,
|
|
|
|
boost::system::error_code* ec) {
|
|
|
|
boost::asio::connect(socket_, endpoints, *ec);
|
|
|
|
}
|
|
|
|
|
|
|
|
void HttpClient::SocketWrite(const HttpRequest& request,
|
|
|
|
boost::system::error_code* ec) {
|
|
|
|
boost::asio::write(socket_, request.ToBuffers(), *ec);
|
|
|
|
}
|
|
|
|
|
|
|
|
void HttpClient::SocketAsyncReadSome(ReadHandler&& handler) {
|
|
|
|
socket_.async_read_some(boost::asio::buffer(buffer_), std::move(handler));
|
|
|
|
}
|
|
|
|
|
|
|
|
void HttpClient::SocketClose(boost::system::error_code* ec) {
|
|
|
|
socket_.close(*ec);
|
|
|
|
}
|
|
|
|
|
|
|
|
} // namespace webcc
|