mandatoryHttpHeaderCount fix

This commit is contained in:
joe
2016-06-09 19:48:38 +01:00
parent 97443ae777
commit 7e5c64a573
3 changed files with 11 additions and 5 deletions

View File

@ -75,7 +75,8 @@ void setup() {
//connecting clients must supply a valid session cookie at websocket upgrade handshake negotiation time //connecting clients must supply a valid session cookie at websocket upgrade handshake negotiation time
const char * headerkeys[] = { "Cookie" }; const char * headerkeys[] = { "Cookie" };
webSocket.onValidateHttpHeader(validateHttpHeader, headerkeys); size_t headerKeyCount = sizeof(headerkeys) / sizeof(char*);
webSocket.onValidateHttpHeader(validateHttpHeader, headerkeys, headerKeyCount);
webSocket.begin(); webSocket.begin();
} }

View File

@ -129,18 +129,20 @@ void WebSocketsServer::onEvent(WebSocketServerEvent cbEvent) {
/* /*
* Sets the custom http header validator function * Sets the custom http header validator function
* @param httpHeaderValidationFunc WebSocketServerHttpHeaderValFunc ///< pointer to the custom http header validation function * @param httpHeaderValidationFunc WebSocketServerHttpHeaderValFunc ///< pointer to the custom http header validation function
* @param mandatoryHttpHeaders const char* ///< the array of named http headers considered to be mandatory / must be present in order for websocket upgrade to succeed * @param mandatoryHttpHeaders[] const char* ///< the array of named http headers considered to be mandatory / must be present in order for websocket upgrade to succeed
* @param mandatoryHttpHeaderCount size_t ///< the number of items in the mandatoryHttpHeaders array
*/ */
void WebSocketsServer::onValidateHttpHeader( void WebSocketsServer::onValidateHttpHeader(
WebSocketServerHttpHeaderValFunc validationFunc, WebSocketServerHttpHeaderValFunc validationFunc,
const char* mandatoryHttpHeaders[]) const char* mandatoryHttpHeaders[],
size_t mandatoryHttpHeaderCount)
{ {
_httpHeaderValidationFunc = validationFunc; _httpHeaderValidationFunc = validationFunc;
if (_mandatoryHttpHeaders) if (_mandatoryHttpHeaders)
delete[] _mandatoryHttpHeaders; delete[] _mandatoryHttpHeaders;
_mandatoryHttpHeaderCount = (sizeof(mandatoryHttpHeaders) / sizeof(char*)); _mandatoryHttpHeaderCount = mandatoryHttpHeaderCount;
_mandatoryHttpHeaders = new String[_mandatoryHttpHeaderCount]; _mandatoryHttpHeaders = new String[_mandatoryHttpHeaderCount];
for (size_t i = 0; i < _mandatoryHttpHeaderCount; i++) { for (size_t i = 0; i < _mandatoryHttpHeaderCount; i++) {

View File

@ -57,7 +57,10 @@ public:
#endif #endif
void onEvent(WebSocketServerEvent cbEvent); void onEvent(WebSocketServerEvent cbEvent);
void onValidateHttpHeader(WebSocketServerHttpHeaderValFunc validationFunc, const char* mandatoryHttpHeaders[]); void onValidateHttpHeader(
WebSocketServerHttpHeaderValFunc validationFunc,
const char* mandatoryHttpHeaders[],
size_t mandatoryHttpHeaderCount);
bool sendTXT(uint8_t num, uint8_t * payload, size_t length = 0, bool headerToPayload = false); bool sendTXT(uint8_t num, uint8_t * payload, size_t length = 0, bool headerToPayload = false);