10Duke Scale C++ Client
Loading...
Searching...
No Matches
RESTConfiguration.h
1#ifndef TENDUKE_CLIENT_SE_RESTCONFIGURATION_H
2#define TENDUKE_CLIENT_SE_RESTCONFIGURATION_H
3
4#include "net/URL.h"
5#include "net/URLs.h"
6
7namespace tenduke { namespace se { namespace rest {
8
9class RESTConfiguration
10{
11public:
12 explicit RESTConfiguration(
13 const tenduke::net::URL &base_url,
14 const std::shared_ptr<const tenduke::net::URLs> &urls
15 )
16 : baseUrl(base_url), urls(urls)
17 {
18 }
19
20 const ::tenduke::net::URL& getBaseUrl() const
21 {
22 return baseUrl;
23 }
24
28 ::tenduke::net::URL apiURL(const std::string &path) const
29 {
30 return urls->newURL(baseUrl).appendPath(path).build();
31 }
32
33 std::string getBaseUrlAsString() const
34 {
35 return urls->toString(baseUrl);
36 }
37
38private:
39 const ::tenduke::net::URL baseUrl;
40 const std::shared_ptr<const ::tenduke::net::URLs> urls;
41};
42
43}}}
44
45#endif //TENDUKE_CLIENT_SE_RESTCONFIGURATION_H
Represents URL.
Definition URL.h:21
::tenduke::net::URL apiURL(const std::string &path) const
Builds complete API URL by appending the API endpoint path to base-URL.
Definition RESTConfiguration.h:28
Classes, functions and globals of 10Duke Scale C++ Client.
Definition AbstractClientFactory.h:16
Root for classes, functions and globals of 10Duke C++ Client.
Definition AbstractClientFactory.h:16