1#ifndef TENDUKE_SE_LICENSING_BASEREQUEST_H
2#define TENDUKE_SE_LICENSING_BASEREQUEST_H
4#include "../../../rest/StatefulAPIRequest.h"
5#include "../../api/MutableLeases.h"
7namespace tenduke {
namespace se {
namespace licensing {
35 const std::shared_ptr<::tenduke::se::licensing::MutableLeases> &
leases,
36 const std::shared_ptr<::tenduke::oidc::OIDCSession> &oidc =
nullptr
60 if (oidc ==
nullptr) {
61 return request->execute();
63 return ::tenduke::se::StatefulAPIRequest<R>(request, oidc).execute();
76 const std::shared_ptr<::tenduke::se::licensing::MutableLeases>
leases;
79 const std::shared_ptr<::tenduke::oidc::OIDCSession> oidc;
80 const std::shared_ptr<::tenduke::se::APIRequest<R>> request;
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
High-level licensing client request.
Definition BaseRequest.h:24
virtual R executeRequest()
Executes the request.
Definition BaseRequest.h:58
virtual R execute()
Executes the request.
Definition BaseRequest.h:46
const std::shared_ptr<::tenduke::se::licensing::MutableLeases > leases
The lease cache.
Definition BaseRequest.h:76
virtual void maintainLeases(const R &response)
Performs lease-cache maintenance.
Definition BaseRequest.h:70
BaseRequest(const std::shared_ptr<::tenduke::se::APIRequest< R > > &request, const std::shared_ptr<::tenduke::se::licensing::MutableLeases > &leases, const std::shared_ptr<::tenduke::oidc::OIDCSession > &oidc=nullptr)
Constructs new instance.
Definition BaseRequest.h:33
Root for classes, functions and globals of 10Duke C++ Client.
Definition BackendConfiguration.h:7