Allow callback when request disconnects (#284)
* Allow callback when request disconnects * Use typedef std::function<void(void)> ArDisconnectHandler
This commit is contained in:
parent
8604f67a5f
commit
63b5303880
|
@ -62,6 +62,7 @@ typedef enum {
|
|||
HTTP_ANY = 0b01111111,
|
||||
} WebRequestMethod;
|
||||
typedef uint8_t WebRequestMethodComposite;
|
||||
typedef std::function<void(void)> ArDisconnectHandler;
|
||||
|
||||
/*
|
||||
* PARAMETER :: Chainable object to hold GET/POST and FILE parameters
|
||||
|
@ -128,6 +129,7 @@ class AsyncWebServerRequest {
|
|||
AsyncWebHandler* _handler;
|
||||
AsyncWebServerResponse* _response;
|
||||
StringArray _interestingHeaders;
|
||||
ArDisconnectHandler _onDisconnectfn;
|
||||
|
||||
String _temp;
|
||||
uint8_t _parseState;
|
||||
|
@ -202,6 +204,7 @@ class AsyncWebServerRequest {
|
|||
const char * requestedConnTypeToString() const;
|
||||
RequestedConnectionType requestedConnType() const { return _reqconntype; }
|
||||
bool isExpectedRequestedConnType(RequestedConnectionType erct1, RequestedConnectionType erct2 = RCT_NOT_USED, RequestedConnectionType erct3 = RCT_NOT_USED);
|
||||
void onDisconnect (ArDisconnectHandler fn);
|
||||
|
||||
//hash is the string representation of:
|
||||
// base64(user:pass) for basic or
|
||||
|
|
|
@ -214,8 +214,15 @@ void AsyncWebServerRequest::_onTimeout(uint32_t time){
|
|||
_client->close();
|
||||
}
|
||||
|
||||
void AsyncWebServerRequest::onDisconnect (ArDisconnectHandler fn){
|
||||
_onDisconnectfn=fn;
|
||||
}
|
||||
|
||||
void AsyncWebServerRequest::_onDisconnect(){
|
||||
//os_printf("d\n");
|
||||
if(_onDisconnectfn) {
|
||||
_onDisconnectfn();
|
||||
}
|
||||
_server->_handleDisconnect(this);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue