From d6caec2240046b5c44ee2a59c8b2b5fdb24ef1f6 Mon Sep 17 00:00:00 2001 From: Alex Hultman Date: Wed, 14 Oct 2020 22:00:22 +0200 Subject: [PATCH] Update uWS.getParts for dealing with empty parts --- src/addon.cpp | 6 ++++-- uWebSockets | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/addon.cpp b/src/addon.cpp index 95ca9263..204086ec 100644 --- a/src/addon.cpp +++ b/src/addon.cpp @@ -91,11 +91,13 @@ void uWS_getParts(const FunctionCallbackInfo &args) { Local parts = Array::New(args.GetIsolate(), 0); while (true) { - std::string_view part = mp.getNextPart(headers); - if (!part.length()) { + std::optional optionalPart = mp.getNextPart(headers); + if (!optionalPart.has_value()) { break; } + std::string_view part = optionalPart.value(); + Local partArrayBuffer = ArrayBuffer::New(isolate, (void *) part.data(), part.length()); Local partMap = Map::New(isolate); partMap->Set(isolate->GetCurrentContext(), String::NewFromUtf8(isolate, "data", NewStringType::kNormal).ToLocalChecked(), partArrayBuffer); diff --git a/uWebSockets b/uWebSockets index 70d06059..59a38b3a 160000 --- a/uWebSockets +++ b/uWebSockets @@ -1 +1 @@ -Subproject commit 70d060597ef45366c2e0d906e052b091fbb466a7 +Subproject commit 59a38b3a1316eba2a0dd986f6ae6834f6260aa07