Skip to content

Commit b34b374

Browse files
drslebedevwirew0rm
authored andcommitted
Bug fixing in RestClientEmscripten
Signed-off-by: drslebedev <[email protected]>
1 parent 748b319 commit b34b374

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

src/client/include/RestClientEmscripten.hpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ namespace detail {
2626
#pragma GCC diagnostic push
2727
#pragma GCC diagnostic ignored "-Wdollar-in-identifier-extension"
2828
static std::string getFinalURL(std::uint32_t id) {
29-
auto finalURLChar = static_cast<char *>(EM_ASM_PTR({
29+
auto finalURLChar = static_cast<char *>(EM_ASM_PTR({
3030
var fetch = Fetch.xhrs.get($0);
3131
if (fetch) {
3232
var finalURL = fetch.responseURL;
@@ -36,6 +36,9 @@ static std::string getFinalURL(std::uint32_t id) {
3636
return stringOnWasmHeap;
3737
}
3838
return 0; }, id));
39+
if (finalURLChar == nullptr) {
40+
return {};
41+
}
3942
std::string finalURL{ finalURLChar, strlen(finalURLChar) };
4043
EM_ASM({ _free($0) }, finalURLChar);
4144
return finalURL;
@@ -63,7 +66,7 @@ struct pointer_hash {
6366

6467
auto checkedStringViewSize = [](auto numBytes) {
6568
if (numBytes > std::numeric_limits<std::string_view::size_type>::max()) {
66-
throw std::format("We received more data than we can handle {}", numBytes);
69+
throw std::out_of_range(std::format("We received more data than we can handle {}", numBytes));
6770
}
6871
return static_cast<std::string_view::size_type>(numBytes);
6972
};

0 commit comments

Comments
 (0)