ESP32 HTTPS Server
httpsserver::HTTPNode Class Referenceabstract

Base class for a URL/route-handler in the server. More...

#include <HTTPNode.hpp>

Inheritance diagram for httpsserver::HTTPNode:

Public Member Functions

 HTTPNode (const std::string &path, const HTTPNodeType nodeType, const std::string &tag="")
 
bool hasPathParameter ()
 
size_t getPathParamCount ()
 
ssize_t getParamIdx (size_t)
 
std::vector< HTTPValidator * > * getValidators ()
 
virtual std::string getMethod ()=0
 
void addPathParamValidator (size_t paramIdx, const HTTPValidationFunction *validator)
 

Public Attributes

const std::string _path
 
const std::string _tag
 
const HTTPNodeType _nodeType
 

Detailed Description

Base class for a URL/route-handler in the server.

Use ResourceNode for requests that access dynamic or static resources or HttpNode for routes that create Websockets.

Member Function Documentation

◆ addPathParamValidator()

void httpsserver::HTTPNode::addPathParamValidator ( size_t  paramIdx,
const HTTPValidationFunction *  validator 
)

Adds a validation function that checks if the actual value of a parameter matches the expectation

Parameters
paramIdxdefines the ID of the parameter that should be checked (starts by 0)
validatorthe function (string -> bool) that checks if the parameter matches the expecatation
See also
ValidatorFunctions.hpp if you need some predefined templates for functions

Member Data Documentation

◆ _nodeType

const HTTPNodeType httpsserver::HTTPNode::_nodeType

Stores the type of the node (as we have not runtime type information by default)

◆ _path

const std::string httpsserver::HTTPNode::_path

The path under which this node will be available. Should start with a slash. Example: "/myResource"

◆ _tag

const std::string httpsserver::HTTPNode::_tag

Stores a tag that can be used in middleware and handler functions to identify this specific node, tag the node with a required permission, ...


The documentation for this class was generated from the following files: