summaryrefslogtreecommitdiff
path: root/indra/llmessage/llavatarnamecache.cpp
diff options
context:
space:
mode:
authorEuclid Linden <euclid@lindenlab.com>2021-04-29 18:23:44 +0000
committerEuclid Linden <euclid@lindenlab.com>2021-04-29 18:23:44 +0000
commit5e757b2841941e8e5a9b918dbae4fd7b36a84896 (patch)
treedeee2618a9c33681e038845605db6719babd1d77 /indra/llmessage/llavatarnamecache.cpp
parent18316191cd7d1e1f8c3a4940eb5ed6cdf2695575 (diff)
parent2386125ae0db3218c620667b05449cd25ee05ad5 (diff)
Merged in DV525-merge-6.4.19 (pull request #559)
DRTVWR-525 merge up to 6.4.19
Diffstat (limited to 'indra/llmessage/llavatarnamecache.cpp')
-rw-r--r--indra/llmessage/llavatarnamecache.cpp50
1 files changed, 31 insertions, 19 deletions
diff --git a/indra/llmessage/llavatarnamecache.cpp b/indra/llmessage/llavatarnamecache.cpp
index 7380df041d..c67f59bc0c 100644
--- a/indra/llmessage/llavatarnamecache.cpp
+++ b/indra/llmessage/llavatarnamecache.cpp
@@ -145,10 +145,10 @@ void LLAvatarNameCache::requestAvatarNameCache_(std::string url, std::vector<LLU
}
LLSD httpResults;
+ bool success = true;
try
{
- bool success = true;
LLCoreHttpUtil::HttpCoroutineAdapter httpAdapter("NameCache", sHttpPolicy);
LLSD results = httpAdapter.getAndSuspend(sHttpRequest, url);
@@ -163,35 +163,47 @@ void LLAvatarNameCache::requestAvatarNameCache_(std::string url, std::vector<LLU
else
{
httpResults = results["http_result"];
- success = httpResults["success"].asBoolean();
- if (!success)
+ if (!httpResults.isMap())
{
- LL_WARNS("AvNameCache") << "Error result from LLCoreHttpUtil::HttpCoroHandler. Code "
- << httpResults["status"] << ": '" << httpResults["message"] << "'" << LL_ENDL;
+ success = false;
+ LL_WARNS("AvNameCache") << " Invalid http_result returned from LLCoreHttpUtil::HttpCoroHandler." << LL_ENDL;
}
- }
-
- if (!success)
- { // on any sort of failure add dummy records for any agent IDs
- // in this request that we do not have cached already
- std::vector<LLUUID>::const_iterator it = agentIds.begin();
- for ( ; it != agentIds.end(); ++it)
+ else
{
- const LLUUID& agent_id = *it;
- LLAvatarNameCache::getInstance()->handleAgentError(agent_id);
+ success = httpResults["success"].asBoolean();
+ if (!success)
+ {
+ LL_WARNS("AvNameCache") << "Error result from LLCoreHttpUtil::HttpCoroHandler. Code "
+ << httpResults["status"] << ": '" << httpResults["message"] << "'" << LL_ENDL;
+ }
}
- return;
}
- LLAvatarNameCache::getInstance()->handleAvNameCacheSuccess(results, httpResults);
+ if (LLAvatarNameCache::instanceExists())
+ {
+ if (!success)
+ { // on any sort of failure add dummy records for any agent IDs
+ // in this request that we do not have cached already
+ std::vector<LLUUID>::const_iterator it = agentIds.begin();
+ for (; it != agentIds.end(); ++it)
+ {
+ const LLUUID& agent_id = *it;
+ LLAvatarNameCache::getInstance()->handleAgentError(agent_id);
+ }
+ return;
+ }
+ LLAvatarNameCache::getInstance()->handleAvNameCacheSuccess(results, httpResults);
+ }
}
catch (...)
{
LOG_UNHANDLED_EXCEPTION(STRINGIZE("coroutine " << LLCoros::getName()
- << "('" << url << "', " << agentIds.size()
- << " http result: " << httpResults.asString()
- << " Agent Ids)"));
+ << "('" << url << "', "
+ << agentIds.size() << "Agent Ids,"
+ << " http result: " << S32(success)
+ << " has response: " << S32(httpResults.size())
+ << ")"));
throw;
}
}