-
-
Notifications
You must be signed in to change notification settings - Fork 25
/
Copy pathcoredump.h
38 lines (29 loc) · 1.18 KB
/
coredump.h
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
#pragma once
#include "esphome/core/component.h"
#include "esphome/components/web_server_base/web_server_base.h"
#include <vector>
namespace esphome {
namespace coredump {
class Coredump : public Component, public AsyncWebHandler {
public:
explicit Coredump(web_server_base::WebServerBase *base) : base_(base) {}
void setup() override;
void dump_config() override;
float get_setup_priority() const override { return setup_priority::WIFI - 1.0f; }
bool canHandle(AsyncWebServerRequest *request) override;
void handleRequest(AsyncWebServerRequest *request) override;
protected:
web_server_base::WebServerBase *base_;
const char *index_url_{"/coredump/"};
const char *erase_url_{"/coredump/erase"};
const char *download_url_{"/coredump/coredump.elf"};
const char *crash_url_{"/coredump/crash"};
const char *css_url_{"https://cdn.jsdelivr.net/npm/@picocss/pico@2/css/pico.classless.min.css"};
void css_(AsyncWebServerRequest *request);
void index_(AsyncWebServerRequest *request);
void erase_(AsyncWebServerRequest *request);
void crash_(AsyncWebServerRequest *request);
void download_(AsyncWebServerRequest *request);
};
} // namespace coredump
} // namespace esphome