Browse Source

Support full URL, in X-Long-Polling header

nfactor-troky
Jeff Garzik 14 years ago committed by Jeff Garzik
parent
commit
69529c3859
  1. 24
      cpu-miner.c

24
cpu-miner.c

@ -635,15 +635,25 @@ static void *longpoll_thread(void *userdata)
hdr_path = tq_pop(mythr->q, NULL); hdr_path = tq_pop(mythr->q, NULL);
if (!hdr_path) if (!hdr_path)
goto out; goto out;
copy_start = (*hdr_path == '/') ? (hdr_path + 1) : hdr_path;
if (rpc_url[strlen(rpc_url) - 1] != '/')
need_slash = true;
lp_url = malloc(strlen(rpc_url) + strlen(copy_start) + 2); /* full URL */
if (!lp_url) if (strstr(hdr_path, "://")) {
goto out; lp_url = hdr_path;
hdr_path = NULL;
}
/* absolute path, on current server */
else {
copy_start = (*hdr_path == '/') ? (hdr_path + 1) : hdr_path;
if (rpc_url[strlen(rpc_url) - 1] != '/')
need_slash = true;
lp_url = malloc(strlen(rpc_url) + strlen(copy_start) + 2);
if (!lp_url)
goto out;
sprintf(lp_url, "%s%s%s", rpc_url, need_slash ? "/" : "", copy_start); sprintf(lp_url, "%s%s%s", rpc_url, need_slash ? "/" : "", copy_start);
}
applog(LOG_INFO, "Long-polling activated for %s", lp_url); applog(LOG_INFO, "Long-polling activated for %s", lp_url);

Loading…
Cancel
Save