ESP32_ChinaDieselHeater_Con.../lib/esp32_https_server-master/src/HTTPMiddlewareFunction.hpp

27 lines
1.1 KiB
C++

#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_ */