/** * @param Request $request * @param mixed $data * * @return JsonResponse */ protected function getJsonResponse(Request $request, $data = null) { $date = new \DateTime(); $date->modify('+1 day'); $response = new JsonResponse($data); $response->setExpires($date); $response->setETag(md5($response->getContent())); $response->setPublic(); $response->isNotModified($request); $response->headers->set('X-Proudly-Crafted-By', "LesPolypodes.com"); // It's nerdy, I know that. return $response; }
public function getListAction(Application $app) { $userList = $this->repository->findAll(); $date = new \DateTime(); $date->modify('+' . self::MAX_AGE . ' seconds'); $response = new JsonResponse($userList, JsonResponse::HTTP_OK); $responseHash = sha1($response->getContent()); $response->setMaxAge(self::MAX_AGE); $response->setSharedMaxAge(self::MAX_AGE); $response->setExpires($date); $response->setETag($responseHash); $response->isNotModified($app['request']); return $response; }