send() public method

Sends HTTP headers and content.
public send ( ) : Response
return Response
Exemplo n.º 1
0
 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();
     }
 }
Exemplo n.º 2
0
 public function run()
 {
     $this->response = $this->kernel->handle($this->request);
     $this->response->send();
     $this->kernel->terminate($this->request, $this->response);
     return $this;
 }
Exemplo n.º 3
0
 /**
  * @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');
 }
Exemplo n.º 4
0
 /**
  * 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();
 }
Exemplo n.º 5
0
 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();
 }
Exemplo n.º 6
0
 /**
  * @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";
 }
Exemplo n.º 7
0
 /**
  * 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();
     }
 }
Exemplo n.º 8
0
 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();
 }
Exemplo n.º 10
0
 /**
  * @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;
 }
Exemplo n.º 12
0
 /**
  * @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;
 }
Exemplo n.º 13
0
 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();
     }
 }
Exemplo n.º 14
0
 /**
  * @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));
 }
Exemplo n.º 16
0
 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;
 }
Exemplo n.º 17
0
 /**
  * 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()));
 }
Exemplo n.º 20
0
 /**
  * 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();
     }
 }
Exemplo n.º 21
0
 /**
  * @return $this|Response
  */
 public function send()
 {
     if ($this->mustSendContent()) {
         return parent::send();
     }
     return $this;
 }
Exemplo n.º 22
0
 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());
     }
 }
Exemplo n.º 24
0
 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'));
 }
Exemplo n.º 25
0
 /**
  *
  */
 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) {
     }
 }
Exemplo n.º 26
0
 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();
     }
 }
Exemplo n.º 27
0
 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;
     }
 }
Exemplo n.º 29
0
 /**
  * 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;
 }