/**
  * Creates a new request instance
  *
  * @param  string $queryString
  * @return scriptlet.Request
  */
 protected function newRequest($queryString = '')
 {
     parse_str(ltrim($queryString, '?'), $params);
     $r = new HttpScriptletRequest();
     $r->setParams($params);
     $r->setURI(new URL(self::BASE_URL . $queryString));
     return $r;
 }
Esempio n. 2
0
 /**
  * Creates a new request instance
  *
  * @param  string $queryString
  * @return webservices.rest.srv.paging.Pagination
  */
 protected function newFixture($queryString = '')
 {
     parse_str(ltrim($queryString, '?'), $params);
     $r = new HttpScriptletRequest();
     $r->setParams($params);
     $r->setURI(new URL('http://example.com/' . $queryString));
     return new Pagination($r, new PageParameters('page', 'per_page'), self::SIZE);
 }
 /**
  * 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;
 }
 public function cannot_route()
 {
     $fixture = $this->newFixture();
     $req = new HttpScriptletRequest();
     $req->setURI(new URL('http://localhost/'));
     $res = new HttpScriptletResponse();
     $fixture->doProcess($req, $res);
     ob_start();
     $res->sendContent();
     $sent = ob_get_contents();
     ob_end_clean();
     $this->assertEquals(404, $res->statusCode);
     $this->assertEquals('Content-Type: application/json', $res->headers[0]);
     $this->assertEquals('{"message":"Could not route request to http://localhost/"}', $sent);
 }