getHost() public method

This method can read the client host name from the "X-Forwarded-Host" header when trusted proxies were set via "setTrustedProxies()". The "X-Forwarded-Host" header must contain the client host name. If your reverse proxy uses a different header name than "X-Forwarded-Host", configure it via "setTrustedHeaderName()" with the "client-host" key.
public getHost ( ) : string
return string
 public function matches(Request $request)
 {
     if (!$this->language) {
         throw new \LogicException('Unable to match the request as the expression language is not available.');
     }
     return $this->language->evaluate($this->expression, array('request' => $request, 'method' => $request->getMethod(), 'path' => rawurldecode($request->getPathInfo()), 'host' => $request->getHost(), 'ip' => $request->getClientIp(), 'attributes' => $request->attributes->all())) && parent::matches($request);
 }
 public function matchesHost()
 {
     if (null === ($host = $this->map->getHost())) {
         return true;
     }
     if (!$this->map->getHostIsRegexPattern()) {
         return $host === $this->request->getHost();
     }
     return !$this->map->isHostRegexPatternNegate() == preg_match('#' . $host . '#', $this->request->getHost(), $this->patternMatches);
 }
Example #3
0
 public function contains(Request $request, $modifier)
 {
     $baseHost = $this->getBaseHost();
     if (!$baseHost) {
         return false;
     }
     $host = $request->getHost();
     if ($host === $this->getBaseHost()) {
         return false;
     }
     return $this->hostContainsModifier($modifier, $request->getHost());
 }
Example #4
0
 /**
  * Retrieves the page list based on slugs.
  * Also checks the hierarchy of the different pages.
  *
  * @param array $slugsArray
  *
  * @return Page[]
  */
 protected function getPages(array $slugsArray = array())
 {
     /** @var Page[] $pages */
     $pages = $this->getDoctrine()->getManager()->getRepository('OrbitaleCmsBundle:Page')->findFrontPages($slugsArray, $this->request->getHost(), $this->request->getLocale());
     if (!count($pages) || count($slugsArray) && count($pages) !== count($slugsArray)) {
         if (count($slugsArray)) {
             $msg = 'Page not found';
         } else {
             $msg = 'No homepage has been configured. Please check your existing pages or create a homepage in your application.';
         }
         throw $this->createNotFoundException($msg);
     }
     return $pages;
 }
 /**
  * Get a good key that varies on method, host, path info etc etc.
  *
  * @param Request $request
  *
  * @return string
  */
 private function createCacheKey(Request $request)
 {
     $key = sprintf('route:%s:%s:%s', $request->getMethod(), $request->getHost(), $request->getPathInfo());
     // This might be optional
     //$key.=':'.$this->implodeRecursive('|', $request->query->all());
     return $key;
 }
Example #6
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'));
 }
Example #7
0
 public function __construct($routes, Request $request, EventDispatcher $dispatcher, ControllerResolver $resolver)
 {
     $this->deflRes = new NodeResponse();
     $this->context = new RequestContext($request->getBaseUrl(), $request->getMethod(), $request->getHost(), $request->getScheme(), $request->getPort(), $request->getPort());
     $this->matcher = new UrlMatcher($routes, $this->context);
     parent::__construct($dispatcher, $resolver);
 }
Example #8
0
 /**
  * {@inheritdoc}
  */
 public function getHost()
 {
     if ($this->host !== null) {
         return $this->host;
     }
     return parent::getHost();
 }
 /**
  * {@inheritDoc}
  */
 public function resolveLocale(Request $request)
 {
     if ($this->hostMap && isset($this->hostMap[$host = $request->getHost()])) {
         return $this->hostMap[$host];
     }
     return null;
 }
