void YelpBusinessQuery::HandleWebResponseComplete(Eegeo::Web::IWebResponse& webResponse)
                {
                    Eegeo_ASSERT(!webResponse.IsCancelled());
                    
                    size_t resultSize = webResponse.GetBodyData().size();
                    const std::string& responseString = resultSize > 0 ? std::string(reinterpret_cast<char const*>(&(webResponse.GetBodyData().front())), resultSize) : "<empty>";

                    bool parseSuccess = false;
                    Search::SdkModel::SearchResultModel result;
                    
                    if (webResponse.IsSucceeded())
                    {
                        parseSuccess = m_yelpBusinessParser.TryParse(responseString, result);
                    }
                    else
                    {
                        Eegeo_TTY("YelpBusinessQuery failed: %s", responseString.c_str());
                    }
                    
                    const Search::SdkModel::IdentitySearchCallbackData& callbackData = parseSuccess
                        ? Search::SdkModel::IdentitySearchCallbackData::CreateSucceeded(result)
                        : Search::SdkModel::IdentitySearchCallbackData::CreateFailed(result);

                    m_completionCallback(callbackData);

                    Eegeo_DELETE this;
                }
void EegeoSearchQuery::OnWebResponseReceived(Eegeo::Web::IWebResponse& webResponse)
{
    if(webResponse.IsSucceeded())
    {
        size_t resultSize = webResponse.GetBodyData().size();
        m_responseString = std::string(reinterpret_cast<char const*>(&(webResponse.GetBodyData().front())), resultSize);
        m_isSuccess = true;
    }

    m_completionCallback();
}