summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMerov Linden <merov@lindenlab.com>2014-06-02 11:57:25 -0700
committerMerov Linden <merov@lindenlab.com>2014-06-02 11:57:25 -0700
commitd5cd32a2a82473d504c04b00eb105290e5d61d08 (patch)
tree6b68cd7e321e31d752c3ab894f2e3e6bc8dd7f89
parent2a96db96191588b7d89920a5ebc7091f6f617cdf (diff)
DD-92 : WIP : Use the new LLCurl::Responder interface. Marketplace Listings functional again.
-rwxr-xr-xindra/newview/llmarketplacefunctions.cpp116
1 files changed, 53 insertions, 63 deletions
diff --git a/indra/newview/llmarketplacefunctions.cpp b/indra/newview/llmarketplacefunctions.cpp
index 7925662663..f6a0a28735 100755
--- a/indra/newview/llmarketplacefunctions.cpp
+++ b/indra/newview/llmarketplacefunctions.cpp
@@ -131,27 +131,34 @@ class LLSLMGetMerchantResponder : public LLHTTPClient::Responder
public:
LLSLMGetMerchantResponder() {}
-
- virtual void completed(U32 status, const std::string& reason, const LLSD& content) { }
-
- void completedHeader(U32 status, const std::string& reason, const LLSD& content)
+
+protected:
+ virtual void httpFailure()
{
- if (((200 <= status ) && (status < 300)) || sBypassMerchant)
- {
- log_SLM_infos("Get /merchant", status, "User is a merchant");
+ if (sBypassMerchant)
+ {
+ // *TODO : Suppress that before shipping!
+ log_SLM_infos("Get /merchant", getStatus(), "SLM Connection error bypassed (debug only)");
LLMarketplaceData::instance().setSLMStatus(MarketplaceStatusCodes::MARKET_PLACE_MERCHANT);
- }
- else if (status == SLMErrorCodes::SLM_NOT_FOUND)
- {
- log_SLM_infos("Get /merchant", status, "User is not a merchant");
+ }
+ else if (HTTP_NOT_FOUND == getStatus())
+ {
+ log_SLM_infos("Get /merchant", getStatus(), "User is not a merchant");
LLMarketplaceData::instance().setSLMStatus(MarketplaceStatusCodes::MARKET_PLACE_NOT_MERCHANT);
- }
+ }
else
{
- log_SLM_warning("Get /merchant", status, reason, content.get("error_code"), content.get("error_description"));
+ log_SLM_warning("Get /merchant", getStatus(), getReason(), getContent().get("error_code"), getContent().get("error_description"));
LLMarketplaceData::instance().setSLMStatus(MarketplaceStatusCodes::MARKET_PLACE_CONNECTION_FAILURE);
}
}
+
+ virtual void httpSuccess()
+ {
+ log_SLM_infos("Get /merchant", getStatus(), "User is a merchant");
+ LLMarketplaceData::instance().setSLMStatus(MarketplaceStatusCodes::MARKET_PLACE_MERCHANT);
+ }
+
};
class LLSLMGetListingsResponder : public LLHTTPClient::Responder
@@ -161,32 +168,29 @@ public:
LLSLMGetListingsResponder() {}
- virtual void completedRaw(U32 status,
- const std::string& reason,
- const LLChannelDescriptors& channels,
+ virtual void completedRaw(const LLChannelDescriptors& channels,
const LLIOPipe::buffer_ptr_t& buffer)
{
- if (!(200 <= status ) && (status < 300))
+ if (!isGoodStatus())
{
- log_SLM_warning("Get /listings", status, reason, "", "");
+ log_SLM_warning("Get /listings", getStatus(), getReason(), "", "");
return;
}
-
LLBufferStream istr(channels, buffer.get());
std::stringstream strstrm;
strstrm << istr.rdbuf();
const std::string body = strstrm.str();
-
+
Json::Value root;
Json::Reader reader;
if (!reader.parse(body,root))
{
- log_SLM_warning("Get /listings", status, "Json parsing failed", reader.getFormatedErrorMessages(), body);
+ log_SLM_warning("Get /listings", getStatus(), "Json parsing failed", reader.getFormatedErrorMessages(), body);
return;
}
-
- log_SLM_infos("Get /listings", status, body);
-
+
+ log_SLM_infos("Get /listings", getStatus(), body);
+
// Extract the info from the Json string
Json::ValueIterator it = root["listings"].begin();
@@ -220,14 +224,12 @@ public:
LLSLMCreateListingsResponder() {}
- virtual void completedRaw(U32 status,
- const std::string& reason,
- const LLChannelDescriptors& channels,
+ virtual void completedRaw(const LLChannelDescriptors& channels,
const LLIOPipe::buffer_ptr_t& buffer)
{
- if (!(200 <= status ) && (status < 300))
+ if (!isGoodStatus())
{
- log_SLM_warning("Post /listings", status, reason, "", "");
+ log_SLM_warning("Post /listings", getStatus(), getReason(), "", "");
return;
}
@@ -240,11 +242,11 @@ public:
Json::Reader reader;
if (!reader.parse(body,root))
{
- log_SLM_warning("Post /listings", status, "Json parsing failed", reader.getFormatedErrorMessages(), body);
+ log_SLM_warning("Post /listings", getStatus(), "Json parsing failed", reader.getFormatedErrorMessages(), body);
return;
}
- log_SLM_infos("Post /listings", status, body);
+ log_SLM_infos("Post /listings", getStatus(), body);
// Extract the info from the Json string
Json::ValueIterator it = root["listings"].begin();
@@ -275,9 +277,7 @@ public:
LLSLMGetListingResponder() {}
- virtual void completedRaw(U32 status,
- const std::string& reason,
- const LLChannelDescriptors& channels,
+ virtual void completedRaw(const LLChannelDescriptors& channels,
const LLIOPipe::buffer_ptr_t& buffer)
{
LLBufferStream istr(channels, buffer.get());
@@ -285,9 +285,9 @@ public:
strstrm << istr.rdbuf();
const std::string body = strstrm.str();
- if (!(200 <= status ) && (status < 300))
+ if (!isGoodStatus())
{
- log_SLM_warning("Get /listing", status, reason, "", body);
+ log_SLM_warning("Get /listing", getStatus(), getReason(), "", body);
return;
}
@@ -295,11 +295,11 @@ public:
Json::Reader reader;
if (!reader.parse(body,root))
{
- log_SLM_warning("Get /listing", status, "Json parsing failed", reader.getFormatedErrorMessages(), body);
+ log_SLM_warning("Get /listing", getStatus(), "Json parsing failed", reader.getFormatedErrorMessages(), body);
return;
}
- log_SLM_infos("Get /listing", status, body);
+ log_SLM_infos("Get /listing", getStatus(), body);
// Extract the info from the Json string
Json::ValueIterator it = root["listings"].begin();
@@ -335,9 +335,7 @@ public:
LLSLMUpdateListingsResponder() {}
- virtual void completedRaw(U32 status,
- const std::string& reason,
- const LLChannelDescriptors& channels,
+ virtual void completedRaw(const LLChannelDescriptors& channels,
const LLIOPipe::buffer_ptr_t& buffer)
{
LLBufferStream istr(channels, buffer.get());
@@ -345,9 +343,9 @@ public:
strstrm << istr.rdbuf();
const std::string body = strstrm.str();
- if (!(200 <= status ) && (status < 300))
+ if (!isGoodStatus())
{
- log_SLM_warning("Put /listing", status, reason, "", body);
+ log_SLM_warning("Put /listing", getStatus(), getReason(), "", body);
return;
}
@@ -355,11 +353,11 @@ public:
Json::Reader reader;
if (!reader.parse(body,root))
{
- log_SLM_warning("Put /listing", status, "Json parsing failed", reader.getFormatedErrorMessages(), body);
+ log_SLM_warning("Put /listing", getStatus(), "Json parsing failed", reader.getFormatedErrorMessages(), body);
return;
}
- log_SLM_infos("Put /listing", status, body);
+ log_SLM_infos("Put /listing", getStatus(), body);
// Extract the info from the Json string
Json::ValueIterator it = root["listings"].begin();
@@ -395,16 +393,12 @@ public:
LLSLMAssociateListingsResponder() {}
- virtual void completed(U32 status, const std::string& reason, const LLSD& content) { }
-
- virtual void completedRaw(U32 status,
- const std::string& reason,
- const LLChannelDescriptors& channels,
+ virtual void completedRaw(const LLChannelDescriptors& channels,
const LLIOPipe::buffer_ptr_t& buffer)
{
- if (!(200 <= status ) && (status < 300))
+ if (!isGoodStatus())
{
- log_SLM_warning("Put /associate_inventory", status, reason, "", "");
+ log_SLM_warning("Put /associate_inventory", getStatus(), getReason(), "", "");
return;
}
@@ -417,11 +411,11 @@ public:
Json::Reader reader;
if (!reader.parse(body,root))
{
- log_SLM_warning("Put /associate_inventory", status, "Json parsing failed", reader.getFormatedErrorMessages(), body);
+ log_SLM_warning("Put /associate_inventory", getStatus(), "Json parsing failed", reader.getFormatedErrorMessages(), body);
return;
}
- log_SLM_infos("Put /associate_inventory", status, body);
+ log_SLM_infos("Put /associate_inventory", getStatus(), body);
// Extract the info from the Json string
Json::ValueIterator it = root["listings"].begin();
@@ -462,11 +456,7 @@ public:
LLSLMDeleteListingsResponder() {}
- virtual void completed(U32 status, const std::string& reason, const LLSD& content) { }
-
- virtual void completedRaw(U32 status,
- const std::string& reason,
- const LLChannelDescriptors& channels,
+ virtual void completedRaw(const LLChannelDescriptors& channels,
const LLIOPipe::buffer_ptr_t& buffer)
{
LLBufferStream istr(channels, buffer.get());
@@ -474,9 +464,9 @@ public:
strstrm << istr.rdbuf();
const std::string body = strstrm.str();
- if (!(200 <= status ) && (status < 300))
+ if (!isGoodStatus())
{
- log_SLM_warning("Delete /listing", status, reason, "", body);
+ log_SLM_warning("Delete /listing", getStatus(), getReason(), "", body);
return;
}
@@ -484,11 +474,11 @@ public:
Json::Reader reader;
if (!reader.parse(body,root))
{
- log_SLM_warning("Delete /listing", status, "Json parsing failed", reader.getFormatedErrorMessages(), body);
+ log_SLM_warning("Delete /listing", getStatus(), "Json parsing failed", reader.getFormatedErrorMessages(), body);
return;
}
- log_SLM_infos("Delete /listing", status, body);
+ log_SLM_infos("Delete /listing", getStatus(), body);
// Extract the info from the Json string
Json::ValueIterator it = root["listings"].begin();