Example #10
0
 public function githubAction(Application $app, Request $request)
 {
     $clientID = getenv('GITHUB_API_KEY');
     $clientSecret = getenv('GITHUB_API_SECRET');
     $code = $request->query->get('code');
     $redirectUri = $request->getScheme() . '://' . $request->getHost();
     if (80 != $request->getPort()) {
         $redirectUri .= ':' . $request->getPort();
     }
     $redirectUri .= '/auth/github';
     $provider = new Github(['clientId' => $clientID, 'clientSecret' => $clientSecret, 'redirectUri' => $redirectUri, 'scopes' => ['user:email']]);
     if (empty($code)) {
         $authUrl = $provider->getAuthorizationUrl();
         $app['session']->set('oauth2state', $provider->state);
         return $app->redirect($authUrl);
     } else {
         $token = $provider->getAccessToken('authorization_code', ['code' => $code]);
         $userDetails = $provider->getUserDetails($token);
         try {
             $user = $app['user.manager']->fetchUserByGithubUid($userDetails->uid);
         } catch (UserNotFoundException $exception) {
             $email = null;
             foreach ($provider->getUserEmails($token) as $providerEmail) {
                 if ($providerEmail->primary) {
                     $email = $providerEmail->email;
                     break;
                 }
             }
             $user = $app['user.manager']->createUser(['email' => $email, 'roles' => ['ROLE_USER'], 'name' => $userDetails->name, 'githubUid' => $userDetails->uid]);
             $app['user.manager']->saveUser($user);
         }
         $app['session']->set('user', $user);
         return $app->redirect($app['url_generator']->generate('account.profile'));
     }
 }
 protected function initializeRequestAttributes(Request $request, $master)
 {
     if ($master) {
         // set the context even if the parsing does not need to be done
         // to have correct link generation
         $this->router->setContext(array('base_url' => $request->getBaseUrl(), 'method' => $request->getMethod(), 'host' => $request->getHost(), 'port' => $request->getPort(), 'is_secure' => $request->isSecure()));
     }
     if ($request->attributes->has('_controller')) {
         // routing is already done
         return;
     }
     // add attributes based on the path info (routing)
     try {
         $parameters = $this->router->match($request->getPathInfo());
         if (null !== $this->logger) {
             $this->logger->info(sprintf('Matched route "%s" (parameters: %s)', $parameters['_route'], json_encode($parameters)));
         }
         $request->attributes->add($parameters);
         if ($locale = $request->attributes->get('_locale')) {
             $request->getSession()->setLocale($locale);
         }
     } catch (NotFoundException $e) {
         $message = sprintf('No route found for "%s %s"', $request->getMethod(), $request->getPathInfo());
         if (null !== $this->logger) {
             $this->logger->err($message);
         }
         throw new NotFoundHttpException($message, $e);
     } catch (MethodNotAllowedException $e) {
         $message = sprintf('No route found for "%s %s": Method Not Allowed (Allow: %s)', $request->getMethod(), $request->getPathInfo(), strtoupper(implode(', ', $e->getAllowedMethods())));
         if (null !== $this->logger) {
             $this->logger->err($message);
         }
         throw new MethodNotAllowedHttpException($e->getAllowedMethods(), $message, $e);
     }
 }
