forked from fhessel/esp32_https_server
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathResourceResolver.hpp
More file actions
40 lines (31 loc) · 901 Bytes
/
ResourceResolver.hpp
File metadata and controls
40 lines (31 loc) · 901 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/*
* ResourceResolver.hpp
*
* Created on: Dec 12, 2017
* Author: frank
*/
#ifndef HTTPS_RESOURCERESOLVER_HPP_
#define HTTPS_RESOURCERESOLVER_HPP_
#include <string>
// Arduino declares it's own min max, incompatible with the stl...
#undef min
#undef max
#include <vector>
#include "ResourceNode.hpp"
#include "ResolvedResource.hpp"
namespace httpsserver {
class ResourceResolver {
public:
ResourceResolver();
~ResourceResolver();
void registerNode(ResourceNode *node);
void unregisterNode(ResourceNode *node);
void setDefaultNode(ResourceNode *node);
void resolveNode(const std::string &method, const std::string &url, ResolvedResource &resolvedResource);
private:
// This vector holds all nodes (with callbacks) that are registered
std::vector<ResourceNode*> * _nodes;
ResourceNode * _defaultNode;
};
} /* namespace httpsserver */
#endif /* HTTPS_RESOURCERESOLVER_HPP_ */