Sends HTTP headers and content.
public send ( ) : |
||
Результат |
public function lastChangeTime() { $user = $this->user; $em = $this->em; $response = new Response(); $currentCookieValue = 0; $currentTime = time(); $maxTime = 60; $request = Request::createFromGlobals(); $cookies = $request->cookies; if (!$cookies->has('lastChangeTime')) { $response->headers->setCookie(new Cookie('lastChangeTime', time(), time() + 3600 * 48)); $response->send(); } else { $currentCookieValue = $cookies->get('lastChangeTime'); } if ($currentTime - $currentCookieValue > $maxTime) { $currentCookieValue = $currentTime; $response->headers->setCookie(new Cookie('lastChangeTime', $currentCookieValue, time() + 3600 * 48)); $response->send(); $user->setTime(time()); $em->persist($user); $em->flush(); } }
public function run() { $this->response = $this->kernel->handle($this->request); $this->response->send(); $this->kernel->terminate($this->request, $this->response); return $this; }
/** * @param Request $request * @return mixed|JsonResponse|Response */ protected function handle(Request $request = null) { try { $this->response = $this->get('Response'); // dispatch app-start events $this->eventDispatcher->emit('app-start'); $matchedRoutes = $this->router->match(); if ($matchedRoutes === false) { // dispatch app-failed-dispatch events $this->eventDispatcher->emit('app-failed-dispatch', 404); } else { // dispatch app-before-dispatch events $this->eventDispatcher->emit('app-before-dispatch'); list($controller, $action) = explode(":", $matchedRoutes['target']); $controller = $this->container->get('\\App\\Http\\' . $controller); $methodResolver = new MethodResolver($controller, $action, $matchedRoutes['params']); $methodArguments = $methodResolver->getMethodArguments(); $response = call_user_func_array(array($controller, $action), $methodArguments); $this->processResponseType($response); // dispatch app-before-dispatch events $this->eventDispatcher->emit('app-after-dispatch'); } $this->response->send(); } catch (\Exception $e) { $this->eventDispatcher->emit('app-error', 500, $e); } // dispatch app-start events $this->eventDispatcher->emit('app-end'); }
/** * Performs route matching & dispatch and sends the response. * * @return $this */ public function run() { // Route $match = $this->router->match($this->request->getPathInfo(), $this->request->getMethod(), $this->request->getHttpHost(false)); // Dispatch $this->dispatch($match); // Respond $this->response->send(); }
protected function sendResponse($payload = NULL) { $this->res->setExpiration(FALSE); if (is_null($payload)) { $this->res->setStatusCode(204); } else { $this->res->setCharset('utf8'); $this->res->headers->set('Content-Type', 'application/json'); $content = json_encode($payload, JSON_PRETTY_PRINT); $this->res->setContent($content); } $this->res->send(); }
/** * @ApiDoc( * description="Доавить заказ в базу", * statusCodes={ * 200="Нормальный ответ" * } * ) * * @param int $id * * @Route("/addOrder/{id}", name="add_order", defaults={"_format": "json"}) * @Method({"GET"}) * * @Rest\View() * @return mixed */ public function addOrderAction($id) { $user = $this->getUser(); $em = $this->getDoctrine()->getManager(); /** @var Product $product */ $product = $em->getRepository('ShopProductBundle:Product')->findOneById($id); $order = $em->getRepository("ShopOrderBundle:Order")->findOneBy(['users' => $user->getId(), 'shops' => $product->getShops()->getId(), 'isPay' => false]); if ($order) { /** @var OrderItem $orderItem */ $orderItem = $em->getRepository("ShopOrderBundle:OrderItem")->findOneBy(['order' => $order->getId(), 'product' => $id]); if ($orderItem) { $orderItem->setNumber($orderItem->getNumber() + 1); $em->flush(); return "successful"; } } else { $order = new Order(); $order->setUsers($user); $order->setShops($product->getShops()); } $orderItem = new OrderItem(); $orderItem->setNumber(1); $orderItem->setProduct($product); $orderItem->setOrder($order); $order->addOrderItem($orderItem); $em->persist($order); $em->flush(); if (!$this->getUser()) { $orders = []; $id = $orderItem->getId(); $response = new Response(); if ($response->headers->has("orders")) { $orders = json_decode($response->headers->getCookies()); if (!isset($orders[$id])) { $orders[$id] = 0; } else { $orders[$id] = $orders[$id] + 1; } } else { $orders[$id] = 0; } $response->headers->setCookie(new Cookie('orders', json_encode($orders), time() + 3600)); $response->prepare($this->get("request")); $response->send(); return $response->send(); } return "successful"; }
/** * Write identification Cookie * * @param AbstractUser $user * @param bool $remember */ private function writeCookie(AbstractUser $user, $remember) { if ($remember) { $this->response->headers->setCookie(new Cookie($this->facade->domain, $user->offsetGet('id') . '::' . $user->offsetGet('token', true), time() + 3600 * 24 * 31)); $this->response->send(); } }
public function indexAction(Request $request, $key) { $userManager = $this->container->get('ilioscore.user.manager'); $user = $userManager->findUserBy(array('icsFeedKey' => $key)); if (!$user) { throw new NotFoundHttpException(); } $calendar = new ICS\Calendar('Ilios Calendar for ' . $user->getFirstAndLastName()); $calendar->setPublishedTTL('P1H'); $from = new \DateTime('-6 months'); $to = new \DateTime('+6 months'); $events = $userManager->findEventsForUser($user->getId(), $from, $to); foreach ($events as $event) { $vEvent = new ICS\Event(); $vEvent->setDtStart($event->startDate)->setDtEnd($event->endDate)->setSummary($event->name)->setDescription($this->getDescriptionForEvent($event))->setCategories([$event->eventClass])->setLocation($event->location); $calendar->addComponent($vEvent); } $response = new Response(); $response->setContent($calendar->render()); $response->setCharset('utf-8'); $response->headers->set('Content-Type', 'text/calendar'); $response->headers->set('Content-Disposition', 'attachment; filename="' . $key . '.ics"'); $response->prepare($request); $response->send(); }
/** * Builds the defult respnse * @return String */ public function indexAction() { $response = new Response(); $response->setStatusCode(404); $response->setContent('Not Found'); return $response->send(); }
/** * @Route("/recentViewedAjaxAction/{id}/{action}", name="recent_viewed_action", condition="request.isXmlHttpRequest()", options={"expose"=true}) */ public function indexAction($id, $action, Request $request) { $cookies = $request->cookies; $response = new Response(); if ($cookies->has('recentViewed')) { $recentViewed = json_decode($cookies->get('recentViewed'), true); if ($action === 'add') { if (!in_array($id, $recentViewed)) { array_push($recentViewed, $id); } $response->headers->setCookie(new Cookie('recentViewed', json_encode($recentViewed), time() + 3600 * 48)); $response->send(); return new JsonResponse($cookies->get('recentViewed')); } else { $response->headers->clearCookie('recentViewed'); $response->send(); return new JsonResponse('cleared'); } } else { $response = new Response(); if ($action === 'add') { $response->headers->setCookie(new Cookie('recentViewed', json_encode(array($id)), time() + 3600 * 48)); $response->send(); return new JsonResponse($cookies->get('recentViewed')); } else { return new JsonResponse('nothing to delete'); } } }
public function getAvailabilityReport(Request $request) { $response = new Response(); $data = array(); $debug = $request->query->get('debug'); $month = $request->query->get('month'); if (!$month) { $month = date("m"); } $year = $request->query->get('year'); if (!$year) { $year = date("Y"); } $startDate = DateTime::createFromFormat("Y-m-d H:i:s", $year . "-" . $month . "-" . "01 00:00:00"); $endDate = DateTime::createFromFormat("Y-m-d H:i:s", $year . "-" . $month . "-" . "01 00:00:00")->add(new DateInterval("P1M"))->sub(new DateInterval("P1D")); if ($endDate > new DateTime()) { $endDate = new DateTime(); } $availabiltyModel = new AvailabilityFactory($startDate, $endDate); $serializedData = $availabiltyModel->jsonSerialize(); $metaData = array("debugMode" => $debug); $printer = new AvailabilityPrinter(array_merge($metaData, $serializedData)); $printer->build(); if (!$debug) { $response->headers->set("Content-type", "application/vnd.ms-excel"); $disposition = $response->headers->makeDisposition(ResponseHeaderBag::DISPOSITION_ATTACHMENT, 'report.xlsx'); $response->headers->set("Content-Disposition", $disposition); $response->send(); $printer->echoContent(); } return $response; }
/** * @param string $filename * @return Response * @throws AccessDeniedException * @throws \Exception */ public function editTextAction($filename = "") { $authorizationChecker = $this->get('security.authorization_checker'); if (false === $authorizationChecker->isGranted('ROLE_ADMIN')) { throw new AccessDeniedException(); } $kernel = $this->get('kernel'); $fileNameDownloaded = $filename; $filename = $kernel->locateResource(self::ROOT_RESOURCE_FOLDER . $filename . '.fr.json'); if (!file_exists($filename)) { throw new \Exception('This file ' . $filename . ' doesn\'t exist'); } $globalFilename = $kernel->locateResource(self::ROOT_RESOURCE_FOLDER . self::GLOBAL_FILENAME); if (!file_exists($globalFilename)) { throw new \Exception('This file ' . self::GLOBAL_FILENAME . ' doesn\'t exist'); } $globalContent = file_get_contents($globalFilename); $content = file_get_contents($filename); $newFile = "***** Traduction de la page" . "\n" . $content . "\r" . " " . "\n" . " " . "\n" . "***** Traduction Global" . "\n" . $globalContent; $response = new Response(); $response->headers->set('Content-Type', 'text/plain'); $response->headers->set('Content-Disposition', 'attachment;filename="' . $fileNameDownloaded . '.fr.txt'); $response->setContent($newFile); $response->send(); return $response; }
public function indexAction($category, Request $request) { $category = strtolower($category); $page = $request->query->get('page', 0); $AjaxRequest = $request->query->get('ajax', 0); $HealthTopicsManager = $this->get('consult.general'); $CategoryUrlHelper = $this->get('consult.basehelper'); $HealthTopics = $HealthTopicsManager->healthtopics(); $AllowedCategories = $CategoryUrlHelper->GenerateCategoryUrl($HealthTopics, 'url'); if (!in_array($category, $AllowedCategories)) { throw $this->createNotFoundException(); } $category = $CategoryUrlHelper->FriendlyUrl($category, 'backward'); $params = array('page' => $page, 'category' => $category); $FeedFilter = $this->get('consult.feed_filter'); $feeds = $FeedFilter->fetchfeed($params); if ($page == 0 && $AjaxRequest == 0) { return $this->render('CwiPageBundle:Feed:feed.html.twig', array('feeds' => $feeds->questions, 'page_title' => 'Category', 'page' => $page)); } else { $template = $this->get('twig')->render('CwiPageBundle:Feed:feedcontent.html.twig', array('feeds' => $feeds->questions, 'page' => $page)); $ajax_response = array('template' => $template, 'lastpage' => $feeds->lastpage); $response = new Response(); $response->setContent(json_encode($ajax_response)); $response->setStatusCode(Response::HTTP_OK); $response->headers->set('Content-Type', 'application/json'); $response->send(); } }
/** * @param GetResponseEvent $event */ public function onKernelRequest(GetResponseEvent $event) { $request = $event->getRequest(); //CONNECTION: //PAR UNE SESSION, UN COOKIE $token_session = $this->container->get('session')->get('security_token'); $token_cookie = $request->cookies->get('security_token'); if ($token_session != NULL) { $this->container->get('security.context')->setToken($token_session); } else { if ($token_cookie != NULL) { $token_cookie = $this->container->get('security.context')->decryptToken($token_cookie); $this->authenticate($token_cookie); } else { if (NULL !== $request->request->get('_username') && NULL !== $request->request->get('_password')) { $user = $request->request->get('_username'); $pass = $request->request->get('_password'); $remember_me = $request->request->get('_remember_me') != NULL ? true : false; $unauth_token = new UsernamePasswordToken($user, $pass, $this->container->get('security.parameters')['providers']['keys']['provider_key']); try { $this->authenticate($unauth_token); if ($remember_me) { $unauth_token_crypted = $this->container->get('security.context')->cryptToken($user, $pass); $cookie = new Cookie("security_token", $unauth_token_crypted, time() + 3600 * 24 * 7); $response = new Response(); $response->headers->setCookie($cookie); $response->send(); } } catch (AuthenticationException $failed) { $this->container->get('session')->set('security_login_error', $failed->getMessage()); } } } } }
/** * @Route("/folder/contents/{id}", name="get_folder_contents") */ public function fileAction($id) { $response = new Response(); $response->headers->set('Access-Control-Allow-Origin', '*'); $response->send(); return new JsonResponse($this->fileStructure($id)); }
public function checkLang(Request $request) { $url = null; $cookieLang = $request->cookies->get('lang'); $locale = $request->getLocale(); if (!empty($cookieLang) && $cookieLang != $locale) { try { $route = $request->get('_route'); $params = $request->attributes->get('_route_params', array()); if (array_key_exists('_locale', $params)) { unset($params['_locale']); } $url = $this->generateUrl($route . '.' . $cookieLang, $params); } catch (RouteNotFoundException $e) { $url = null; } } else { if (empty($cookieLang)) { $this->chooseLang($locale, $request->getClientIp()); $response = new Response(); $response->headers->setCookie(new Cookie('lang', $locale, 0, '/', null, false, false)); $response->send(); } } return $url; }
/** * Export the workbook. * * @param null|string $filename * * @throws \Exception * @return mixed|void */ public function export($filename = null) { $filename = $this->getFilename($filename); $output = $this->getExportable()->getDriver()->getOutputFromHtml($this->convertToHtml($this->getExportable())); $response = new Response($output, 200, ['Content-Type' => 'application/pdf', 'Content-Disposition' => 'attachment; filename="' . $filename . '.' . $this->getExtension() . '"']); return $response->send(); }
public function action(RouterInterface $router, RequestContext $context) { $request = Request::createFromGlobals(); $bPath = $context->getPathInfo(); try { $parameters = $router->match($bPath); var_dump($parameters); $_controller = $parameters["_controller"]; $_controller = explode(":", $_controller); $class = $_controller[0]; $action = strtolower($_controller[1]) . "Action"; $class = new $class(); ob_start(); if (method_exists($class, $action)) { $class->{$action}($request, new JsonResponse()); $response = new Response(ob_get_clean()); } else { $response = new Response('Not Found', 404); } } catch (ResourceNotFoundException $e) { $response = new Response('Not Found', 404); } catch (Exception $e) { $response = new Response('An error occurred', 500); } $response->send(); }
public function uploadAction(Request $request) { $request = $this->container->get('request'); $data1 = $request->query->get('file'); //$data2 = $request->query->get('data2'); $document = new Upload(); $form = $this->createFormBuilder($document)->add('file')->getForm(); $form->handleRequest($request); if ($form->isValid()) { $document->Upload(); //prepare the response, e.g. //$response = array("code" => 100, "success" => true); //you can return result as JSON //return new Response(json_encode($response)); $response = new Response(); $response->setContent('<html><body><h1>Hello world!</h1></body></html>'); $response->setStatusCode(200); $response->headers->set('Content-Type', 'text/html'); $response->send(); //you can return result as JSON //return new Response(json_encode($response)); //return new Response($this->generateUrl('chakosh_upload_homepage')); //return new Response($this->redirect($this->generateUrl('chakosh_upload_homepage'))); } return $this->render('ChakoshUploadBundle:Default:index.html.twig', array('form' => $form->createView())); }
/** * Clear authorization Cookie * * @param string $authDomain */ private function clearCookie(Request $request, Response $response, $authDomain) { if ($request->cookies->has($authDomain)) { $response->headers->clearCookie($authDomain); $response->send(); } }
/** * @return $this|Response */ public function send() { if ($this->mustSendContent()) { return parent::send(); } return $this; }
static function run(Application $app) { self::registerProviders($app); $app['serializer.normalizers'] = $app->share(function () { return array(new PrimitiveGetSetNormalizer()); }); //handling CORS preflight request $app->before(function (Request $request) { if ($request->getMethod() === "OPTIONS") { $response = new Response(); $response->headers->set("Access-Control-Allow-Origin", "*"); $response->headers->set("Access-Control-Allow-Methods", "GET,POST,PUT,DELETE,OPTIONS"); $response->headers->set("Access-Control-Allow-Headers", "Content-Type"); $response->setStatusCode(200); $response->send(); } }, Application::EARLY_EVENT); //handling CORS response with right headers $app->after(function (Request $request, Response $response) { $response->headers->set("Access-Control-Allow-Origin", "*"); $response->headers->set("Access-Control-Allow-Methods", "GET,POST,PUT,DELETE,OPTIONS"); }); $routesBuilder = new RoutesBuilder(); $routesBuilder->buildAndRegisterRoutes($app); }
public function employerLoginAction(Request $request) { $conn = $this->get('database_connection'); if ($request->getMethod() == 'POST') { $data = $request->request->all(); // receive All data from form $email = $data['email']; $password = $data['password']; $employer = $conn->fetchAll('SELECT * FROM employers WHERE email = "' . $email . '" AND password = "******"'); //print_r($employer);die; if (!empty($employer)) { /* employer Session Data Set */ $employer_session_array = array('login_employer_id' => $employer[0]['id'], 'login_employer_name' => $employer[0]['name']); $this->get('session')->set('employerdata', $employer_session_array); /* employer Session Data Set End */ /* cookies implements */ if (isset($_POST['remember_me'])) { $response = new Response(); $value = array('useremail' => $email, 'password' => $password); $cookie = new Cookie('employer_remember_cookies', serialize($value), time() + 3600 * 24 * 7); $response->headers->setCookie($cookie); $response->send(); } /* Cookies end */ return new RedirectResponse($this->generateUrl('employer_profile')); } else { return $this->render('JobPortalFrontBundle:Employers:employerRegister.html.php', array('employer_login' => 'Invalide Connexion Crediential .')); } } else { return $this->render('JobPortalFrontBundle:Employers:employerRegister.html.php', array()); } }
public function logoutAction(Request $request) { $response = new Response(); $response->headers->clearCookie($this->get('vkapikey_authenticator')->getCookieId(), '/', '.' . $request->getHost()); $response->send(); return $this->redirect($this->generateUrl('site_homepage')); }
/** * */ public function dispatch() { try { $request = Request::createFromGlobals(); $suppliedKey = $request->headers->get("X-JSONAPI-AUTH", false); if ($suppliedKey && $request->headers->get("X-JSONAPI-AUTH") === $this["settings"]["api_key"]) { /** * @var $dispatcher Dispatcher */ $dispatcher = $this->get(Dispatcher::class); $response = $dispatcher->dispatch($request->getMethod(), $request->getPathInfo()); /** * */ do_action("wp-json.dispatch", $dispatcher, $request, $response); // we only want to send the response if a route matched. switch ($response->getStatusCode()) { case Response::HTTP_NO_CONTENT: case Response::HTTP_OK: $response->send(); exit; break; } } else { $content = json_encode(["error" => "Authorization Failed. Did you set the 'X-JSONAPI-AUTH' header correctly?"]); $response = new Response($content, Response::HTTP_UNAUTHORIZED); $response->headers->set("Content-Type", "application/json"); $response->send(); exit; } } catch (NotFoundException $nfe) { } }
public function onLoginSuccess() { $request = $this->request; $cookies = $request->cookies; if ($cookies->has('cart')) { $em = $this->em; $user = $this->user; $cartArray = json_decode($cookies->get('cart'), true); $cartProducts = $em->getRepository('AppBundle:CartProduct')->findByUser($user->getId()); foreach ($cartProducts as $value) { $product = $value->getProduct(); if (array_key_exists($product->getId(), $cartArray)) { $value->setCount($value->getCount() + $cartArray[$product->getId()]['count']); $value->setAddAt(new \DateTime()); $em->persist($value); unset($cartArray[$product->getId()]); } } if (count($cartArray) > 0) { $products = $em->getRepository('AppBundle:Product')->findById(array_keys($cartArray)); foreach ($products as $value) { $cartProduct = new CartProduct(); $cartProduct->setProduct($value); $cartProduct->setCount($cartArray[$value->getId()]['count']); $cartProduct->setUser($user); $em->persist($cartProduct); unset($cartArray[$value->getId()]); } $em->flush(); } $response = new Response(); $response->headers->clearCookie('cart'); $response->send(); } }
public function run(Request $request = null) { set_error_handler([$this, 'handleErrors']); $this->handle($request); $this->response->send(); $this->dispatchEvent(self::EVENT_TERMINATE); restore_error_handler(); }
public function send() { if (!$this->outputDisabled) { return parent::send(); } else { return $this; } }
/** * Terminates a request/response cycle. * * @param DomRequest $request A Request instance * @param Response $response A Response instance * * @api */ public function terminate(DomRequest $request, Response $response) { if ($response instanceof Response) { $response->send(); } else { echo (string) $response; } }
public function meOptionsAction(Request $request) { $response = new Response('Go Ahead!', Response::HTTP_OK); $response->setCharset('UTF-8'); $response->prepare($request); $response->send(); return; }