Example #12
0
 /**
  * @Route("/facebook", name="facebook")
  */
 public function index2Action(Request $request)
 {
     $host = 'http://' . $request->getHost();
     if ($this->container->get('kernel')->getEnvironment() == 'dev') {
         $host .= '/app_dev.php';
     }
     #validar que session este inicializado
     if (!session_id()) {
         session_start();
     }
     $fb = new Facebook(['app_id' => '460859080767262', 'app_secret' => '69915f389cdfa981be8dfb98276cbaf2', 'default_graph_version' => 'v2.5']);
     $helper = $fb->getRedirectLoginHelper();
     $permissions = ['email'];
     // Optional permissions
     $loginUrl = $helper->getLoginUrl("{$host}/fb-callback", $permissions);
     $enlaceFacebook = '<a href="' . htmlspecialchars($loginUrl) . '">Log in with Facebook!</a>';
     #obtener datos si esta logeado
     $user = null;
     if (!empty($_SESSION['fb_access_token'])) {
         $fb = new Facebook(['app_id' => '460859080767262', 'app_secret' => '69915f389cdfa981be8dfb98276cbaf2', 'default_graph_version' => 'v2.5']);
         try {
             // Returns a `Facebook\FacebookResponse` object
             $response = $fb->get('/me?fields=id,name,email', $_SESSION['fb_access_token']);
         } catch (FacebookResponseException $e) {
             echo 'Graph returned an error: ' . $e->getMessage();
             exit;
         } catch (FacebookSDKException $e) {
             echo 'Facebook SDK returned an error: ' . $e->getMessage();
             exit;
         }
         $user = $response->getGraphUser();
     }
     // replace this example code with whatever you need
     return $this->render('facebook/index.html.twig', array('base_dir' => realpath($this->container->getParameter('kernel.root_dir') . '/..'), 'enlaceFacebook' => $enlaceFacebook, 'user' => $user));
 }
 /**
  * @Template()
  * @Route("/packages.json", name="packages", defaults={"_format" = "json"})
  */
 public function packagesAction(Request $req)
 {
     // fallback if any of the dumped files exist
     $rootJson = $this->container->getParameter('kernel.root_dir') . '/../web/packages_root.json';
     if (file_exists($rootJson)) {
         return new Response(file_get_contents($rootJson));
     }
     $rootJson = $this->container->getParameter('kernel.root_dir') . '/../web/packages.json';
     if (file_exists($rootJson)) {
         return new Response(file_get_contents($rootJson));
     }
     if ($req->getHost() === 'packagist.org') {
         $this->get('logger')->alert('packages.json is missing and the fallback controller is being hit');
         return new Response('Horrible misconfiguration or the dumper script messed up', 404);
     }
     $em = $this->get('doctrine')->getManager();
     gc_enable();
     $packages = $em->getRepository('Packagist\\WebBundle\\Entity\\Package')->getFullPackages();
     $notifyUrl = $this->generateUrl('track_download', array('name' => 'VND/PKG'));
     $data = array('notify' => str_replace('VND/PKG', '%package%', $notifyUrl), 'packages' => array());
     foreach ($packages as $package) {
         $versions = array();
         foreach ($package->getVersions() as $version) {
             $versions[$version->getVersion()] = $version->toArray();
             $em->detach($version);
         }
         $data['packages'][$package->getName()] = $versions;
         $em->detach($package);
     }
     unset($versions, $package, $packages);
     $response = new Response(json_encode($data), 200);
     $response->setSharedMaxAge(120);
     return $response;
 }
Example #14
0
 /**
  * Chooses a language for a request
  *
  * @return $response or null
  **/
 public function switchLocaleForRequest(Request $request)
 {
     $session = $request->getSession();
     $parts = explode('.', $request->getHost());
     if (count($parts) === 3) {
         $locale = $parts[0];
         if ($locale == $session->getLocale()) {
             return;
         }
         if ($this->manager->isAvailable($locale)) {
             $session->setLocale($locale);
             $preferred = $request->getPreferredLanguage($this->manager->getAvailableLanguageCodes());
             if ($preferred != $locale) {
                 $session->setFlash('locale_change_adjust', $preferred);
             } else {
                 $session->setFlash('locale_change_contribute', $locale);
             }
             return;
         }
         $host = $parts[1] . '.' . $parts[2];
     } else {
         $host = $parts[0] . '.' . $parts[1];
     }
     $locale = $request->getPreferredLanguage($this->manager->getAvailableLanguageCodes());
     $url = sprintf('http://%s.%s%s', $locale, $host, $request->getRequestUri());
     $response = new RedirectResponse($url);
     $preferredLanguage = $this->getRequestPreferredLanguage($request);
     if ($preferredLanguage && $locale != $preferredLanguage) {
         $allLanguageCodes = array_keys($this->manager->getLanguages());
         if (in_array($preferredLanguage, $allLanguageCodes)) {
             $session->setFlash('locale_missing', $preferredLanguage);
         }
     }
     return $response;
 }
Example #15
0
 /**
  * @Route("/sign", name="_sign")
  */
 public function signAction(Request $request)
 {
     if (null == $request->get('url')) {
         return new Response('');
     }
     //$url = urldecode($request->get('url'));
     $appId = $this->container->getParameter('wechat_appid');
     $appSecret = $this->container->getParameter('wechat_secret');
     $wechat = new Wechat\Wechat($appId, $appSecret);
     $wx = (array) $wechat->getSignPackage(urldecode($request->get('url')));
     //var_dump($wx);
     $wx['shareTitle'] = '谁来一起coffe time?和互联网大咖面对面,机会千载难逢!';
     $wx['shareDesc'] = '谁来一起coffe time?和互联网大咖面对面,机会千载难逢!';
     $wx['shareUrl'] = 'http://' . $request->getHost() . '/';
     $wx['imgUrl'] = 'http://' . $request->getHost() . '/images/share.jpg';
     return new Response(json_encode($wx));
 }
