forked from khoih-prog/AsyncHTTPRequest_Generic
Added common type for callback parameter
This commit is contained in:
@ -61,7 +61,7 @@ private:
|
|||||||
AsyncHTTPRequest::AsyncHTTPRequest(): _readyState(ReadyState::Idle), _HTTPcode(0), _chunked(false), _debug(DEBUG_IOTA_HTTP_SET)
|
AsyncHTTPRequest::AsyncHTTPRequest(): _readyState(ReadyState::Idle), _HTTPcode(0), _chunked(false), _debug(DEBUG_IOTA_HTTP_SET)
|
||||||
, _timeout(DEFAULT_RX_TIMEOUT), _lastActivity(0), _requestStartTime(0), _requestEndTime(0), _URL(nullptr)
|
, _timeout(DEFAULT_RX_TIMEOUT), _lastActivity(0), _requestStartTime(0), _requestEndTime(0), _URL(nullptr)
|
||||||
, _connectedHost(nullptr), _connectedPort(-1), _client(nullptr), _contentLength(0), _contentRead(0)
|
, _connectedHost(nullptr), _connectedPort(-1), _client(nullptr), _contentLength(0), _contentRead(0)
|
||||||
, _readyStateChangeCB(nullptr), _readyStateChangeCBarg(nullptr), _onDataCB(nullptr), _onDataCBarg(nullptr)
|
, _readyStateChangeCB(nullptr), _readyStateChangeCBarg{}, _onDataCB(nullptr), _onDataCBarg(nullptr)
|
||||||
, _request(nullptr), _response(nullptr), _chunks(nullptr), _headers(nullptr)
|
, _request(nullptr), _response(nullptr), _chunks(nullptr), _headers(nullptr)
|
||||||
{
|
{
|
||||||
#ifdef ESP32
|
#ifdef ESP32
|
||||||
@ -161,14 +161,14 @@ bool AsyncHTTPRequest::open(const char* method, const char* URL)
|
|||||||
return _connect();
|
return _connect();
|
||||||
}
|
}
|
||||||
//**************************************************************************************************************
|
//**************************************************************************************************************
|
||||||
void AsyncHTTPRequest::onReadyStateChange(readyStateChangeCB cb, void* arg)
|
void AsyncHTTPRequest::onReadyStateChange(readyStateChangeCB cb, callback_arg_t arg)
|
||||||
{
|
{
|
||||||
_readyStateChangeCB = cb;
|
_readyStateChangeCB = cb;
|
||||||
_readyStateChangeCBarg = arg;
|
_readyStateChangeCBarg = arg;
|
||||||
}
|
}
|
||||||
|
|
||||||
//**************************************************************************************************************
|
//**************************************************************************************************************
|
||||||
void AsyncHTTPRequest::onReadyStateChangeArg(void* arg)
|
void AsyncHTTPRequest::onReadyStateChangeArg(callback_arg_t arg)
|
||||||
{
|
{
|
||||||
_readyStateChangeCBarg = arg;
|
_readyStateChangeCBarg = arg;
|
||||||
}
|
}
|
||||||
|
@ -91,6 +91,8 @@ enum class ReadyState
|
|||||||
|
|
||||||
class AsyncHTTPRequest
|
class AsyncHTTPRequest
|
||||||
{
|
{
|
||||||
|
using callback_arg_t = void*;
|
||||||
|
|
||||||
struct header
|
struct header
|
||||||
{
|
{
|
||||||
header* next;
|
header* next;
|
||||||
@ -135,7 +137,7 @@ class AsyncHTTPRequest
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
using readyStateChangeCB = std::function<void(void*, AsyncHTTPRequest*, ReadyState readyState)>;
|
using readyStateChangeCB = std::function<void(callback_arg_t, AsyncHTTPRequest*, ReadyState readyState)>;
|
||||||
using onDataCB = std::function<void(void*, AsyncHTTPRequest*, size_t available)>;
|
using onDataCB = std::function<void(void*, AsyncHTTPRequest*, size_t available)>;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
@ -149,8 +151,8 @@ class AsyncHTTPRequest
|
|||||||
bool debug() const; // is debug on or off?
|
bool debug() const; // is debug on or off?
|
||||||
|
|
||||||
bool open(const char* method, const char* URL); // Initiate a request
|
bool open(const char* method, const char* URL); // Initiate a request
|
||||||
void onReadyStateChange(readyStateChangeCB, void* arg = 0); // Optional event handler for ready state change
|
void onReadyStateChange(readyStateChangeCB, callback_arg_t arg = 0); // Optional event handler for ready state change
|
||||||
void onReadyStateChangeArg(void* arg = 0); // set event handlers arg
|
void onReadyStateChangeArg(callback_arg_t arg = 0); // set event handlers arg
|
||||||
// or you can simply poll readyState()
|
// or you can simply poll readyState()
|
||||||
void setTimeout(int seconds); // overide default timeout (seconds)
|
void setTimeout(int seconds); // overide default timeout (seconds)
|
||||||
|
|
||||||
@ -217,7 +219,7 @@ class AsyncHTTPRequest
|
|||||||
size_t _contentLength; // content-length header value or sum of chunk headers
|
size_t _contentLength; // content-length header value or sum of chunk headers
|
||||||
size_t _contentRead; // number of bytes retrieved by user since last open()
|
size_t _contentRead; // number of bytes retrieved by user since last open()
|
||||||
readyStateChangeCB _readyStateChangeCB; // optional callback for readyState change
|
readyStateChangeCB _readyStateChangeCB; // optional callback for readyState change
|
||||||
void* _readyStateChangeCBarg; // associated user argument
|
callback_arg_t _readyStateChangeCBarg; // associated user argument
|
||||||
onDataCB _onDataCB; // optional callback when data received
|
onDataCB _onDataCB; // optional callback when data received
|
||||||
void* _onDataCBarg; // associated user argument
|
void* _onDataCBarg; // associated user argument
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user