void AccountBusiness::RechargeCallBack(zxy_request_context* context, evhtp_request_t* , const std::string& content, const std::map<std::string, std::string>& , zxy_upstream_request_status status, void* arg) { _LPRECHARGE_CALLBACKPARAM lpParam = (_LPRECHARGE_CALLBACKPARAM)arg; if (lpParam != NULL) { if (status == REQ_OK) { RechargeRequest* lpRequest = lpParam->lpRequest; lpRequest->decode(content); async_action_callback callback = lpParam->callback; if (lpRequest->status == 1000) { int afCoin = strtol(lpRequest->data.afCoin.c_str(), NULL, 10); g_theSessionBusiness.SetAfCoin(context, afCoin); } callback(context, lpRequest); } else if (status == REQ_TIMEOUT) { json_result result = json_result(1001, Json::Value(Json::nullValue), "Recharge timed out, please retry."); return_json(context, result.to_json_str(false)); } else { json_result result = json_result(1001, Json::Value(Json::nullValue), "Network error, please retry."); return_json(context, result.to_json_str(false)); } } if (lpParam != NULL) { delete lpParam; lpParam = NULL; } }
void command_fail(struct command *cmd, const char *fmt, ...) { char *quote, *error; struct json_connection *jcon = cmd->jcon; va_list ap; if (!jcon) { log_unusual(cmd->dstate->base_log, "Command failed after jcon close"); tal_free(cmd); return; } va_start(ap, fmt); error = tal_vfmt(cmd, fmt, ap); va_end(ap); log_debug(jcon->log, "Failing: %s", error); /* Remove " */ while ((quote = strchr(error, '"')) != NULL) *quote = '\''; /* Now surround in quotes. */ quote = tal_fmt(cmd, "\"%s\"", error); assert(jcon->current == cmd); json_result(jcon, cmd->id, "null", quote); jcon->current = tal_free(cmd); }
void command_success(struct command *cmd, struct json_result *result) { struct json_connection *jcon = cmd->jcon; if (!jcon) { log_unusual(cmd->dstate->base_log, "Command returned result after jcon close"); tal_free(cmd); return; } assert(jcon->current == cmd); json_result(jcon, cmd->id, json_result_string(result), "null"); jcon->current = tal_free(cmd); }
static void json_command_malformed(struct json_connection *jcon, const char *id, const char *error) { return json_result(jcon, id, "null", error); }