diff options
author | David Crocker <dcrocker@eschertech.com> | 2021-12-22 16:47:27 +0300 |
---|---|---|
committer | David Crocker <dcrocker@eschertech.com> | 2021-12-22 16:47:27 +0300 |
commit | 4300c3d6d8f5e4f2634b9a738ac7bd326606d2bb (patch) | |
tree | 64d9d6b0df26a06d837bf4db0ae8f1deeb2c4c70 | |
parent | 3ac3345333659785dcd21088ae0b9b93ec914a4d (diff) |
Fixed CRC errors when uploading on Duet 3 and 3 Mini Ethernet
-rw-r--r-- | src/Networking/HttpResponder.cpp | 22 |
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) |