Skip to content

Commit 995df43

Browse files
committed
Add LibreTiny support macros
1 parent b458d86 commit 995df43

File tree

8 files changed

+31
-7
lines changed

8 files changed

+31
-7
lines changed

src/AsyncEventSource.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
#include <Arduino.h>
88

9-
#ifdef ESP32
9+
#if defined(ESP32) || defined(LIBRETINY)
1010
#include <AsyncTCP.h>
1111
#include <mutex>
1212
#ifndef SSE_MAX_QUEUED_MESSAGES

src/AsyncWebSocket.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717
#include <rom/ets_sys.h>
1818
#elif defined(TARGET_RP2040) || defined(TARGET_RP2350) || defined(PICO_RP2040) || defined(PICO_RP2350) || defined(ESP8266)
1919
#include <Hash.h>
20+
#elif defined(LIBRETINY)
21+
#include <mbedtls/sha1.h>
2022
#endif
2123

2224
using namespace asyncsrv;
@@ -1327,11 +1329,20 @@ AsyncWebSocketResponse::AsyncWebSocketResponse(const String &key, AsyncWebSocket
13271329
}
13281330
k.concat(key);
13291331
k.concat(WS_STR_UUID);
1332+
#ifdef LIBRETINY
1333+
mbedtls_sha1_context ctx;
1334+
mbedtls_sha1_init(&ctx);
1335+
mbedtls_sha1_starts(&ctx);
1336+
mbedtls_sha1_update(&ctx, (const uint8_t *)k.c_str(), k.length());
1337+
mbedtls_sha1_finish(&ctx, hash);
1338+
mbedtls_sha1_free(&ctx);
1339+
#else
13301340
SHA1Builder sha1;
13311341
sha1.begin();
13321342
sha1.add((const uint8_t *)k.c_str(), k.length());
13331343
sha1.calculate();
13341344
sha1.getBytes(hash);
1345+
#endif
13351346
#endif
13361347
base64_encodestate _state;
13371348
base64_init_encodestate(&_state);

src/AsyncWebSocket.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
#define ASYNCWEBSOCKET_H_
66

77
#include <Arduino.h>
8-
#ifdef ESP32
8+
9+
#if defined(ESP32) || defined(LIBRETINY)
910
#include <AsyncTCP.h>
1011
#include <mutex>
1112
#ifndef WS_MAX_QUEUED_MESSAGES

src/ESPAsyncWebServer.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
#include <unordered_map>
1616
#include <vector>
1717

18-
#ifdef ESP32
18+
#if defined(ESP32) || defined(LIBRETINY)
1919
#include <AsyncTCP.h>
2020
#elif defined(ESP8266)
2121
#include <ESPAsyncTCP.h>
@@ -1097,7 +1097,7 @@ class AsyncWebServer : public AsyncMiddlewareChain {
10971097
void end();
10981098

10991099
tcp_state state() const {
1100-
#ifdef ESP8266
1100+
#if defined(ESP8266) || defined(LIBRETINY)
11011101
// ESPAsyncTCP and RPAsyncTCP methods are not corrected declared with const for immutable ones.
11021102
return static_cast<tcp_state>(const_cast<AsyncWebServer *>(this)->_server.status());
11031103
#else

src/Middleware.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,11 @@ void AsyncLoggingMiddleware::run(AsyncWebServerRequest *request, ArMiddlewareNex
172172
return;
173173
}
174174
_out->print(F("* Connection from "));
175+
#ifndef LIBRETINY
175176
_out->print(request->client()->remoteIP().toString());
177+
#else
178+
_out->print(request->client()->remoteIP());
179+
#endif
176180
_out->print(':');
177181
_out->println(request->client()->remotePort());
178182
_out->print('>');

src/WebHandlers.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -209,11 +209,14 @@ void AsyncStaticWebHandler::handleRequest(AsyncWebServerRequest *request) {
209209
char buf[len];
210210
char *ret = lltoa(lw ^ request->_tempFile.size(), buf, len, 10);
211211
etag = ret ? String(ret) : String(request->_tempFile.size());
212+
#elif defined(LIBRETINY)
213+
long val = lw ^ request->_tempFile.size();
214+
etag = String(val);
212215
#else
213216
etag = lw ^ request->_tempFile.size(); // etag combines file size and lastmod timestamp
214217
#endif
215218
} else {
216-
#if defined(TARGET_RP2040) || defined(TARGET_RP2350) || defined(PICO_RP2040) || defined(PICO_RP2350)
219+
#if defined(TARGET_RP2040) || defined(TARGET_RP2350) || defined(PICO_RP2040) || defined(PICO_RP2350) || defined(LIBRETINY)
217220
etag = String(request->_tempFile.size());
218221
#else
219222
etag = request->_tempFile.size();

src/WebRequest.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -394,7 +394,7 @@ bool AsyncWebServerRequest::_parseReqHeader() {
394394
}
395395
_headers.emplace_back(name, value);
396396
}
397-
#if defined(TARGET_RP2040) || defined(TARGET_RP2350) || defined(PICO_RP2040) || defined(PICO_RP2350)
397+
#if defined(TARGET_RP2040) || defined(TARGET_RP2350) || defined(PICO_RP2040) || defined(PICO_RP2350) || defined(LIBRETINY)
398398
// Ancient PRI core does not have String::clear() method 8-()
399399
_temp = emptyString;
400400
#else
@@ -419,7 +419,7 @@ void AsyncWebServerRequest::_parsePlainPostChar(uint8_t data) {
419419
_params.emplace_back(name, urlDecode(value), true);
420420
}
421421

422-
#if defined(TARGET_RP2040) || defined(TARGET_RP2350) || defined(PICO_RP2040) || defined(PICO_RP2350)
422+
#if defined(TARGET_RP2040) || defined(TARGET_RP2350) || defined(PICO_RP2040) || defined(PICO_RP2350) || defined(LIBRETINY)
423423
// Ancient PRI core does not have String::clear() method 8-()
424424
_temp = emptyString;
425425
#else

src/literals.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@
33

44
#pragma once
55

6+
#ifdef LIBRETINY
7+
extern const String emptyStringForEspAsync;
8+
#define emptyString emptyStringForEspAsync
9+
#endif
10+
611
namespace asyncsrv {
712

813
static constexpr const char *empty = "";

0 commit comments

Comments
 (0)