![]() |
D++ (DPP)
C++ Discord API Bot Library
|
A HTTP request. More...
#include <queues.h>
Collaboration diagram for dpp::http_request:Public Member Functions | |
| http_request (const std::string &_endpoint, const std::string &_parameters, http_completion_event completion, const std::string &_postdata="", http_method method=m_get, const std::string &audit_reason="", const std::string &filename="", const std::string &filecontent="") | |
| Constructor. When constructing one of these objects it should be passed to request_queue::post_request(). More... | |
| http_request (const std::string &_endpoint, const std::string &_parameters, http_completion_event completion, const std::string &_postdata="", http_method method=m_get, const std::string &audit_reason="", const std::vector< std::string > &filename={}, const std::vector< std::string > &filecontent={}) | |
| Constructor. When constructing one of these objects it should be passed to request_queue::post_request(). More... | |
| http_request (const std::string &_url, http_completion_event completion, http_method method=m_get, const std::string &_postdata="", const std::string &_mimetype="text/plain", const std::multimap< std::string, std::string > &_headers={}) | |
| Constructor. When constructing one of these objects it should be passed to request_queue::post_request(). More... | |
| ~http_request () | |
| Destroy the http request object. More... | |
| void | complete (const http_request_completion_t &c) |
| Call the completion callback, if the request is complete. More... | |
| bool | is_completed () |
| Returns true if the request is complete. More... | |
| http_request_completion_t | run (class cluster *owner) |
| Execute the HTTP request and mark the request complete. More... | |
Public Attributes | |
| std::string | endpoint |
| Endpoint name e.g. /api/users. More... | |
| std::vector< std::string > | file_content |
| Upload file contents (binary) More... | |
| std::vector< std::string > | file_name |
| Upload file name (server side) More... | |
| http_method | method |
| HTTP method for request. More... | |
| std::string | mimetype |
| Request mime type. More... | |
| std::string | parameters |
| Major and minor parameters. More... | |
| std::string | postdata |
| Postdata for POST and PUT. More... | |
| std::string | reason |
| Audit log reason for Discord requests, if non-empty. More... | |
| std::multimap< std::string, std::string > | req_headers |
| Request headers (non-discord requests only) More... | |
| bool | waiting |
| Waiting for rate limit to expire. More... | |
A HTTP request.
You should instantiate one of these objects via its constructor, and pass a pointer to it into an instance of request_queue. Although you can directly call the run() method of the object and it will make a HTTP call, be aware that if you do this, it will be a BLOCKING call (not asynchronous) and will not respect rate limits, as both of these functions are managed by the request_queue class.
| dpp::http_request::http_request | ( | const std::string & | _endpoint, |
| const std::string & | _parameters, | ||
| http_completion_event | completion, | ||
| const std::string & | _postdata = "", |
||
| http_method | method = m_get, |
||
| const std::string & | audit_reason = "", |
||
| const std::string & | filename = "", |
||
| const std::string & | filecontent = "" |
||
| ) |
Constructor. When constructing one of these objects it should be passed to request_queue::post_request().
| _endpoint | The API endpoint, e.g. /api/guilds |
| _parameters | Major and minor parameters for the endpoint e.g. a user id or guild id |
| completion | completion event to call when done |
| _postdata | Data to send in POST and PUT requests |
| method | The HTTP method to use from dpp::http_method |
| audit_reason | Audit log reason to send, empty to send none |
| filename | The filename (server side) of any uploaded file |
| filecontent | The binary content of any uploaded file for the request |
| dpp::http_request::http_request | ( | const std::string & | _endpoint, |
| const std::string & | _parameters, | ||
| http_completion_event | completion, | ||
| const std::string & | _postdata = "", |
||
| http_method | method = m_get, |
||
| const std::string & | audit_reason = "", |
||
| const std::vector< std::string > & | filename = {}, |
||
| const std::vector< std::string > & | filecontent = {} |
||
| ) |
Constructor. When constructing one of these objects it should be passed to request_queue::post_request().
| _endpoint | The API endpoint, e.g. /api/guilds |
| _parameters | Major and minor parameters for the endpoint e.g. a user id or guild id |
| completion | completion event to call when done |
| _postdata | Data to send in POST and PUT requests |
| method | The HTTP method to use from dpp::http_method |
| audit_reason | Audit log reason to send, empty to send none |
| filename | The filename (server side) of any uploaded file |
| filecontent | The binary content of any uploaded file for the request |
| dpp::http_request::http_request | ( | const std::string & | _url, |
| http_completion_event | completion, | ||
| http_method | method = m_get, |
||
| const std::string & | _postdata = "", |
||
| const std::string & | _mimetype = "text/plain", |
||
| const std::multimap< std::string, std::string > & | _headers = {} |
||
| ) |
Constructor. When constructing one of these objects it should be passed to request_queue::post_request().
| _url | Raw HTTP url |
| completion | completion event to call when done |
| method | The HTTP method to use from dpp::http_method |
| _postdata | Data to send in POST and PUT requests |
| _mimetype | POST data mime type |
| _headers | HTTP headers to send |
| dpp::http_request::~http_request | ( | ) |
Destroy the http request object.
| void dpp::http_request::complete | ( | const http_request_completion_t & | c | ) |
Call the completion callback, if the request is complete.
| c | callback to call |
| bool dpp::http_request::is_completed | ( | ) |
Returns true if the request is complete.
| http_request_completion_t dpp::http_request::run | ( | class cluster * | owner | ) |
Execute the HTTP request and mark the request complete.
| owner | creating cluster |
| std::string dpp::http_request::endpoint |
Endpoint name e.g. /api/users.
| std::vector<std::string> dpp::http_request::file_content |
Upload file contents (binary)
| std::vector<std::string> dpp::http_request::file_name |
Upload file name (server side)
| http_method dpp::http_request::method |
HTTP method for request.
| std::string dpp::http_request::mimetype |
Request mime type.
| std::string dpp::http_request::parameters |
Major and minor parameters.
| std::string dpp::http_request::postdata |
Postdata for POST and PUT.
| std::string dpp::http_request::reason |
Audit log reason for Discord requests, if non-empty.
| std::multimap<std::string, std::string> dpp::http_request::req_headers |
Request headers (non-discord requests only)
| bool dpp::http_request::waiting |
Waiting for rate limit to expire.