/** * Creates a new request object * * @see xp://scriptlet.HttpScriptlet#_setupRequest * @param string method * @param string url * @param [:string] headers * @return scriptlet.HttpScriptletRequest */ protected function newRequest($method, $url, array $headers) { $u = parse_url($url); isset($u['query']) ? parse_str($u['query'], $params) : ($params = array()); $r = new HttpScriptletRequest(); $r->method = $method; $r->setURI(new URL($u['scheme'] . '://' . $u['host'] . '/' . $u['path'])); $r->setParams($params); $r->setHeaders($headers); return $r; }
/** * Creates a new request object * * @param string method * @param peer.URL url * @return scriptlet.HttpScriptletRequest */ protected function newRequest($method, URL $url) { $q = $url->getQuery(''); $req = new HttpScriptletRequest(); $req->method = $method; $req->env['SERVER_PROTOCOL'] = 'HTTP/1.1'; $req->env['REQUEST_URI'] = $url->getPath('/') . ($q ? '?' . $q : ''); $req->env['QUERY_STRING'] = $q; $req->env['HTTP_HOST'] = $url->getHost(); if ('https' === $url->getScheme()) { $req->env['HTTPS'] = 'on'; } $req->setHeaders(array()); $req->setParams($url->getParams()); return $req; }