#pragma once

#include <string>

class PlatformSocketClient
{
public:
	struct Address
	{
		std::string mPrefix;
		std::string mHost;
		unsigned int mPort{8000};
	};

	struct Result
	{
		enum class Status
		{
			OK,
			FAILED
		};

		Status mStatus{ Status::FAILED };
		std::string mErrorMessage;
		int mErrorCode{ -1 };
		std::string mBody;
	};

	virtual Result request(const Address& address, const std::string& message) = 0;
};