/**
  * 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([]);
     $req->setParams($url->getParams());
     return $req;
 }
 public function default_contentTypeOf_request_with_body()
 {
     $req = new HttpScriptletRequest();
     $req->setHeaders(['Transfer-Encoding' => 'chunked']);
     $this->assertEquals('application/octet-stream', $this->newFixture()->contentTypeOf($req));
 }