Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Duet3D/RepRapFirmware.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Crocker <dcrocker@eschertech.com>2021-12-22 16:47:27 +0300
committerDavid Crocker <dcrocker@eschertech.com>2021-12-22 16:47:27 +0300
commit4300c3d6d8f5e4f2634b9a738ac7bd326606d2bb (patch)
tree64d9d6b0df26a06d837bf4db0ae8f1deeb2c4c70
parent3ac3345333659785dcd21088ae0b9b93ec914a4d (diff)
Fixed CRC errors when uploading on Duet 3 and 3 Mini Ethernet
-rw-r--r--src/Networking/HttpResponder.cpp22
1 files changed, 10 insertions, 12 deletions
diff --git a/src/Networking/HttpResponder.cpp b/src/Networking/HttpResponder.cpp
index f191d545..9dea65b9 100644
--- a/src/Networking/HttpResponder.cpp
+++ b/src/Networking/HttpResponder.cpp
@@ -1288,22 +1288,20 @@ void HttpResponder::DoUpload() noexcept
size_t len;
if (skt->ReadBuffer(buffer, len))
{
- skt->Taken(len);
- uploadedBytes += len;
-
(void)CheckAuthenticated(); // uploading may take a long time, so make sure the requester IP is not timed out
timer = millis(); // reset the timer
- if (!dummyUpload)
+ const bool ok = dummyUpload || fileBeingUploaded.Write(buffer, len);
+ skt->Taken(len);
+ uploadedBytes += len;
+
+ if (!ok)
{
- if (!fileBeingUploaded.Write(buffer, len))
- {
- uploadError = true;
- GetPlatform().Message(ErrorMessage, "HTTP: could not write upload data\n");
- CancelUpload();
- SendJsonResponse("upload");
- return;
- }
+ uploadError = true;
+ GetPlatform().Message(ErrorMessage, "HTTP: could not write upload data\n");
+ CancelUpload();
+ SendJsonResponse("upload");
+ return;
}
}
else if (!skt->CanRead() || millis() - timer >= HttpSessionTimeout)