Example #16
0
 /**
  * @Route("/sign", name="_sign")
  */
 public function signAction(Request $request)
 {
     if (null == $request->get('url')) {
         return new Response('');
     }
     //$url = urldecode($request->get('url'));
     $appId = $this->container->getParameter('wechat_appid');
     $appSecret = $this->container->getParameter('wechat_secret');
     $wechat = new Wechat\Wechat($appId, $appSecret);
     $wx = (array) $wechat->getSignPackage(urldecode($request->get('url')));
     //var_dump($wx);
     $wx['shareTitle'] = '你有一个来自 NET-A-PORTER 颇特女士的下午茶邀请';
     $wx['shareDesc'] = '邀请全城摩登客开启一段舌尖与视觉碰撞的时尚之旅';
     $wx['shareUrl'] = 'http://' . $request->getHost() . '/';
     $wx['imgUrl'] = 'http://' . $request->getHost() . '/images/share.jpg';
     return new Response(json_encode($wx));
 }
Example #17
0
 public function isUrlLocal($link)
 {
     if (!$this->request) {
         return false;
     }
     $parts = parse_url($link);
     $isLocal = true;
     if (!empty($parts['host']) && $parts['host'] !== $this->request->getHost()) {
         $isLocal = false;
     } elseif (!empty($parts['port']) && $parts['port'] !== $this->request->getPort()) {
         $isLocal = false;
     } elseif (!empty($parts['scheme']) && $this->request->isSecure() && $parts['scheme'] !== 'https') {
         // going out from secure connection to insecure page on same domain is not local
         $isLocal = false;
     }
     return $isLocal;
 }
Example #18
0
 public function fromRequest(Request $request)
 {
     $this->setBaseUrl($request->getBaseUrl());
     $this->setMethod($request->getMethod());
     $this->setHost($request->getHost());
     $this->setScheme($request->getScheme());
     $this->setHttpPort($request->isSecure() ? $this->httpPort : $request->getPort());
     $this->setHttpsPort($request->isSecure() ? $request->getPort() : $this->httpsPort);
 }
 protected function init(Request $request)
 {
     $this->request = $request;
     $this->baseUrl = 'http://' . $this->request->getHost() . $this->request->getBaseUrl() . $this->request->getPathInfo();
     $this->manager = $this->get('doctrine_mongodb')->getManager();
     $this->repository = $this->manager->getRepository('AppBundle:UserEvent');
     $this->queryBuilder = $this->repository->createQueryBuilder();
     $this->dbCount = $this->queryBuilder->getQuery()->execute()->count();
 }
Example #20
0
 /**
  * Set the current language, always based on a 2-letter code
  *
  * This handles the following situations:
  *
  * 1. Set the lang param via the request: example.org?lang=nl
  * 2. If the host name part of the FQDN, e.g. nl.example.org, matches one of the configured languages set the language to "nl"
  * 3. If the routes are prefixed by a language code; example.org/nl/pages
  * 4. Attempts to fetch a valid lang from the locale, "nl_NL" becomes "nl"
  * 5. Uses the default that was set in the config file of this extension
  *
  * Whatever value was set, it can always be overridden in s twig template {% set lang = 'de' %}
  *
  * @param Request $request
  */
 public function before(Request $request)
 {
     $lang = $request->query->get('lang');
     if (!$lang && $this->isAllowedLanguage($this->extractLanguage($request->getHost()))) {
         $lang = $this->extractLanguage($request->getHost());
     }
     if (!$lang && $this->isAllowedLanguage(substr($request->getRequestUri(), 1, 2))) {
         $lang = substr($request->getRequestUri(), 1, 2);
     }
     if (!$this->isValidLanguage($lang) && $this->isAllowedLanguage(substr($request->getLocale(), 0, 2))) {
         $lang = substr($request->getLocale(), 0, 2);
     }
     if (!$this->isValidLanguage($lang)) {
         $lang = $this->config['default'];
     }
     $this->app['session']->set('lang', $lang);
     $this->setCurrentLanguage($lang);
 }
