forked from me-no-dev/ESPAsyncWebServer
-
Notifications
You must be signed in to change notification settings - Fork 82
Closed
Labels
Description
Platform
ESP32
IDE / Tooling
pioarduino
What happened?
[vite] http proxy error: /get-widget
Error: Parse Error: Data after `Connection: close`
at Socket.socketOnData (node:_http_client:558:22)
at Socket.emit (node:events:519:28)
at addChunk (node:internal/streams/readable:561:12)
at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)
at Readable.push (node:internal/streams/readable:392:5)
at TCP.onStreamRead (node:internal/stream_base_commons:189:23)
node:events:497
throw er; // Unhandled 'error' event
^
Error [ERR_STREAM_WRITE_AFTER_END]: write after end
at write_ (node:_http_outgoing:956:11)
at ServerResponse.write (node:_http_outgoing:905:15)
at IncomingMessage.ondata (node:internal/streams/readable:1009:22)
at IncomingMessage.emit (node:events:519:28)
at Readable.read (node:internal/streams/readable:782:10)
at flow (node:internal/streams/readable:1283:53)
at resume_ (node:internal/streams/readable:1262:3)
at process.processTicksAndRejections (node:internal/process/task_queues:90:21)
Emitted 'error' event on ServerResponse instance at:
at emitErrorNt (node:_http_outgoing:928:9)
at process.processTicksAndRejections (node:internal/process/task_queues:91:21) {
code: 'ERR_STREAM_WRITE_AFTER_END'
}
Stack Trace
~/.platformio/packages/toolchain-xtensa-esp32/bin/xtensa-esp32-elf-addr2line -pfiaC -e .pio/build/esp-wrover-kit/firmware.elf 0x400905de 0x40162cb1 0x401c087d 0x40256c92
0x400905de: tcp_recved at C:\Users\Denis\.platformio\packages\framework-espidf\components\lwip\lwip\src\core/tcp.c:985
0x40162cb1: _tcp_abort_api(tcpip_api_call_data*) at C:\Users\Denis\Documents\PlatformIO\Projects\switch_wifi/.pio/libdeps/esp-wrover-kit/AsyncTCP@src-3d2743e0c28a86159a81736b0029ad30/src/AsyncTCP.cpp:674
0x401c087d: lwip_shutdown at C:\Users\Denis\.platformio\packages\framework-espidf\components\lwip\lwip\src\api/sockets.c:2757 (discriminator 1)
0x40256c92: vPortTaskWrapper at port.c:?
Minimal Reproductible Example (MRE)
server
.on("/get-widget", HTTP_GET,
[](AsyncWebServerRequest *request) {
String sessionToken = request->getAttribute("X-Session-Token");
AsyncJsonResponse *jsonresponse =
new AsyncJsonResponse(false);
JsonObject output = jsonresponse->getRoot().to<JsonObject>();
if (!sessionToken.length()) {
jsonresponse->setCode(401);
output["message"] = "no session";
output["success"] = false;
jsonresponse->setLength();
return request->send(jsonresponse);
}
bool widgetsLoaded = Widgetmanager.getAllWidgets(output);
if (!widgetsLoaded) {
jsonresponse->setCode(500);
Serial.println("error widget");
output["message"] =
"error scenar";
output["success"] = false;
jsonresponse->setLength();
return request->send(jsonresponse);
}
jsonresponse->setCode(200);
Serial.println("Lecture réussie");
output["message"] = "scenar ready";
output["success"] = true;
jsonresponse->setLength();
return request->send(jsonresponse);
})
.addMiddleware(&testAuth);
I confirm that:
- I have read the documentation.
- I have searched for similar discussions.
- I have searched for similar issues.
- I have looked at the examples.
- I have upgraded to the lasted version of ESPAsyncWebServer (and AsyncTCP for ESP32).