Exemple #1
0
BOOL get_access_token_info(const char* access_token)
{
  const char* func_name = __func__;
  debug_log_enter(FINE, func_name, "s", access_token);
  cJSON* root = NULL;
  PTR_HTTP_REQUEST request = alloc_http_request(1, 0, 0, 0);
  PTR_HTTP_RESPONSE response = NULL;
  request->params[0].name = "access_token";
  request->params[0].value = access_token;

  response = https_post(APP_GET_TOKEN_INFO_URL, request);
  if (response->status_code != 200) {
    free_http_request(request);
    free_http_response(response);
    return False;
  }

  root = cJSON_Parse((char*)(response->body));
  if (check_api_error(root)) {
    free_http_request(request);
    free_http_response(response);
    cJSON_Delete(root);
    return False;
  }

  free_http_request(request);
  free_http_response(response);
  cJSON_Delete(root);
  debug_log_exit(FINE, func_name);
  return True;
}
Exemple #2
0
BOOL repost_weibo(const char* access_token, const char* text, const char* weibo_id)
{
  const char* func_name = __func__;
  debug_log_enter(FINE, func_name, "sss", access_token, text, weibo_id);
  cJSON* root = NULL;
  PTR_HTTP_REQUEST request = alloc_http_request(0, 0, 0, (100+strlen(text))*sizeof(char));
  PTR_HTTP_RESPONSE response = NULL;
  /*
  request->form[0].name = "access_token";
  request->form[0].value = access_token;
  request->form[0].type = STRING;
  request->form[1].name = "status";
  request->form[1].value = text;
  request->form[1].type = STRING;
  request->form[2].name = "id";
  request->form[2].value = weibo_id;
  request->form[2].type = STRING;
  */
  sprintf((char*)(request->body), "access_token=%s&id=%s&status=%s", access_token, weibo_id, text);
  request->body_length = strlen((char*)(request->body));
  response = https_post(WEIBO_REPOST_URL, request);
  if (response->status_code != 200) {
    free_http_request(request);
    free_http_response(response);
    return False;
  }

  root = cJSON_Parse((char*)(response->body));
  if (check_api_error(root)) {
    free_http_request(request);
    free_http_response(response);
    cJSON_Delete(root);
    return False;
  }
  free_http_request(request);
  free_http_response(response);
  cJSON_Delete(root);
  debug_log_exit(FINE, func_name);
  return True;
}
Exemple #3
0
BOOL create_weibo_pic(const char* access_token, const char* text, const char* pic_name)
{
  const char* func_name = __func__;
  debug_log_enter(FINE, func_name, "ss", access_token, text);
  cJSON* root = NULL;
  PTR_HTTP_REQUEST request = alloc_http_request(0, 0, 3, 0);
  PTR_HTTP_RESPONSE response = NULL;
  request->form[0].name = "access_token";
  request->form[0].value = access_token;
  request->form[0].type = STRING;
  request->form[1].name = "status";
  request->form[1].value = text;
  request->form[1].type = STRING;
  request->form[2].name = "pic";
  request->form[2].value = pic_name;
  request->form[2].type = FILENAME;

  response = https_post(WEIBO_CREATE_URL, request);
  if (response->status_code != 200) {
    free_http_request(request);
    free_http_response(response);
    return False;
  }

  root = cJSON_Parse((char*)(response->body));
  if (check_api_error(root)) {
    free_http_request(request);
    free_http_response(response);
    cJSON_Delete(root);
    return False;
  }
  free_http_request(request);
  free_http_response(response);
  cJSON_Delete(root);
  debug_log_exit(FINE, func_name);
  return True;
}
Exemple #4
0
std::string api::orders()
{
	return https_post("open_orders/", get_auth());
}
Exemple #5
0
std::string api::bitcoin_deposit_address()
{
	return https_post("bitcoin_deposit_address/", get_auth());
}
Exemple #6
0
std::string api::unconfirmed_btc()
{
	return https_post("unconfirmed_btc/", get_auth());
}
Exemple #7
0
std::string api::balance()
{
	return https_post("balance/", get_auth());
}
Exemple #8
0
std::string api::cancel(const std::string& order)
{
	std::stringstream post;
	post << get_auth() << "&id=" << order;
	return https_post("cancel_order/", post.str());
}
Exemple #9
0
std::string api::bitcoin_withdrawal(const std::string& amount, const std::string& address)
{
	std::stringstream post;
	post << get_auth() << "&amount=" << amount << "&address=" << address;
	return https_post("bitcoin_withdrawal/", post.str());
}
Exemple #10
0
std::string api::buy(const std::string& amount, const std::string& price)
{
	std::stringstream post;
	post << get_auth() << "&amount=" << amount << "&price=" << price;
	return https_post("buy/", post.str());
}
Exemple #11
0
std::string api::transactions(const std::string& offset, const std::string& limit, const std::string& sort)
{
	std::stringstream post;
	post << get_auth() << "&offset=" << offset << "&limit=" << limit << "&sort=" << sort;
	return https_post("user_transactions/", post.str());
}
Exemple #12
0
std::string api::withdrawal_requests()
{
	return https_post("withdrawal_requests/", get_auth());
}