mirror of
https://github.com/HASwitchPlate/openHASP.git
synced 2025-07-24 11:46:34 +00:00
Add HASP_USE_HTTP_ASYNC
This commit is contained in:
parent
56c0f6e784
commit
84f5685ca7
@ -58,6 +58,10 @@
|
||||
#define HASP_USE_HTTP (HASP_HAS_NETWORK)
|
||||
#endif
|
||||
|
||||
#ifndef HASP_USE_HTTP_ASYNC
|
||||
#define HASP_USE_HTTP_ASYNC 0 //(HASP_HAS_NETWORK)
|
||||
#endif
|
||||
|
||||
#ifndef HASP_USE_MDNS
|
||||
#define HASP_USE_MDNS (HASP_HAS_NETWORK)
|
||||
#endif
|
||||
@ -224,6 +228,10 @@ static WiFiSpiClass WiFi;
|
||||
#include "sys/svc/hasp_http.h"
|
||||
#endif
|
||||
|
||||
#if HASP_USE_HTTP_ASYNC > 0
|
||||
#include "sys/svc/hasp_http.h"
|
||||
#endif
|
||||
|
||||
#if HASP_USE_CONSOLE > 0
|
||||
#include "sys/svc/hasp_console.h"
|
||||
#endif
|
||||
|
@ -90,7 +90,7 @@ void setup()
|
||||
otaSetup();
|
||||
#endif
|
||||
|
||||
#if HASP_USE_HTTP > 0
|
||||
#if HASP_USE_HTTP > 0 || HASP_USE_HTTP_ASYNC > 0
|
||||
httpSetup();
|
||||
#endif
|
||||
|
||||
@ -160,8 +160,8 @@ IRAM_ATTR void loop()
|
||||
break;
|
||||
|
||||
case 2:
|
||||
#if HASP_USE_HTTP > 0
|
||||
// httpEvery5Seconds();
|
||||
#if HASP_USE_HTTP_ASYNC > 0
|
||||
httpEvery5Seconds();
|
||||
#endif
|
||||
break;
|
||||
|
||||
|
@ -31,7 +31,7 @@ void networkStart(void)
|
||||
haspReconnect();
|
||||
debugStartSyslog();
|
||||
// mqttStart();
|
||||
#if HASP_USE_HTTP > 0
|
||||
#if HASP_USE_HTTP > 0 || HASP_USE_HTTP_ASYNC > 0
|
||||
httpStart();
|
||||
#endif
|
||||
#if HASP_USE_MDNS > 0
|
||||
@ -45,7 +45,7 @@ void networkStop(void)
|
||||
|
||||
debugStopSyslog();
|
||||
// mqttStop();
|
||||
#if HASP_USE_HTTP > 0
|
||||
#if HASP_USE_HTTP > 0 || HASP_USE_HTTP_ASYNC > 0
|
||||
httpStop();
|
||||
#endif
|
||||
mdnsStop();
|
||||
|
2419
src/sys/svc/hasp_http_async.cpp
Normal file
2419
src/sys/svc/hasp_http_async.cpp
Normal file
File diff suppressed because it is too large
Load Diff
@ -29,7 +29,7 @@ EthernetClient telnetClient;
|
||||
static EthernetServer telnetServer(23);
|
||||
#endif
|
||||
|
||||
#if HASP_USE_HTTP > 0
|
||||
#if HASP_USE_HTTP > 0 || HASP_USE_HTTP_ASYNC > 0
|
||||
extern hasp_http_config_t http_config;
|
||||
#endif
|
||||
|
||||
@ -48,9 +48,10 @@ void telnet_update_prompt()
|
||||
bufferedTelnetClient.flush();
|
||||
}
|
||||
|
||||
void telnetStop(void)
|
||||
static void telnetClientDisconnect()
|
||||
{
|
||||
LOG_TRACE(TAG_TELN, F(D_TELNET_CLOSING_CONNECTION), telnetClient.remoteIP().toString().c_str());
|
||||
if(telnetClient.connected())
|
||||
LOG_TRACE(TAG_TELN, F(D_TELNET_CLOSING_CONNECTION), telnetClient.remoteIP().toString().c_str());
|
||||
Log.unregisterOutput(1); // telnetClient
|
||||
telnetClient.stop();
|
||||
|
||||
@ -60,9 +61,11 @@ void telnetStop(void)
|
||||
telnetConsole = NULL;
|
||||
}
|
||||
|
||||
static inline void telnetClientDisconnect()
|
||||
void telnetStop(void)
|
||||
{
|
||||
telnetStop();
|
||||
telnetClientDisconnect();
|
||||
delete telnetServer;
|
||||
telnetServer = NULL;
|
||||
}
|
||||
|
||||
void telnetClientLogon()
|
||||
@ -99,7 +102,7 @@ void telnetAcceptClient()
|
||||
// telnetClient.print((char)0xFD);
|
||||
// telnetClient.print((char)0x1B);
|
||||
|
||||
#if HASP_USE_HTTP > 0
|
||||
#if HASP_USE_HTTP > 0 || HASP_USE_HTTP_ASYNC > 0
|
||||
if(strlen(http_config.user) != 0 || strlen(http_config.password) != 0) {
|
||||
telnetClient.println(F("\r\n" D_USERNAME " "));
|
||||
telnetLoginState = TELNET_UNAUTHENTICATED;
|
||||
@ -119,7 +122,7 @@ static inline void telnetProcessLine()
|
||||
switch(telnetLoginState) {
|
||||
case TELNET_UNAUTHENTICATED: {
|
||||
telnetClient.printf(PSTR(D_PASSWORD" %c%c%c"), 0xFF, 0xFB, 0x01); // Hide characters
|
||||
#if HASP_USE_HTTP > 0
|
||||
#if HASP_USE_HTTP > 0 || HASP_USE_HTTP_ASYNC > 0
|
||||
telnetLoginState = strcmp(telnetInputBuffer, http_config.user) == 0 ? TELNET_USERNAME_OK : TELNET_USERNAME_NOK;
|
||||
break;
|
||||
}
|
||||
@ -205,7 +208,7 @@ static void telnetProcessLine(const char* input)
|
||||
snprintf_P(buffer, sizeof(buffer), PSTR(D_PASSWORD " %c%c%c\n"), 0xFF, 0xFB,
|
||||
0x01); // Hide characters
|
||||
telnetClient.print(buffer);
|
||||
#if HASP_USE_HTTP > 0
|
||||
#if HASP_USE_HTTP > 0 || HASP_USE_HTTP_ASYNC > 0
|
||||
telnetLoginState = strcmp(input, http_config.user) == 0 ? TELNET_USERNAME_OK : TELNET_USERNAME_NOK;
|
||||
break;
|
||||
}
|
||||
@ -235,7 +238,7 @@ static void telnetProcessLine(const char* input)
|
||||
strcasecmp_P(input, PSTR("bye")) == 0) {
|
||||
telnetClientDisconnect();
|
||||
} else if(strcasecmp_P(input, PSTR("logoff")) == 0) {
|
||||
#if HASP_USE_HTTP > 0
|
||||
#if HASP_USE_HTTP > 0 || HASP_USE_HTTP_ASYNC > 0
|
||||
if(strcmp(input, http_config.password) == 0) {
|
||||
telnetClient.println(F("\r\n" D_USERNAME " "));
|
||||
telnetLoginState = TELNET_UNAUTHENTICATED;
|
||||
@ -250,7 +253,7 @@ static void telnetProcessLine(const char* input)
|
||||
}
|
||||
}
|
||||
|
||||
void telnetSetup()
|
||||
void telnetStart()
|
||||
{
|
||||
// telnetSetConfig(settings);
|
||||
|
||||
@ -283,6 +286,9 @@ void telnetSetup()
|
||||
}
|
||||
}
|
||||
|
||||
void telnetSetup()
|
||||
{telnetStart();}
|
||||
|
||||
IRAM_ATTR void telnetLoop()
|
||||
{
|
||||
// Basic telnet client handling code from: https://gist.github.com/tablatronix/4793677ca748f5f584c95ec4a2b10303
|
||||
|
Loading…
x
Reference in New Issue
Block a user