17 #ifndef MASTODON_CPP_HPP 18 #define MASTODON_CPP_HPP 28 #include <Poco/Net/HTMLForm.h> 30 #include "return_types.hpp" 35 using std::unique_ptr;
36 using Poco::Net::HTMLForm;
89 explicit http(
const API &api,
const string &instance,
90 const string &access_token);
153 void set_proxy(
const string &hostport,
const string &userpw =
"");
157 const string _instance;
158 const string _access_token;
162 std::thread _streamthread;
168 size_t callback_write(
char* data,
size_t size,
size_t nmemb,
170 double callback_progress(
double ,
double ,
186 accounts_verify_credentials,
187 accounts_update_credentials,
188 accounts_id_followers,
189 accounts_id_following,
190 accounts_id_statuses,
192 accounts_id_unfollow,
193 accounts_relationships,
197 apps_verify_credentials,
212 statuses_id_favourite,
213 statuses_id_unfavourite,
219 follow_requests_id_authorize,
220 follow_requests_id_reject,
223 suggestions_accountid,
244 notifications_dismiss,
258 statuses_id_reblogged_by,
259 statuses_id_favourited_by,
262 statuses_id_unreblog,
269 timelines_tag_hashtag,
270 timelines_list_list_id,
275 streaming_public_local,
277 streaming_hashtag_local,
283 statuses_id_bookmark,
284 statuses_id_unbookmark
310 explicit API(
const string &instance,
const string &access_token);
355 [[deprecated(
"Replaced by Mastodon::urlencode")]]
356 static const string urlencode(
const string &str);
367 [[deprecated(
"Replaced by Mastodon::urldecode")]]
368 static const string urldecode(
const string &str);
386 const string &redirect_uri,
387 const string &scopes,
388 const string &website,
390 string &client_secret,
408 const string &client_secret,
409 const string &redirect_uri,
411 string &access_token);
422 const string get_header(
const string &header)
const;
447 [[deprecated(
"Replaced by Mastodon::unescape_html")]]
461 void set_proxy(
const string &hostport,
const string &userpw =
"");
518 unique_ptr<Mastodon::API::http> &ptr,
531 unique_ptr<Mastodon::API::http> &ptr,
544 unique_ptr<Mastodon::API::http> &ptr,
645 const string _instance;
646 string _access_token;
660 const bool &firstparam =
true);
669 unique_ptr<HTMLForm> maptoformdata(
const parameters &map);
682 const vector<string> &keys);
701 const string urlencode(
const string &str);
714 const string urldecode(
const string &str);
Interface to the Mastodon API.
Definition: mastodon-cpp.hpp:69
void get_headers(string &headers) const
Get all headers in a string.
Definition: http.cpp:347
const return_call get(const Mastodon::API::v1 &call)
Make a GET request that doesn't require parameters.
Definition: get.cpp:298
return_call register_app2(const string &client_id, const string &client_secret, const string &redirect_uri, const string &code, string &access_token)
Register application, step 2/2.
Definition: mastodon-cpp.cpp:235
return_call register_app1(const string &client_name, const string &redirect_uri, const string &scopes, const string &website, string &client_id, string &client_secret, string &url)
Register application, step 1/2.
Definition: mastodon-cpp.cpp:185
v1
A list of all v1 API calls.
Definition: mastodon-cpp.hpp:181
Return type for API calls.
Definition: return_types.hpp:93
return_call patch(const Mastodon::API::v1 &call, const parameters ¶meters)
Make a PATCH request.
Definition: patch.cpp:24
v2
A list of all v2 API calls.
Definition: mastodon-cpp.hpp:294
Vector of Mastodon::param, used for passing parameters in calls.
Definition: types.hpp:62
const string get_header(const string &header) const
Gets the header from the last answer.
Definition: mastodon-cpp.cpp:268
http_method
HTTP methods. Used in API calls.
Definition: types.hpp:87
void set_proxy(const string &hostport, const string &userpw="")
Sets the proxy.
Definition: mastodon-cpp.cpp:294
virtual ~API()
Destroys the object.
Definition: mastodon-cpp.cpp:59
void request_stream(const string &path, string &stream)
HTTP Request for streams.
Definition: http.cpp:150
API(const string &instance, const string &access_token)
Constructs a new API object.
Definition: mastodon-cpp.cpp:33
return_call post(const Mastodon::API::v1 &call)
Make a POST request that doesn't require parameters.
Definition: post.cpp:213
const string unescape_html(const string &html)
Replaces HTML entities with UTF-8 characters.
Definition: mastodon-cpp.cpp:334
void cancel_stream()
Cancels the stream. Use only with streams.
Definition: http.cpp:352
bool exceptions() const
Returns true if exceptions are turned on, false otherwise.
Definition: mastodon-cpp.cpp:289
void set_proxy(const string &hostport, const string &userpw="")
Set proxy. Do not call this directly.
Definition: http.cpp:96
return_call del(const Mastodon::API::v1 &call, const parameters ¶meters)
Make a DELETE request that requires parameters.
Definition: delete.cpp:23
return_call put(const Mastodon::API::v1 &call, const parameters ¶meters)
Make a PUT request that requires parameters.
Definition: put.cpp:23
void set_useragent(const string &useragent)
Sets the useragent. Default is mastodon-cpp/version.
Definition: mastodon-cpp.cpp:62
Collection of things to interface with server software that implements the Mastodon API.
Definition: mastodon-cpp.hpp:47
void get_stream(const Mastodon::API::v1 &call, const parameters ¶meters, unique_ptr< Mastodon::API::http > &ptr, string &stream)
Make a streaming GET request.
static const string unescape_html(const string &html)
Alias for Mastodon::unescape_html.
Definition: mastodon-cpp.cpp:648
static const string urlencode(const string &str)
Alias for Mastodon::urlencode.
Definition: mastodon-cpp.cpp:638
const string urlencode(const string &str)
Percent-encodes a string.
const string get_instance() const
Returns the instance.
Definition: mastodon-cpp.cpp:72
const string urldecode(const string &str)
Decodes a percent-encoded string.
http(const API &api, const string &instance, const string &access_token)
Constructs new http object.
Definition: http.cpp:49
http class. Do not use this directly.
Definition: mastodon-cpp.hpp:77
const string get_useragent() const
Gets the useragent.
Definition: mastodon-cpp.cpp:67
static const string urldecode(const string &str)
Alias for Mastodon::urldecode.
Definition: mastodon-cpp.cpp:643
std::mutex & get_mutex()
Gets the mutex guarding the string that is written to.
Definition: http.cpp:358