public function testConvert()
 {
     $uri = '/foo';
     $method = 'POST';
     $parameters = array('a' => 1, 'b' => 2);
     $headers = array('c' => 3, 'd' => 4);
     $content = 'ups';
     $request = new Request($method, $uri);
     $request->setParameters($parameters);
     $request->setHeaders($headers);
     $request->setContent($content);
     $cookies = array();
     $files = array();
     $server = array('HTTP_c' => 3, 'HTTP_d' => 4);
     $symfonyRequest = SymfonyRequest::create($uri, $method, $parameters, $cookies, $files, $server, $content);
     $converter = new SymfonyHttpFoundationRequestConverter();
     $this->assertEquals($symfonyRequest, $converter->convert($request));
 }
 /**
  * @return Http\Response
  */
 public function request(Request $request)
 {
     $uri = $request->getUri();
     $requestConverter = new SymfonyHttpFoundationRequestConverter();
     $symfonyRequest = $requestConverter->convert($request);
     if ($uri === '/oauth/token') {
         $response = $this->server->token($symfonyRequest);
     } elseif ($uri === '/resource') {
         $response = $this->server->resource($symfonyRequest, function () {
             $response = new Response();
             $response->headers->set('content-type', 'text/plain');
             $response->setContent('My resource!');
             return $response;
         });
     } else {
         throw new \Exception('Invalid request.');
     }
     $responseConverter = new SymfonyHttpFoundationResponseConverter();
     return $responseConverter->convert($response);
 }
 public function request(Request $request)
 {
     $statusCode = f\get_or($request->getParameters(), 'statusCode', 200);
     $content = $request->getParameters() ? json_encode($request->getParameters()) : $request->getContent();
     $headers = $request->getHeaders();
     return new Response($statusCode, $content, $headers);
 }
 public function convert(Request $request)
 {
     $headers = $request->getHeaders();
     $keysMap = f\map_indexed(function ($v, $k) {
         return 'HTTP_' . $k;
     }, $headers);
     $server = f\rename_keys($headers, $keysMap);
     return SymfonyRequest::create($request->getUri(), $request->getMethod(), $request->getParameters(), $cookies = array(), $files = array(), $server, $request->getContent());
 }
 public function testSetters()
 {
     $request = new Request('GET', '/bar');
     $headers = range(1, 20);
     $request->setHeaders($headers);
     $this->assertSame($headers, $request->getHeaders());
     $parameters = range(1, 20);
     $request->setParameters($parameters);
     $this->assertSame($parameters, $request->getParameters());
     $content = 'foobar';
     $request->setContent($content);
     $this->assertSame($content, $request->getContent());
 }
 private function createRequest($method, $uri)
 {
     $request = new Request($method, $uri);
     $request->setParameters($this->requestParameters);
     $request->setHeaders($this->requestHeaders);
     $request->setContent($this->requestContent);
     return $this->filterRequest($request);
 }
 private function cleanRequest(Request $request, SymfonyRequest $symfonyRequest)
 {
     if (!array_key_exists('Accept', $request->getHeaders())) {
         $symfonyRequest->headers->remove('Accept');
     }
 }