Program Listing for File PocoApiClient.h
↰ Return to documentation for file (axr.sdk/net/PocoApiClient.h
)
// Copyright (C) AcceleratXR, Inc. All rights reserved.
//
// Author: Jean-Philippe Steinmetz <info@acceleratxr.com>
//
// NOTE: This file was auto generated by the AcceleratXR code generator.
// https://gitlab.com/AcceleratXR/Core/code_generator.git
#pragma once
#ifdef USE_POCO
#include "IApiClient.h"
#include "../Configuration.h"
#include "../Exception.h"
#include "../Variant.h"
#include "IHttpBody.h"
#include "HttpContent.h"
#include <memory>
#include <vector>
#include <cpprest/details/basic_types.h>
#include <Poco/Net/Context.h>
#include <Poco/Net/HttpClientSession.h>
namespace axr {
namespace sdk {
namespace net {
class PocoApiClient : public IApiClient
{
public:
PocoApiClient(std::shared_ptr<Configuration> configuration);
virtual ~PocoApiClient();
std::shared_ptr<Configuration> GetConfiguration() const;
void SetConfiguration(std::shared_ptr<Configuration> configuration);
virtual pplx::task<utility::string_t> Send(
const utility::string_t& path,
const HttpMethod method,
const std::map<utility::string_t, utility::string_t>& queryParams,
const std::shared_ptr<IHttpBody> postBody,
const std::map<utility::string_t, utility::string_t>& headerParams,
const utility::string_t& contentType
) override;
virtual pplx::task<utility::string_t> SendForm(
const utility::string_t& path,
const HttpMethod method,
const std::map<utility::string_t, utility::string_t>& formParams,
const std::map<utility::string_t, utility::string_t>& queryParams,
const std::map<utility::string_t, utility::string_t>& headerParams
) override;
virtual pplx::task<utility::string_t> SendFile(
const utility::string_t& path,
const HttpMethod method,
const std::map<utility::string_t, std::shared_ptr<HttpContent>>& fileParams,
const std::map<utility::string_t, utility::string_t>& queryParams,
const std::map<utility::string_t, utility::string_t>& headerParams,
const utility::string_t& contentType
) override;
virtual pplx::task<void> Delete(const utility::string_t& path, const std::map<utility::string_t, utility::string_t>& queryParams, const std::map<utility::string_t, utility::string_t>& headerParams) override;
virtual pplx::task<Variant> Get(const utility::string_t& path, const std::map<utility::string_t, utility::string_t>& queryParams, const std::map<utility::string_t, utility::string_t>& headerParams) override;
virtual pplx::task<std::uint64_t> Head(const utility::string_t& path, const std::map<utility::string_t, utility::string_t>& queryParams, const std::map<utility::string_t, utility::string_t>& headerParams) override;
virtual pplx::task<Variant> Post(const utility::string_t& path, const Variant& json, const std::map<utility::string_t, utility::string_t>& headerParams) override;
virtual pplx::task<Variant> Put(const utility::string_t& path, const Variant& json, const std::map<utility::string_t, utility::string_t>& headerParams) override;
protected:
std::shared_ptr<Configuration> m_Configuration;
Poco::Net::Context::Ptr m_Context;
std::shared_ptr<Poco::Net::HTTPClientSession> m_Session;
};
} // namespace net
} // namespace axr
} // namespace sdk
#endif // USE_POCO