summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview')
-rwxr-xr-xindra/newview/llmeshrepository.cpp54
1 files changed, 25 insertions, 29 deletions
diff --git a/indra/newview/llmeshrepository.cpp b/indra/newview/llmeshrepository.cpp
index 4673289094..494f6f2e01 100755
--- a/indra/newview/llmeshrepository.cpp
+++ b/indra/newview/llmeshrepository.cpp
@@ -468,38 +468,36 @@ public:
};
-void log_upload_error(const LLSD& content,std::string stage)
+void log_upload_error(S32 status, const LLSD& content,std::string stage)
{
+ llwarns << "stage: " << stage << " http status: " << status << llendl;
if (content.has("error"))
{
const LLSD& err = content["error"];
- llwarns << "mesh upload failed, stage " << stage
- << " message " << err["message"].asString() << " id " << err["identifier"].asString()
- << llendl;
-
- if (content.has("errors"))
- {
- const LLSD& err_list = content["errors"];
+ llwarns << "err: " << err << llendl;
+ llwarns << "mesh upload failed, stage '" << stage
+ << "' error '" << err["error"].asString()
+ << "', message '" << err["message"].asString()
+ << "', id '" << err["identifier"].asString()
+ << "'" << llendl;
+ if (err.has("errors"))
+ {
+ S32 error_num = 0;
+ const LLSD& err_list = err["errors"];
for (LLSD::array_const_iterator it = err_list.beginArray();
it != err_list.endArray();
++it)
{
const LLSD& err_entry = *it;
- std::string index_info;
- std::string texture_index_str = err_entry["TextureIndex"].asString();
- if (!texture_index_str.empty())
+ llwarns << "error[" << error_num << "]:" << llendl;
+ for (LLSD::map_const_iterator map_it = err_entry.beginMap();
+ map_it != err_entry.endMap();
+ ++map_it)
{
- index_info += " texture_index: " + texture_index_str;
+ llwarns << "\t" << map_it->first << ": "
+ << map_it->second << llendl;
}
- std::string mesh_index_str = err_entry["MeshIndex"].asString();
- if (!mesh_index_str.empty())
- {
- index_info += " mesh_index: " + mesh_index_str;
- }
- llwarns << "mesh err code " << err_entry["error"].asString()
- << " message " << err_entry["message"]
- << index_info
- << llendl;
+ error_num++;
}
}
}
@@ -507,8 +505,6 @@ void log_upload_error(const LLSD& content,std::string stage)
{
llwarns << "bad mesh, no error information available" << llendl;
}
-
-
}
class LLModelObjectUploadResponder: public LLCurl::Responder
@@ -547,12 +543,11 @@ public:
const std::string& reason,
const LLSD& content)
{
- //assert_main_thread();
llinfos << "completed" << llendl;
mThread->mPendingUploads--;
dumpLLSDToFile(content,make_dump_name("whole_model_fee_response_",dump_num));
- llinfos << "LLWholeModelFeeResponder content: " << content << llendl;
- if (isGoodStatus(status))
+ if (isGoodStatus(status) &&
+ content["state"].asString() == "upload")
{
llinfos << "fee request succeeded" << llendl;
mThread->mWholeModelUploadURL = content["uploader"].asString();
@@ -560,7 +555,7 @@ public:
else
{
llwarns << "fee request failed" << llendl;
- log_upload_error(content,"fee");
+ log_upload_error(status,content,"fee");
mThread->mWholeModelUploadURL = "";
}
}
@@ -588,7 +583,8 @@ public:
llinfos << "LLWholeModelUploadResponder content: " << content << llendl;
// requested "mesh" asset type isn't actually the type
// of the resultant object, fix it up here.
- if (isGoodStatus(status))
+ if (isGoodStatus(status) &&
+ content["state"].asString() == "complete")
{
llinfos << "upload succeeded" << llendl;
mPostData["asset_type"] = "object";
@@ -597,7 +593,7 @@ public:
else
{
llwarns << "upload failed" << llendl;
- log_upload_error(content,"upload");
+ log_upload_error(status,content,"upload");
}
}
};