diff options
| author | Dan Engelbrecht <[email protected]> | 2024-01-22 13:22:21 +0100 |
|---|---|---|
| committer | GitHub <[email protected]> | 2024-01-22 13:22:21 +0100 |
| commit | d0630968516f31a9c6ebc9a5643b7cd19f6cb184 (patch) | |
| tree | a2bbf71b93f0254415f13cebcb41ac9d808db312 /src/zenserver/projectstore | |
| parent | jobqueue - allow multiple threads to report progress/messages (#635) (diff) | |
| download | zen-d0630968516f31a9c6ebc9a5643b7cd19f6cb184.tar.xz zen-d0630968516f31a9c6ebc9a5643b7cd19f6cb184.zip | |
improved errors from jupiter upstream (#636)
* get more detailed error messages from jupiter upstream
Diffstat (limited to 'src/zenserver/projectstore')
| -rw-r--r-- | src/zenserver/projectstore/jupiterremoteprojectstore.cpp | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/src/zenserver/projectstore/jupiterremoteprojectstore.cpp b/src/zenserver/projectstore/jupiterremoteprojectstore.cpp index fbc3c8e16..9d8f6c17b 100644 --- a/src/zenserver/projectstore/jupiterremoteprojectstore.cpp +++ b/src/zenserver/projectstore/jupiterremoteprojectstore.cpp @@ -256,6 +256,28 @@ private: { std::string Text; int32_t ErrorCode = 0; + if (Response.ErrorCode != 0 || !Response.Success) + { + if (Response.Response) + { + HttpContentType ContentType = Response.Response.GetContentType(); + if (ContentType == ZenContentType::kText || ContentType == ZenContentType::kJSON) + { + ExtendableStringBuilder<256> SB; + SB.Append("\n"); + SB.Append(std::string_view(reinterpret_cast<const std::string::value_type*>(Response.Response.GetData()), + Response.Response.GetSize())); + Text = SB.ToString(); + } + else if (ContentType == ZenContentType::kCbObject) + { + ExtendableStringBuilder<256> SB; + SB.Append("\n"); + CompactBinaryToJson(Response.Response.GetView(), SB); + Text = SB.ToString(); + } + } + } if (Response.ErrorCode != 0) { ErrorCode = Response.ErrorCode; @@ -263,11 +285,6 @@ private: else if (!Response.Success) { ErrorCode = gsl::narrow<int32_t>(HttpResponseCode::InternalServerError); - if (Response.Response.GetContentType() == ZenContentType::kText) - { - Text = - std::string(reinterpret_cast<const std::string::value_type*>(Response.Response.GetData()), Response.Response.GetSize()); - } } return {.ErrorCode = ErrorCode, .ElapsedSeconds = Response.ElapsedSeconds, .Reason = Response.Reason, .Text = Text}; } |