# HG changeset patch # User Sebastien Jodogne # Date 1568474861 -7200 # Node ID 9893fa8cd7a6ca25712b00245d4cb4e3dc600826 # Parent 1f74bc3459ba578560be63f552b20560c82391ba send error message for HTTP fetching in wasm diff -r 1f74bc3459ba -r 9893fa8cd7a6 Framework/Oracle/WebAssemblyOracle.cpp --- a/Framework/Oracle/WebAssemblyOracle.cpp Thu Sep 12 08:27:12 2019 +0200 +++ b/Framework/Oracle/WebAssemblyOracle.cpp Sat Sep 14 17:27:41 2019 +0200 @@ -22,6 +22,7 @@ #include "WebAssemblyOracle.h" #include "SleepOracleCommand.h" +#include "OracleCommandExceptionMessage.h" #include #include @@ -352,19 +353,27 @@ static void FailureCallback(emscripten_fetch_t *fetch) { std::auto_ptr context(reinterpret_cast(fetch->userData)); - - const size_t kEmscriptenStatusTextSize = sizeof(emscripten_fetch_t::statusText); - char message[kEmscriptenStatusTextSize + 1]; - memcpy(message, fetch->statusText, kEmscriptenStatusTextSize); - message[kEmscriptenStatusTextSize] = 0; + + { + const size_t kEmscriptenStatusTextSize = sizeof(emscripten_fetch_t::statusText); + char message[kEmscriptenStatusTextSize + 1]; + memcpy(message, fetch->statusText, kEmscriptenStatusTextSize); + message[kEmscriptenStatusTextSize] = 0; - LOG(ERROR) << "Fetching " << fetch->url - << " failed, HTTP failure status code: " << fetch->status - << " | statusText = " << message - << " | numBytes = " << fetch->numBytes - << " | totalBytes = " << fetch->totalBytes - << " | readyState = " << fetch->readyState; + LOG(ERROR) << "Fetching " << fetch->url + << " failed, HTTP failure status code: " << fetch->status + << " | statusText = " << message + << " | numBytes = " << fetch->numBytes + << " | totalBytes = " << fetch->totalBytes + << " | readyState = " << fetch->readyState; + } + { + OracleCommandExceptionMessage message + (context->GetCommand(), Orthanc::OrthancException(Orthanc::ErrorCode_NetworkProtocol)); + context->EmitMessage(message); + } + /** * TODO - The following code leads to an infinite recursion, at * least with Firefox running on incognito mode => WHY?