/** * @param Request $request * @param array $data * @param int $status * * @return Response */ public function negociate(Request $request, array $data = [], $status = Response::HTTP_OK) { $acceptHeader = $request->getHeader('Accept') ? $request->getHeader('Accept') : 'application/json'; $priorities = ['application/json', 'text/html; charset=UTF-8']; $mediaType = $this->negotiator->getBest($acceptHeader, $priorities); $value = $mediaType->getValue(); if ($value == 'text/html; charset=UTF-8') { return new Response(print_r($data, true), $status); } return new JsonResponse($data, $status); }
/** * @param Request|null $request * * @return \App\Model\User|false */ public function getUser(Request $request = null) { if (!$request) { return; } $token = base64_decode($request->getHeader('Authorization')); if (!$token) { return; } if (!strpos($token, ':')) { return; } list($name, $password) = explode(':', $token); return $this->repository->findByNameAndPassword($name, $password); }