ESP32 HTTPS Server: /home/frank/Projekte/esp32/https_server/esp32_https_server/src/ResourceResolver.hpp Source File

1 #ifndef SRC_RESOURCERESOLVER_HPP_

2 #define SRC_RESOURCERESOLVER_HPP_

3 

4 #include <string>

5 

6 #undef min

7 #undef max

8 #include <vector>

9 #include <algorithm>

10 

11 #include "HTTPNode.hpp"

12 #include "WebsocketNode.hpp"

13 #include "ResourceNode.hpp"

14 #include "ResolvedResource.hpp"

15 #include "HTTPMiddlewareFunction.hpp"

16 

18 

23 public:

26 

29  void setDefaultNode(HTTPNode *node);

30  void resolveNode(const std::string &method, const std::string &url, ResolvedResource &resolvedResource, HTTPNodeType nodeType);

31 

37  const std::vector<HTTPSMiddlewareFunction*> getMiddleware();

38 

39 private:

40 

41 

42  std::vector<HTTPNode*> * _nodes;

44 

45 

46  std::vector<const HTTPSMiddlewareFunction*> _middleware;

47 };

48 

49 }

50 

51 #endif

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

Definition: HTTPNode.hpp:26

This class is used internally to resolve a string URL to the corresponding HTTPNode.

Definition: ResourceResolver.hpp:22

HTTPNodeType

Definition: HTTPNode.hpp:13

void unregisterNode(HTTPNode *node)

Definition: ResourceResolver.cpp:24

void registerNode(HTTPNode *node)

Definition: ResourceResolver.cpp:17

void addMiddleware(const HTTPSMiddlewareFunction *mwFunction)

Definition: ResourceResolver.cpp:163

const std::vector< HTTPSMiddlewareFunction * > getMiddleware()

Definition: ResourceResolver.cpp:171

Definition: ConnectionContext.cpp:3

This class represents a resolved resource, meaning the result of mapping a string URL to an HTTPNode...

Definition: ResolvedResource.hpp:12

void removeMiddleware(const HTTPSMiddlewareFunction *mwFunction)

Definition: ResourceResolver.cpp:167

void() HTTPSMiddlewareFunction(HTTPRequest *req, HTTPResponse *res, std::function< void()> next)

A middleware function that can be registered at the server.

Definition: HTTPMiddlewareFunction.hpp:24