Resource HHVM_FUNCTION(pagelet_server_task_start, const String& url, const Array& headers /* = null_array */, const String& post_data /* = null_string */, const Array& files /* = null_array */, int64_t desired_timeout /* = 0 */) { String remote_host; Transport *transport = g_context->getTransport(); // If a non-zero timeout is requested, use it and cap it at the remaining // request time. int remaining_time = ThreadInfo::s_threadInfo->m_reqInjectionData.getRemainingTime(); int timeout = desired_timeout > 0 && desired_timeout <= remaining_time ? desired_timeout : remaining_time; if (transport) { remote_host = transport->getRemoteHost(); if (!headers.exists(s_Host) && RuntimeOption::SandboxMode) { Array tmp = headers; tmp.set(s_Host, transport->getHeader("Host")); return PageletServer::TaskStart(url, tmp, remote_host, post_data, files, timeout); } } return PageletServer::TaskStart(url, headers, remote_host, post_data, files, timeout); }
Object f_pagelet_server_task_start(CStrRef url, CArrRef headers /* = null_array */, CStrRef post_data /* = null_string */) { String remote_host; Transport *transport = g_context->getTransport(); if (transport) { remote_host = transport->getRemoteHost(); } return PageletServer::TaskStart(url, headers, remote_host, post_data); }
Object f_pagelet_server_task_start(CStrRef url, CArrRef headers /* = null_array */, CStrRef post_data /* = null_string */, CArrRef files /* = null_array */) { String remote_host; Transport *transport = g_context->getTransport(); if (transport) { remote_host = transport->getRemoteHost(); if (!headers.exists("Host") && RuntimeOption::SandboxMode) { Array tmp = headers; tmp.set("Host", transport->getHeader("Host")); return PageletServer::TaskStart(url, tmp, remote_host, post_data, files); } } return PageletServer::TaskStart(url, headers, remote_host, post_data); }
Resource f_pagelet_server_task_start(const String& url, const Array& headers /* = null_array */, const String& post_data /* = null_string */, const Array& files /* = null_array */) { String remote_host; Transport *transport = g_context->getTransport(); int timeout = ThreadInfo::s_threadInfo->m_reqInjectionData.getRemainingTime(); if (transport) { remote_host = transport->getRemoteHost(); if (!headers.exists(s_Host) && RuntimeOption::SandboxMode) { Array tmp = headers; tmp.set(s_Host, transport->getHeader("Host")); return PageletServer::TaskStart(url, tmp, remote_host, post_data, files, timeout); } } return PageletServer::TaskStart(url, headers, remote_host, post_data, files, timeout); }