lintel 0.2.0
Loading...
Searching...
No Matches
Client.h
Go to the documentation of this file.
1#ifndef HTTP_LIBRARY_CLIENT_H
2#define HTTP_LIBRARY_CLIENT_H
3
5
6#include <cstddef>
7#include <functional>
8#include <map>
9#include <memory>
10#include <string>
11#include <string_view>
12#include <unordered_map>
13
19namespace httplib {
20
21class Result;
22struct Response;
23class DataSink;
24
25namespace detail {
26 namespace case_ignore {
27 struct equal_to;
28 struct hash;
29 }// namespace case_ignore
30}// namespace detail
31
32using Headers =
33 std::unordered_multimap<std::string, std::string, detail::case_ignore::hash, detail::case_ignore::equal_to>;
34using Params = std::multimap<std::string, std::string>;
35using ResponseHandler = std::function<bool(const Response &response)>;
36using ContentProvider = std::function<bool(size_t offset, size_t length, DataSink &sink)>;
37using ContentProviderWithoutLength = std::function<bool(size_t offset, DataSink &sink)>;
38using ContentReceiver = std::function<bool(const char *data, size_t data_length)>;
39
40}// namespace httplib
41
42namespace lintel {
44class Client
45{
46private:
47 struct Impl;
48 std::unique_ptr<Impl> m_impl;
49
50public:
51 explicit Client(const std::shared_ptr<ClientConfiguration> &clientConfiguration);
52
54
56 [[maybe_unused]] void setBasicAuth(const std::string &userName, const std::string &password) const;
57
59 [[maybe_unused]] void setDigestAuth(const std::string &userName, const std::string &password) const;
60
62 [[maybe_unused]] void setBearerTokenAuth(const std::string &token) const;
63
65 [[maybe_unused]] httplib::Result get(std::string_view path) const;
66
68 [[maybe_unused]] httplib::Result get(std::string_view path, const httplib::Headers &headers) const;
69
71 [[maybe_unused]] httplib::Result get(std::string_view path, httplib::ContentReceiver contentReceiver) const;
72
74 [[maybe_unused]] httplib::Result
76
78 [[maybe_unused]] httplib::Result get(std::string_view path,
81
83 [[maybe_unused]] httplib::Result get(std::string_view path,
87
89 [[maybe_unused]] httplib::Result post(std::string_view path) const;
90
92 [[maybe_unused]] httplib::Result
93 post(std::string_view path, const char *body, size_t contentLength, const char *contentType) const;
94
96 [[maybe_unused]] httplib::Result post(std::string_view path,
98 const char *body,
99 size_t contentLength,
100 const char *contentType) const;
101
103 [[maybe_unused]] httplib::Result post(std::string_view path, const std::string &body, const char *contentType) const;
104
106 [[maybe_unused]] httplib::Result post(std::string_view path,
108 const std::string &body,
109 const char *contentType) const;
110
112 [[maybe_unused]] httplib::Result post(std::string_view path,
113 size_t contentLength,
115 const char *contentType) const;
116
118 [[maybe_unused]] httplib::Result
120
122 [[maybe_unused]] httplib::Result post(std::string_view path,
124 size_t contentLength,
126 const char *contentType) const;
127
129 [[maybe_unused]] httplib::Result post(std::string_view path,
132 const char *contentType) const;
133
135 [[maybe_unused]] httplib::Result post(std::string_view path, const httplib::Params &params) const;
136
138 [[maybe_unused]] httplib::Result
139 post(std::string_view path, const httplib::Headers &headers, const httplib::Params &params) const;
140
142 [[maybe_unused]] httplib::Result put(std::string_view path) const;
143
145 [[maybe_unused]] httplib::Result
146 put(std::string_view path, const char *body, size_t contentLength, const char *contentType) const;
147
149 [[maybe_unused]] httplib::Result put(std::string_view path,
151 const char *body,
152 size_t contentLength,
153 const char *contentType) const;
154
156 [[maybe_unused]] httplib::Result put(std::string_view path, const std::string &body, const char *contentType) const;
157
159 [[maybe_unused]] httplib::Result
160 put(std::string_view path, const httplib::Headers &headers, const std::string &body, const char *contentType) const;
161
163 [[maybe_unused]] httplib::Result put(std::string_view path,
164 size_t contentLength,
166 const char *contentType) const;
167
169 [[maybe_unused]] httplib::Result
171
173 [[maybe_unused]] httplib::Result put(std::string_view path,
175 size_t contentLength,
177 const char *contentType) const;
178
180 [[maybe_unused]] httplib::Result put(std::string_view path,
183 const char *contentType) const;
184
186 [[maybe_unused]] httplib::Result put(std::string_view path, const httplib::Params &params) const;
187
189 [[maybe_unused]] httplib::Result
190 put(std::string_view path, const httplib::Headers &headers, const httplib::Params &params) const;
191
193 [[maybe_unused]] httplib::Result deletes(std::string_view path) const;
194
196 [[maybe_unused]] httplib::Result deletes(std::string_view path, const httplib::Headers &headers) const;
197
199 [[maybe_unused]] httplib::Result
200 deletes(std::string_view path, const char *body, size_t contentLength, const char *contentType) const;
201
203 [[maybe_unused]] httplib::Result deletes(std::string_view path,
205 const char *body,
206 size_t contentLength,
207 const char *contentType) const;
208
210 [[maybe_unused]] httplib::Result
211 deletes(std::string_view path, const std::string &body, const char *contentType) const;
212
214 [[maybe_unused]] httplib::Result deletes(std::string_view path,
216 const std::string &body,
217 const char *contentType) const;
218};
219
220}// namespace lintel
221#endif// HTTP_LIBRARY_CLIENT_H
Definition Client.h:45
httplib::Result get(std::string_view path, const httplib::Headers &headers, httplib::ContentReceiver contentReceiver) const
httplib::Result put(std::string_view path, httplib::ContentProviderWithoutLength contentProvider, const char *contentType) const
httplib::Result put(std::string_view path, const httplib::Headers &headers, const httplib::Params &params) const
void setDigestAuth(const std::string &userName, const std::string &password) const
httplib::Result post(std::string_view path, const httplib::Headers &headers, size_t contentLength, httplib::ContentProvider contentProvider, const char *contentType) const
httplib::Result post(std::string_view path, const httplib::Headers &headers, httplib::ContentProviderWithoutLength contentProvider, const char *contentType) const
httplib::Result deletes(std::string_view path, const std::string &body, const char *contentType) const
httplib::Result put(std::string_view path, const httplib::Headers &headers, size_t contentLength, httplib::ContentProvider contentProvider, const char *contentType) const
httplib::Result put(std::string_view path, const httplib::Headers &headers, const char *body, size_t contentLength, const char *contentType) const
httplib::Result post(std::string_view path, const char *body, size_t contentLength, const char *contentType) const
httplib::Result post(std::string_view path, httplib::ContentProviderWithoutLength contentProvider, const char *contentType) const
httplib::Result put(std::string_view path, const char *body, size_t contentLength, const char *contentType) const
httplib::Result put(std::string_view path, const httplib::Headers &headers, const std::string &body, const char *contentType) const
httplib::Result deletes(std::string_view path, const httplib::Headers &headers, const std::string &body, const char *contentType) const
httplib::Result put(std::string_view path, const httplib::Headers &headers, httplib::ContentProviderWithoutLength contentProvider, const char *contentType) const
httplib::Result get(std::string_view path, const httplib::Headers &headers) const
httplib::Result deletes(std::string_view path) const
httplib::Result post(std::string_view path) const
void setBearerTokenAuth(const std::string &token) const
httplib::Result put(std::string_view path, const httplib::Params &params) const
httplib::Result post(std::string_view path, const httplib::Params &params) const
httplib::Result put(std::string_view path, size_t contentLength, httplib::ContentProvider contentProvider, const char *contentType) const
httplib::Result get(std::string_view path) const
httplib::Result post(std::string_view path, const httplib::Headers &headers, const httplib::Params &params) const
httplib::Result get(std::string_view path, const httplib::Headers &headers, httplib::ResponseHandler responseHandler, httplib::ContentReceiver contentReceiver) const
httplib::Result post(std::string_view path, const std::string &body, const char *contentType) const
httplib::Result put(std::string_view path, const std::string &body, const char *contentType) const
Client(const std::shared_ptr< ClientConfiguration > &clientConfiguration)
httplib::Result put(std::string_view path) const
httplib::Result get(std::string_view path, httplib::ContentReceiver contentReceiver) const
httplib::Result post(std::string_view path, size_t contentLength, httplib::ContentProvider contentProvider, const char *contentType) const
httplib::Result deletes(std::string_view path, const httplib::Headers &headers, const char *body, size_t contentLength, const char *contentType) const
void setBasicAuth(const std::string &userName, const std::string &password) const
httplib::Result deletes(std::string_view path, const char *body, size_t contentLength, const char *contentType) const
httplib::Result post(std::string_view path, const httplib::Headers &headers, const std::string &body, const char *contentType) const
httplib::Result deletes(std::string_view path, const httplib::Headers &headers) const
httplib::Result post(std::string_view path, const httplib::Headers &headers, const char *body, size_t contentLength, const char *contentType) const
httplib::Result get(std::string_view path, httplib::ResponseHandler responseHandler, httplib::ContentReceiver contentReceiver) const
Definition Client.h:19
std::function< bool(size_t offset, DataSink &sink)> ContentProviderWithoutLength
Definition Client.h:37
std::multimap< std::string, std::string > Params
Definition Client.h:34
std::unordered_multimap< std::string, std::string, detail::case_ignore::hash, detail::case_ignore::equal_to > Headers
Definition Client.h:33
std::function< bool(size_t offset, size_t length, DataSink &sink)> ContentProvider
Definition Client.h:36
std::function< bool(const char *data, size_t data_length)> ContentReceiver
Definition Client.h:38
std::function< bool(const Response &response)> ResponseHandler
Definition Client.h:35
Definition BaseFeature.h:6
constexpr std::string_view type_name()
Definition TypeName.h:9