Example #1
0
void RequestManager::httpRequestDidCompleted(Object *sender, network::HttpResponse *data){
    HttpResponse *response = data;
    HttpRequest *request = response->getHttpRequest();
    BLOCK()
    const char *type = request->getTag();
    if (!response || !strlen(type)){
        LEAVE()
    }
    log(1,"%s completed", type);
    int statusCode = response->getResponseCode();
    char statusString[64] = {};
    sprintf(statusString, "HTTP Status Code=>%d, tag = %s", statusCode, request->getTag());
    log(1,"response code==>%d", statusCode);
    
    if (!response->isSucceed()){
        log(1,"response failed");
        log(1,"error buffer: %s", response->getErrorBuffer());
        std::string temName = response->getErrorBuffer();
        
        if (temName.length() > 0){
            if (!((unsigned)temName[0]&0x80)){
                //you need to translate ascii to chinese
            }
        }
        
        this->dispatchRequestDidFail(type, temName.c_str());
        LEAVE()
    }