/** * Returns all version numbers * * @return \Symfony\Component\HttpFoundation\Response $response Response with result or error */ public function versionsAction() { $response = $this->getResponse()->setStatusCode(Response::HTTP_OK); $response->headers->set('Content-Type', 'application/json'); $versions = array(); $versions['versions'] = $this->coreUtils->getVersion(); return $this->render('GravitonRestBundle:Main:index.json.twig', ['response' => json_encode($versions)], $response); }
/** * Adds a X-Version header to the response. * * @param FilterResponseEvent $event Current emitted event. * * @return void */ public function onKernelResponse(FilterResponseEvent $event) { if (!$event->isMasterRequest()) { // don't do anything if it's not the master request return; } /** @var \Symfony\Component\HttpFoundation\Response $response */ $response = $event->getResponse(); $response->headers->set('X-Version', $this->coreUtils->getVersion()); }
/** * check if version is returned in header * * @return void */ public function testVersionHeader() { $client = static::createRestClient(); $client->request('GET', '/'); $composer = new CoreUtils(); $response = $client->getResponse(); $this->assertEquals($composer->getVersion(), $response->headers->get('X-Version')); }