Add win socket client and server.
This commit is contained in:
parent
426ea55b3b
commit
4d2464c1f5
45 changed files with 1167 additions and 246 deletions
48
src/base/network/client/HttpClient.cpp
Normal file
48
src/base/network/client/HttpClient.cpp
Normal file
|
@ -0,0 +1,48 @@
|
|||
#include "HttpClient.h"
|
||||
|
||||
#include "FileLogger.h"
|
||||
|
||||
#ifdef _WIN32
|
||||
#include "WinsockClient.h"
|
||||
#else
|
||||
#include "UnixSocketClient.h"
|
||||
#endif
|
||||
|
||||
HttpClient::HttpClient()
|
||||
{
|
||||
#ifdef _WIN32
|
||||
mSocketClient = std::make_unique<WinsockClient>();
|
||||
#else
|
||||
mSocketClient = std::make_unique<UnixSocketClient>();
|
||||
#endif
|
||||
}
|
||||
|
||||
HttpResponse HttpClient::makeRequest(const HttpRequest& request, const Address& address)
|
||||
{
|
||||
PlatformSocketClient::Address socket_address;
|
||||
socket_address.mHost = address.mHost;
|
||||
socket_address.mPort = address.mPort;
|
||||
socket_address.mPrefix = address.mPrefix;
|
||||
|
||||
const auto message = request.toString(address.mHost);
|
||||
|
||||
MLOG_INFO("Output http request: " << message);
|
||||
|
||||
auto socket_response = mSocketClient->request(socket_address, message);
|
||||
|
||||
HttpResponse response;
|
||||
if (socket_response.mStatus == PlatformSocketClient::Result::Status::OK)
|
||||
{
|
||||
response.fromMessage(socket_response.mBody);
|
||||
}
|
||||
else
|
||||
{
|
||||
MLOG_ERROR("Http request client error: " << socket_response.mErrorMessage << " | with code: " << socket_response.mErrorCode);
|
||||
|
||||
HttpResponse::ClientError error;
|
||||
error.mMessage = socket_response.mErrorMessage;
|
||||
error.mCode = socket_response.mErrorCode;
|
||||
response.setClientError(error);
|
||||
}
|
||||
return response;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue