Files
2025-07-28 01:31:37 -07:00

36 lines
900 B
C++

#include "web_handler.h"
#include "esphome/core/log.h"
#include <esphome/components/logger/logger.h>
namespace esphome {
namespace web_handler {
static const char *TAG = "web_handler";
void WebHandler::setup() {
base_->add_handler(this);
}
void WebHandler::dump_config() {
ESP_LOGCONFIG(TAG, "Listening on path '%s'", path_.c_str());
}
bool WebHandler::canHandle(AsyncWebServerRequest *request) const {
return (std::string(request->url().c_str()) == path_);
}
void WebHandler::handleRequest(AsyncWebServerRequest *request) {
AsyncResponseStream *stream = request->beginResponseStream(mime_type_.c_str());
handler_->trigger(*request, *stream);
request->send(stream);
}
bool WebHandler::isRequestHandlerTrivial() const { return false; }
RequestHandler::RequestHandler(WebHandler *parent) {
parent->set_request_handler(this);
}
} // namespace web_handler
} // namespace esphome