// EnergyWebServer.h

// https://github.com/me-no-dev/ESPAsyncWebServer

#ifndef _ENERGYWEBSERVER_h
#define _ENERGYWEBSERVER_h

#include "Arduino.h"
#include <UrsAsyncWebServer.h>
#include "EMSettings.h"
#include "Globals.h"


class EnergyWebServerClass : public UrsAsyncWebServerClass { 
protected:
  void handleIndexHTML(AsyncWebServerRequest * request);  // Behandelt Aufrufe zu index.html
  void handleData(AsyncWebServerRequest * request);       // Behandelt Aufrufe zu data
public:

  EnergyWebServerClass(int port = 80) : UrsAsyncWebServerClass(port) { }; // Initialisiert eine neue Instanz von EnergyWebServerClass
  bool energySensorShouldReset = false;  // Wird asynchron gesetzt, wenn der Verbrauchszaähler zurück gesetzt werden soll

  void begin(EMSettingsClass& settings, String authenticationUsername, String authenticationPassword, String authenticationRealm);
};

extern EnergyWebServerClass EnergyWebServer;

#endif

