#pragma once

#include "PlatformSocketClient.h"
#include "HttpRequest.h"
#include "HttpResponse.h"

#include <memory>

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

    HttpClient();
    HttpResponse makeRequest(const HttpRequest& request, const Address& address);

private:
    std::unique_ptr<PlatformSocketClient> mSocketClient;
};