Example #21
0
 /**
  * News. Film at 11.
  *
  * @param Request $request
  *
  * @return \Bolt\Response\BoltResponse
  */
 public function dashboardNews(Request $request)
 {
     $news = $this->getNews($request->getHost());
     // One 'alert' and one 'info' max. Regular info-items can be disabled,
     // but Alerts can't.
     $context = ['alert' => empty($news['alert']) ? null : $news['alert'], 'information' => empty($news['information']) ? null : $news['information'], 'error' => empty($news['error']) ? null : $news['error'], 'disable' => $this->getOption('general/backend/news/disable')];
     $response = $this->render('@bolt/components/panel-news.twig', ['context' => $context]);
     $response->setSharedMaxAge(3600)->setPublic();
     return $response;
 }
 /**
  * Returns Subdomain String for Request
  * @param Request $request
  * @return string
  */
 protected function getSubdomain(Request $request)
 {
     $host = $request->getHost();
     $parts = explode('.', $host);
     $subdomain = 'admin';
     if (count($parts) === 3) {
         $subdomain = $parts[0];
     }
     return $subdomain;
 }
Example #23
0
 /**
  * Sets all needed values from the request.
  *
  * @param Request $request A request to get values from.
  */
 public function setRequest(Request $request)
 {
     $this->setScheme($request->getScheme());
     $this->setHost($request->getHost());
     $this->setBasePath($request->getBasePath());
     if ($request->isSecure()) {
         $this->setHttpsPort($request->getPort());
     } else {
         $this->setHttpPort($request->getPort());
     }
 }
Example #24
0
 protected function getEnvironment(Request $request, $environments)
 {
     $host = $this->removeWWW($request->getHost());
     foreach ($environments as $key => $environment) {
         if ($this->removeWWW($environment['host']) == $host) {
             return $key;
         }
     }
     return false;
     //throw new \Exception("No hay ningún environment definido para este host: $host");
 }
Example #25
0
 /**
  * @param Request $request
  *
  * @throws \Exception
  *
  * @return string
  *
  * resolves the locale from httpHost or host
  */
 public function resolveFromDomain(Request $request)
 {
     $host = $request->getHost();
     $httpHost = $request->getHttpHost();
     if (array_key_exists($host, $this->localeDomainConfig)) {
         return $this->localeDomainConfig[$host];
     } elseif (array_key_exists($httpHost, $this->localeDomainConfig)) {
         return $this->localeDomainConfig[$httpHost];
     }
     return $request->getLocale();
 }
Example #26
0
 function apply(Request $request, ConfigurationInterface $configuration)
 {
     // On récupère l'entité Site correspondante
     $site = $this->repository->findOneByHostname($request->getHost());
     // On définit ensuite un attribut de requête du nom de $conf->getName()
     // et contenant notre entité Site
     $request->attributes->set($configuration->getName(), $site);
     // On retourne true pour qu'aucun autre ParamConverter ne soit utilisé sur cet argument
     // Je pense notamment au ParamConverter de Doctrine qui risque de vouloir s'appliquer !
     return true;
 }
