10Duke Scale C++ Client
Loading...
Searching...
No Matches
DefaultDescribeLicenseConsumerLicenseesRequest.h
1#ifndef TENDUKE_SE_LICENSING_REST_DEFAULTDESCRIBELICENSECONSUMERLICENSEESREQUEST_H
2#define TENDUKE_SE_LICENSING_REST_DEFAULTDESCRIBELICENSECONSUMERLICENSEESREQUEST_H
3
4#include "./DescribeLicenseConsumerLicenseesRequest.h"
5#include "rest/AbstractPagingAPIRequest.h"
6#include "../../../config/BackendConfiguration.h"
7#include "http/HTTPClient.h"
8#include "http/HTTPRequestAuthenticator.h"
9#include "http/HTTPResponseToException.h"
10#include "json/JSONParser.h"
11
12#include <memory>
13
14namespace tenduke { namespace se { namespace licensing { namespace rest {
15
21{
22public:
34 const ::tenduke::se::BackendConfiguration &backendConfiguration
35 , const std::shared_ptr<const ::tenduke::http::HTTPClient> &httpClient
36 , const std::shared_ptr<const ::tenduke::http::HTTPRequestAuthenticator> &httpRequestAuthenticator
37 , const std::shared_ptr<const ::tenduke::http::HTTPResponseToException> &throwException
38 , const std::shared_ptr<const ::tenduke::json::JSONParser> &jsonParser
39 , const ::tenduke::se::Paging &paging
40 , std::string licenseConsumerId
41 );
42
43public:
44 std::vector<::tenduke::se::licensing::Licensee> execute() override;
45
46protected:
47 std::vector<::tenduke::se::licensing::Licensee> fromJSON(const std::string &responseBody) const override;
48 void buildUrl(::tenduke::net::URLBuilder &) const override;
49
50private:
51 const std::string licenseConsumerId;
52};
53
54}}}}
55
56#endif //TENDUKE_SE_LICENSING_REST_DEFAULTDESCRIBELICENSECONSUMERLICENSEESREQUEST_H
Very simple URL-builder.
Definition URLBuilder.h:19
Interface for 10Duke Scale API-requests.
Definition APIRequest.h:12
A tenduke::se::APIRequest, which uses tenduke::oidc::OIDCSession to maintain request authorization.
Definition StatefulAPIRequest.h:27
const std::shared_ptr< const ::tenduke::http::HTTPResponseToException > throwException
Service to throw exceptions based on HTTP status codes.
Definition AbstractAPIRequestMixin.h:117
const std::shared_ptr< const ::tenduke::http::HTTPRequestAuthenticator > httpRequestAuthenticator
For authenticating the request.
Definition AbstractAPIRequestMixin.h:114
Abstract base class for API-requests, which support paging.
Definition AbstractPagingAPIRequest.h:17
Default implementation of :tenduke::se::licensing::rest::DescribeLicenseConsumerLicenseesRequest.
Definition DefaultDescribeLicenseConsumerLicenseesRequest.h:21
std::vector<::tenduke::se::licensing::Licensee > fromJSON(const std::string &responseBody) const override
Converts the response body from JSON to the response type.
Definition DefaultDescribeLicenseConsumerLicenseesRequest.cpp:33
std::vector<::tenduke::se::licensing::Licensee > execute() override
Execute the request synchronously.
Definition DefaultDescribeLicenseConsumerLicenseesRequest.cpp:19
void buildUrl(::tenduke::net::URLBuilder &) const override
Builds the request URL.
Definition DefaultDescribeLicenseConsumerLicenseesRequest.cpp:24
Root for classes, functions and globals of 10Duke C++ Client.
Definition BackendConfiguration.h:7