diff options
author | Merov Linden <merov@lindenlab.com> | 2014-06-02 11:57:25 -0700 |
---|---|---|
committer | Merov Linden <merov@lindenlab.com> | 2014-06-02 11:57:25 -0700 |
commit | d5cd32a2a82473d504c04b00eb105290e5d61d08 (patch) | |
tree | 6b68cd7e321e31d752c3ab894f2e3e6bc8dd7f89 | |
parent | 2a96db96191588b7d89920a5ebc7091f6f617cdf (diff) |
DD-92 : WIP : Use the new LLCurl::Responder interface. Marketplace Listings functional again.
-rwxr-xr-x | indra/newview/llmarketplacefunctions.cpp | 116 |
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(); |