Example #27
0
 /**
  * Handles the request when none other action was found.
  *
  * @access public
  *
  * @param string $uri The URI to handle
  *
  * @throws FrontControllerException
  */
 public function defaultAction($uri = null, $sendResponse = true)
 {
     if (null === $this->application) {
         throw new FrontControllerException('A valid BackBee application is required.', FrontControllerException::INTERNAL_ERROR);
     }
     if (false === $this->application->getContainer()->has('site')) {
         throw new FrontControllerException('A BackBee\\Site instance is required.', FrontControllerException::INTERNAL_ERROR);
     }
     $site = $this->application->getContainer()->get('site');
     preg_match('/(.*)(\\.[' . $this->url_extension . ']+)/', $uri, $matches);
     if ('_root_' !== $uri && '/' !== $uri[strlen($uri) - 1] && 0 === count($matches) && true === $this->force_url_extension || 0 < count($matches) && true === isset($matches[2]) && $site->getDefaultExtension() !== $matches[2]) {
         throw new FrontControllerException(sprintf('The URL `%s` can not be found.', $this->getRouteCollection()->getUri($uri)), FrontControllerException::NOT_FOUND);
     }
     $uri = preg_replace('/(.*)\\.' . $this->url_extension . '?$/i', '$1', $uri);
     $redirect_page = null !== $this->application->getRequest()->get('bb5-redirect', null) ? 'false' !== $this->application->getRequest()->get('bb5-redirect') : true;
     if ('_root_' == $uri) {
         $page = $this->application->getEntityManager()->getRepository('BackBee\\NestedNode\\Page')->getRoot($site);
     } else {
         $page = $this->application->getEntityManager()->getRepository('BackBee\\NestedNode\\Page')->findOneBy(array('_site' => $site, '_url' => '/' . $uri, '_state' => Page::getUndeletedStates()));
     }
     if (null !== $page && false === $page->isOnline()) {
         $page = null === $this->application->getBBUserToken() ? null : $page;
     }
     if (null === $page) {
         throw new FrontControllerException(sprintf('The URL `%s` can not be found.', $this->request->getHost() . '/' . $uri), FrontControllerException::NOT_FOUND);
     }
     if (null !== ($redirect = $page->getRedirect()) && $page->getUseUrlRedirect()) {
         if (null === $this->application->getBBUserToken() || null !== $this->application->getBBUserToken() && true === $redirect_page) {
             $redirect = $this->application->getRenderer()->getUri($redirect);
             $response = new RedirectResponse($redirect, 301, ['Cache-Control' => 'no-store, no-cache, must-revalidate', 'Expires' => 'Thu, 01 Jan 1970 00:00:00 GMT']);
             $this->send($response);
             $this->application->stop();
         }
     }
     try {
         $this->application->info(sprintf('Handling URL request `%s`.', $uri));
         $event = new PageFilterEvent($this, $this->application->getRequest(), self::MASTER_REQUEST, $page);
         $this->application->getEventDispatcher()->dispatch('application.page', $event);
         if (null !== $this->getRequest()->get('bb5-mode')) {
             $response = new Response($this->application->getRenderer()->render($page, $this->getRequest()->get('bb5-mode')));
         } else {
             $response = new Response($this->application->getRenderer()->render($page));
         }
         if ($sendResponse) {
             $this->send($response);
         } else {
             return $response;
         }
     } catch (FrontControllerException $fe) {
         throw $fe;
     } catch (\Exception $e) {
         throw new FrontControllerException(sprintf('An error occured while rendering URL `%s`.', $this->request->getHost() . '/' . $uri), FrontControllerException::INTERNAL_ERROR, $e);
     }
 }
Example #28
0
 /**
  * Updates the RequestContext info based on a HttpFoundation Request.
  *
  * @param Request $request A Request instance
  */
 public function fromRequest(Request $request)
 {
     $this->setBaseUrl($request->getBaseUrl());
     $this->setPathInfo($request->getPathInfo());
     $this->setMethod($request->getMethod());
     $this->setHost($request->getHost());
     $this->setScheme($request->getScheme());
     $this->setHttpPort($request->isSecure() ? $this->httpPort : $request->getPort());
     $this->setHttpsPort($request->isSecure() ? $request->getPort() : $this->httpsPort);
     $this->setQueryString($request->server->get('QUERY_STRING', ''));
 }
Example #29
0
 /**
  * {@inheritdoc}
  */
 public function analyze(Request $request)
 {
     if ($request->attributes->has('_sulu')) {
         return;
     }
     $attributes = new RequestAttributes(['host' => $request->getHost(), 'scheme' => $request->getScheme()]);
     foreach ($this->requestProcessors as $requestProcessor) {
         $attributes = $attributes->merge($requestProcessor->process($request, $attributes));
     }
     $request->attributes->set('_sulu', $attributes);
 }
Example #30
0
 /**
  * @param Request $request
  * @return Response
  * @throws \Exception
  * @throws \Twig_Error
  */
 public function runAction(Request $request)
 {
     // Опредиление если от радатчика необходима картинка
     if (preg_match('/imgg\\./', $request->getHost())) {
         return $this->forward('AppBundle:Servicer:image');
     }
     $servicer = $this->get('servicer');
     $template = "AppBundle::{$servicer->getType()}_pv{$servicer->getProtocolVersion()}.html.twig";
     $teasers = $servicer->getTeasers();
     return new Response($this->get('templating')->render($template, ['teasers' => $teasers, 'method' => $servicer->getMethod()]), 200, ['Content-Type' => 'application/x-javascript; charset=utf-8']);
 }