1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-12-10 14:46:24 +01:00

Adds lib-network-manager

This commit is contained in:
Dmitry Vedenko
2021-05-25 16:07:23 +03:00
parent 52a835bd61
commit 77cc7bed6f
22 changed files with 2249 additions and 0 deletions

View File

@@ -0,0 +1,49 @@
/*!********************************************************************
Audacity: A Digital Audio Editor
@file IResponse.h
@brief Declare an interface for HTTP response factory.
Dmitry Vedenko
**********************************************************************/
#pragma once
#include <memory>
#include <string>
namespace audacity
{
namespace network_manager
{
class IResponse;
class Request;
using ResponsePtr = std::shared_ptr<IResponse>;
enum class RequestVerb
{
Head,
Get,
Post,
Put,
Delete
};
class IResponseFactory
{
public:
virtual ~IResponseFactory () = default;
virtual void setProxy (const std::string& proxy) = 0;
virtual ResponsePtr performRequest (RequestVerb verb, const Request& request) = 0;
virtual ResponsePtr performRequest (RequestVerb verb, const Request& request, const void* data, size_t size) = 0;
virtual void terminate () = 0;
};
}
}