7 #ifndef ARBITER_IS_AMALGAMATION 9 #include <arbiter/util/http.hpp> 13 #ifdef ARBITER_CUSTOM_NAMESPACE 14 namespace ARBITER_CUSTOM_NAMESPACE
21 namespace drivers {
class Http; }
44 std::string root()
const;
50 std::string prefixedRoot()
const;
55 std::string type()
const;
58 bool isRemote()
const;
64 bool isHttpDerived()
const;
67 std::string
get(std::string subpath)
const;
70 std::unique_ptr<std::string> tryGet(std::string subpath)
const;
73 std::vector<char> getBinary(std::string subpath)
const;
76 std::unique_ptr<std::vector<char>> tryGetBinary(std::string subpath)
const;
79 std::size_t getSize(std::string subpath)
const;
82 std::unique_ptr<std::size_t> tryGetSize(std::string subpath)
const;
85 void put(std::string subpath,
const std::string& data)
const;
90 void put(std::string subpath,
const std::vector<char>& data)
const;
98 http::Headers headers,
99 http::Query = http::Query())
const;
103 std::unique_ptr<std::string> tryGet(
105 http::Headers headers,
106 http::Query = http::Query())
const;
111 std::vector<char> getBinary(
113 http::Headers headers,
114 http::Query query = http::Query())
const;
119 std::unique_ptr<std::vector<char>> tryGetBinary(
121 http::Headers headers,
122 http::Query query = http::Query())
const;
129 const std::string& data,
130 http::Headers headers,
131 http::Query query = http::Query())
const;
138 const std::vector<char>& data,
139 http::Headers headers,
140 http::Query query = http::Query())
const;
147 std::string fullPath(
const std::string& subpath)
const;
152 std::string prefixedFullPath(
const std::string& subpath)
const;
155 Endpoint getSubEndpoint(std::string subpath)
const;
162 std::string softPrefix()
const;
173 #ifdef ARBITER_CUSTOM_NAMESPACE Base class for interacting with a storage type.
Definition: driver.hpp:34
HTTP driver. Intended as both a standalone driver as well as a base for derived drivers build atop HT...
Definition: http.hpp:29
Definition: arbiter.cpp:16
The primary interface for storage abstraction.
Definition: arbiter.hpp:59
A utility class to drive usage from a common root directory.
Definition: endpoint.hpp:34