|  | D++ (DPP)
    C++ Discord API Bot Library | 
A HTTP request. More...
#include <queues.h>
 Collaboration diagram for dpp::http_request:
 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.