39 lines
982 B
C
39 lines
982 B
C
|
#ifndef UploadFirmwareService_h
|
||
|
#define UploadFirmwareService_h
|
||
|
|
||
|
#include <Arduino.h>
|
||
|
|
||
|
#ifdef ESP32
|
||
|
#include <Update.h>
|
||
|
#include <WiFi.h>
|
||
|
#include <AsyncTCP.h>
|
||
|
#elif defined(ESP8266)
|
||
|
#include <ESP8266WiFi.h>
|
||
|
#include <ESPAsyncTCP.h>
|
||
|
#endif
|
||
|
|
||
|
#include <ESPAsyncWebServer.h>
|
||
|
#include <SecurityManager.h>
|
||
|
#include <RestartService.h>
|
||
|
|
||
|
#define UPLOAD_FIRMWARE_PATH "/rest/uploadFirmware"
|
||
|
|
||
|
class UploadFirmwareService {
|
||
|
public:
|
||
|
UploadFirmwareService(AsyncWebServer* server, SecurityManager* securityManager);
|
||
|
|
||
|
private:
|
||
|
SecurityManager* _securityManager;
|
||
|
void handleUpload(AsyncWebServerRequest* request,
|
||
|
const String& filename,
|
||
|
size_t index,
|
||
|
uint8_t* data,
|
||
|
size_t len,
|
||
|
bool final);
|
||
|
void uploadComplete(AsyncWebServerRequest* request);
|
||
|
void handleError(AsyncWebServerRequest* request, int code);
|
||
|
static void handleEarlyDisconnect();
|
||
|
};
|
||
|
|
||
|
#endif // end UploadFirmwareService_h
|