SL-19635 Better error handling
parent
863e7f22a7
commit
6f7cba0f91
|
|
@ -949,6 +949,8 @@ bool LLDeepLTranslationHandler::checkVerificationResponse(
|
|||
const LLSD& response,
|
||||
int status) const
|
||||
{
|
||||
// Might need to parse body to make sure we got
|
||||
// a valid response and not a message
|
||||
return status == HTTP_OK;
|
||||
}
|
||||
|
||||
|
|
@ -1000,7 +1002,6 @@ bool LLDeepLTranslationHandler::parseResponse(
|
|||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
detected_lang = data["detected_source_language"].asString();
|
||||
LLStringUtil::toLower(detected_lang);
|
||||
|
|
@ -1019,8 +1020,22 @@ bool LLDeepLTranslationHandler::isConfigured() const
|
|||
std::string LLDeepLTranslationHandler::parseErrorResponse(
|
||||
const std::string& body)
|
||||
{
|
||||
// DeepL doesn't seem to have any error handling beyoun http codes
|
||||
return std::string();
|
||||
// Example: "{\"message\":\"One of the request inputs is not valid.\"}"
|
||||
|
||||
Json::Value root;
|
||||
Json::Reader reader;
|
||||
|
||||
if (!reader.parse(body, root))
|
||||
{
|
||||
return std::string();
|
||||
}
|
||||
|
||||
if (!root.isObject() || !root.isMember("message"))
|
||||
{
|
||||
return std::string();
|
||||
}
|
||||
|
||||
return root["message"].asString();
|
||||
}
|
||||
|
||||
// static
|
||||
|
|
|
|||
|
|
@ -319,7 +319,7 @@
|
|||
name="deepl_api_domain_label"
|
||||
top_pad="80"
|
||||
width="85">
|
||||
Domain:
|
||||
Endpoint:
|
||||
</text>
|
||||
|
||||
<combo_box
|
||||
|
|
|
|||
Loading…
Reference in New Issue