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 testConstruction() { $method = 'POST'; $uri = '/'; $request = new Request($method, $uri); $this->assertSame($method, $request->getMethod()); $this->assertSame($uri, $request->getUri()); $this->assertSame(array(), $request->getHeaders()); $this->assertSame(array(), $request->getParameters()); $this->assertNull($request->getContent()); }
/** * @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); }