17 #ifndef MASTODON_CPP_HPP 18 #define MASTODON_CPP_HPP 28 #include <curlpp/cURLpp.hpp> 29 #include <curlpp/Easy.hpp> 31 #include "return_types.hpp" 89 explicit http(
const API &api,
const string &instance,
90 const string &access_token);
105 const curlpp::Forms &formdata);
147 const string _instance;
148 const string _access_token;
152 std::thread _streamthread;
156 const curlpp::Forms &formdata,
158 size_t callback_write(
char* data,
size_t size,
size_t nmemb,
160 double callback_progress(
double ,
double ,
176 accounts_verify_credentials,
177 accounts_update_credentials,
178 accounts_id_followers,
179 accounts_id_following,
180 accounts_id_statuses,
182 accounts_id_unfollow,
183 accounts_relationships,
187 apps_verify_credentials,
202 statuses_id_favourite,
203 statuses_id_unfavourite,
209 follow_requests_id_authorize,
210 follow_requests_id_reject,
213 suggestions_accountid,
234 notifications_dismiss,
248 statuses_id_reblogged_by,
249 statuses_id_favourited_by,
251 statuses_id_unreblog,
258 timelines_tag_hashtag,
259 timelines_list_list_id,
263 streaming_public_local,
271 statuses_id_bookmark,
272 statuses_id_unbookmark
298 explicit API(
const string &instance,
const string &access_token);
343 [[deprecated(
"Replaced by Mastodon::urlencode")]]
344 static const string urlencode(
const string &str);
355 [[deprecated(
"Replaced by Mastodon::urldecode")]]
356 static const string urldecode(
const string &str);
374 const string &redirect_uri,
375 const string &scopes,
376 const string &website,
378 string &client_secret,
396 const string &client_secret,
397 const string &redirect_uri,
399 string &access_token);
410 const string get_header(
const string &header)
const;
436 [[deprecated(
"Replaced by Mastodon::unescape_html")]]
450 void set_proxy(
const string &proxy,
const string &userpw =
"");
460 void get_proxy(
string &proxy,
string &userpw)
const;
517 std::unique_ptr<Mastodon::API::http> &ptr,
530 std::unique_ptr<Mastodon::API::http> &ptr,
543 std::unique_ptr<Mastodon::API::http> &ptr,
558 const parameters ¶meters);
581 const parameters ¶meters);
595 const parameters ¶meters);
607 const parameters ¶meters);
618 return_call put(
const string &call,
const parameters ¶meters);
630 const parameters ¶meters);
641 return_call del(
const string &call,
const parameters ¶meters);
644 const string _instance;
645 string _access_token;
650 string _proxy_userpw;
660 const string maptostr(
const parameters &map,
661 const bool &firstparam =
true);
670 const curlpp::Forms maptoformdata(
const parameters &map);
682 const parameters delete_params(
const parameters ¶ms,
683 const vector<string> &keys);
703 const string urlencode(
const string &str);
718 const string urldecode(
const string &str);
void set_proxy(const string &proxy, const string &userpw="")
Sets the proxy.
Definition: mastodon-cpp.cpp:285
void get_proxy(string &proxy, string &userpw) const
For internal use.
Definition: mastodon-cpp.cpp:291
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:227
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:226
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:176
v1
A list of all v1 API calls.
Definition: mastodon-cpp.hpp:171
Return type for API calls.
Definition: return_types.hpp:92
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:282
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:259
void get_stream(const Mastodon::API::v1 &call, const parameters ¶meters, std::unique_ptr< Mastodon::API::http > &ptr, string &stream)
Make a streaming GET request.
Definition: get_stream.cpp:24
http_method
HTTP methods. Used in API calls.
Definition: types.hpp:87
virtual ~API()
Destroys the object.
Definition: mastodon-cpp.cpp:60
void request_stream(const string &path, string &stream)
HTTP Request for streams.
Definition: http.cpp:60
Mastodon::parameters parameters
Vector of Mastodon::param, used for passing parameters in calls.
API(const string &instance, const string &access_token)
Constructs a new API object.
Definition: mastodon-cpp.cpp:32
return_call post(const Mastodon::API::v1 &call)
Make a POST request that doesn't require parameters.
Definition: post.cpp:208
void cancel_stream()
Cancels the stream. Use only with streams.
Definition: http.cpp:252
bool exceptions() const
Returns true if exceptions are turned on, false otherwise.
Definition: mastodon-cpp.cpp:280
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:63
Collection of things to interface with server software that implements the Mastodon API...
Definition: mastodon-cpp.hpp:46
static const string unescape_html(const string &html)
Alias for Mastodon::unescape_html.
Definition: mastodon-cpp.cpp:647
static const string urlencode(const string &str)
Alias for Mastodon::urlencode.
Definition: mastodon-cpp.cpp:637
const string get_instance() const
Returns the instance.
Definition: mastodon-cpp.cpp:73
http(const API &api, const string &instance, const string &access_token)
Constructs new http object.
Definition: http.cpp:33
http class. Do not use this directly.
Definition: mastodon-cpp.hpp:77
const string get_useragent() const
Gets the useragent.
Definition: mastodon-cpp.cpp:68
static const string urldecode(const string &str)
Alias for Mastodon::urldecode.
Definition: mastodon-cpp.cpp:642
std::mutex & get_mutex()
Gets the mutex guarding the string that is written to.
Definition: http.cpp:258