forked from fhessel/esp32_https_server
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathHTTPMiddlewareFunction.hpp
More file actions
26 lines (23 loc) · 1.07 KB
/
HTTPMiddlewareFunction.hpp
File metadata and controls
26 lines (23 loc) · 1.07 KB
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
#ifndef SRC_HTTPMIDDLEWAREFUNCTION_HPP_
#define SRC_HTTPMIDDLEWAREFUNCTION_HPP_
#include <functional>
#include "HTTPRequest.hpp"
#include "HTTPResponse.hpp"
#include "HTTPSCallbackFunction.hpp"
namespace httpsserver {
class HTTPRequest;
/**
* \brief A middleware function that can be registered at the server.
*
* It will be called before an incoming request is passed to any HTTPSCallbackFunction and may perform
* operations like redirects or authentication.
*
* It receives the request and response object as well as a function pointer ("next") to pass on processing.
* This allows chaining those functions. If next() is not called, the HTTPSCallbackFunction that
* would match the request url will not be invoked. This might become handy if you want to intercept request
* handling in case of missing authentication. Don't forget to call next in case you want to access your
* resources, though.
*/
typedef void (HTTPSMiddlewareFunction)(HTTPRequest * req, HTTPResponse * res, std::function<void()> next);
}
#endif /* SRC_HTTPMIDDLEWAREFUNCTION_HPP_ */