/**
  * @param Request|\Symfony\Component\HttpFoundation\Request $request
  *
  * @return array
  */
 protected function buildBasicEntry($request)
 {
     return ['api_key' => $request->query->get('api_key', $request->headers->get(ManagedDefaults::DF_API_KEY)), 'content_type' => $request->getContentType(), 'content_length' => (int) $request->headers->get('Content-Length', 0), 'dfe' => [], 'host' => $request->getHost(), 'method' => $request->getMethod(), 'path_info' => $request->getPathInfo(), 'path_translated' => $request->server->get('PATH_TRANSLATED'), 'query' => $request->query->all() ?: [], 'request_timestamp' => (double) $request->server->get('REQUEST_TIME_FLOAT', microtime(true)), 'source_ip' => $request->getClientIps(), 'user_agent' => $request->headers->get('user-agent', 'None')];
 }
Example #2
0
 /**
  * Validate a given rule against a route and request.
  *
  * @param  \Illuminate\Routing\Route $route
  * @param  \Illuminate\Http\Request $request
  * @return bool
  */
 public function matches(Route $route, Request $request)
 {
     if (is_null($route->getCompiled()->getHostRegex())) {
         return true;
     }
     return preg_match($route->getCompiled()->getHostRegex(), $request->getHost());
 }
 /**
  * Map the redirect routes.
  *
  * @param UrlGenerator                $url
  * @param Router                      $router
  * @param Request                     $request
  * @param RedirectRepositoryInterface $redirects
  * @internal param Filesystem $files
  * @internal param Application $application
  */
 public function map(UrlGenerator $url, Router $router, Request $request, RedirectRepositoryInterface $redirects)
 {
     if ($request->segment(1) == 'admin') {
         return;
     }
     /* @var RedirectInterface $redirect */
     foreach ($redirects->sorted() as $redirect) {
         if (!starts_with($parsed = $redirect->getFrom(), ['http://', 'https://', '//'])) {
             $parsed = $url->to($redirect->getFrom());
         }
         $parsed = parse_url(preg_replace_callback("/\\{[a-z]+\\?\\}/", function ($matches) {
             return str_replace('?', '!', $matches[0]);
         }, $parsed));
         if (isset($parsed['host']) && $parsed['host'] == $request->getHost()) {
             /**
              * Route a domain redirect in a domain group.
              */
             $router->group(['domain' => $parsed['host']], function () use($parsed, $router, $redirect) {
                 $path = ltrim(preg_replace_callback("/\\{[a-z]+\\!\\}/", function ($matches) {
                     return str_replace('!', '?', $matches[0]);
                 }, $parsed['path']), '/');
                 $router->any($path ?: '/', ['uses' => 'Anomaly\\RedirectsModule\\Http\\Controller\\RedirectsController@handle', 'redirect' => $redirect->getId()])->where(['any' => '(.*)', 'path' => '(.*)']);
             });
         } else {
             /**
              * Route a standard redirect.
              */
             $router->any($redirect->getFrom(), ['uses' => 'Anomaly\\RedirectsModule\\Http\\Controller\\RedirectsController@handle', 'redirect' => $redirect->getId()])->where(['any' => '(.*)', 'path' => '(.*)']);
         }
     }
 }
Example #4
0
 /**
  * Validate a given rule against a route and request.
  *
  * @param  \Illuminate\Routing\Route  $route
  * @param  \Illuminate\Http\Request  $request
  * @return bool
  */
 public function matches(Route $route, Request $request)
 {
     if (is_null($route->hostExpression())) {
         return true;
     }
     return preg_match($route->hostExpression(), $request->getHost());
 }
Example #5
0
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request $request
  * @param  \Closure $next
  *
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     $host = $request->getHost();
     $site = Site::setSiteByHost($host);
     $response = $next($request);
     return $response;
 }
Example #6
0
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  *
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     if (!$request->ajax()) {
         $subdomain = $this->getSubdomain($request->getHost());
         //return redirect()->guest('auth/login');
     }
     return $next($request);
 }
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request $request
  * @param  \Closure $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     $config = app('config');
     $is_student_site = $request->getHost() == $config->get('site.students_domain');
     $site = $is_student_site ? $config->get('site-students') : $config->get('site-faithpromise');
     $config->set('site', array_merge($config['site'], $site));
     return $next($request);
 }
 protected function findRoute(Request $request, array $routes)
 {
     foreach ($routes as $key => $route) {
         list($method, $domain, $uri) = explode(' ', $key);
         if ($request->getMethod() == $method && $request->getHost() == $domain && trim($request->getPathInfo(), '/') === trim($route['uri'], '/')) {
             return $route;
         }
     }
 }
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request $request
  * @param  \Closure $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     $host = $request->getHost();
     $parts = explode('.', $host);
     /*if (count($parts) > 2) {
           show_404();
       }*/
     return $next($request);
 }
 /**
  * Check the request for the current domain
  *
  * @param Request $request The request object
  */
 public static function setRequest(Request $request)
 {
     $host = strtolower(preg_replace('/^(.*(\\.|\\/))?([^\\.]+\\.[^\\.]+)$/i', '$3', $request->getHost()));
     $sites = Config::get('app.sites');
     $name = Config::get('app.fallback_site');
     foreach ($sites as $site => $settings) {
         $name = in_array($host, $settings['domains']) ? $site : $name;
     }
     static::$name = $name;
 }
Example #11
0
 /**
  * Handle an incoming request.
  *
  * @param \Illuminate\Http\Request $request
  * @param \Closure                 $next
  *
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     $handledDomains = config('app.domains');
     $currentDomain = $request->getHost();
     foreach ($handledDomains as $locale => $domain) {
         if (preg_match('#' . preg_quote($domain, '#') . '$#', $currentDomain)) {
             $this->app->setLocale($locale);
         }
     }
     return $next($request);
 }
Example #12
0
 /**
  * Handle an incoming request.
  *
  * @param  Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle(Request $request, Closure $next)
 {
     if (!$request->ajax()) {
         $visit = new Visit();
         $visit->page = parse_url($request->fullUrl(), PHP_URL_PATH);
         $visit->ip = $request->ip();
         $visit->host = $request->getHost();
         $visit->user_agent = Agent::browser() . ' ' . Agent::version(Agent::browser());
         $visit->save();
     }
     return $next($request);
 }
 protected function shouldIndex(Request $request) : bool
 {
     if (ends_with($request->getHost(), 'spatie.be')) {
         return false;
     }
     if (!app()->environment('production')) {
         return false;
     }
     if (!env('ALLOW_ROBOTS')) {
         return false;
     }
     return request()->isFront();
 }
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request $request
  * @param  \Closure                 $next
  *
  * @return mixed
  */
 public function handle($request, \Closure $next)
 {
     $config = app('config');
     $view = app('view');
     $domain = str_replace($config->get('tenancy.multi_site.ignorable_domain_components', []), '', $request->getHost());
     $tenant = $this->repository->findOneByDomain($domain);
     if (!$tenant instanceof TenantParticipant) {
         throw new \RuntimeException(sprintf('Unable to resolve host "%s" to valid TenantParticipant.', $domain));
     }
     $finder = $view->getFinder();
     if ($finder instanceof TenantViewFinder) {
         $paths = $this->appendPathsInFinder($finder, $tenant);
     } else {
         $paths = $this->registerPathsInFinder($view, $finder, $tenant);
     }
     // update app config
     $config->set('app.url', $request->getHost());
     $config->set('view.paths', array_merge($config->get('view.paths', []), $paths));
     // bind resolved tenant data to container
     app('auth.tenant')->updateTenancy(new NullUser(), $tenant->getTenantOwner(), $tenant);
     return $next($request);
 }
Example #15
0
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     if ($request->is('admin*') || $request->is('auth*')) {
         $admin_domain = \Config::get('app.admin_domain');
         if ($request->getHost() == $admin_domain) {
             return $next($request);
         }
         abort(403, 'Invalid admin domain');
     }
     $domain = app('domain');
     if (!is_object($domain)) {
         abort(403, 'Invalid domain');
         return false;
     }
     return $next($request);
 }
Example #16
0
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     //tsipizic for unit testing we set language to english by default
     if ($request->getHost() == 'localhost') {
         app()->setLocale('en');
         return $next($request);
     }
     if (in_array($request->segment(1), config('app.locale'))) {
         Session::put('locale', $request->segment(1));
         return Redirect::to(substr($request->path(), 3));
     }
     // Check if the session has the language
     if (!Session::has('locale')) {
         Session::put('locale', config('app.fallback_locale'));
     }
     app()->setLocale(Session::get('locale'));
     return $next($request);
 }
Example #17
0
 /**
  * Find the options for the current request, based on the paths/hosts settings.
  *
  * @param Request $request
  *
  * @return array
  */
 protected function getOptions(Request $request)
 {
     $defaults = $this->app['config']->get('df.cors.defaults', []);
     $paths = $this->getPath();
     $uri = $request->getPathInfo() ?: '/';
     $host = $request->getHost();
     foreach ($paths as $pathPattern => $options) {
         //Check for legacy patterns
         if ($request->is($pathPattern) || Str::startsWith($pathPattern, '^') && preg_match('{' . $pathPattern . '}i', $uri)) {
             $options = array_merge($defaults, $options);
             // skip if the host is not matching
             if (isset($options['hosts']) && count($options['hosts']) > 0) {
                 foreach ($options['hosts'] as $hostPattern) {
                     if (Str::is($hostPattern, $host)) {
                         return $options;
                     }
                 }
                 continue;
             }
             return $options;
         }
     }
     return $defaults;
 }
Example #18
0
 /**
  * Returns the host name.
  * 
  * 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.
  *
  * @return string 
  * @throws \UnexpectedValueException when the host name is invalid
  * @static 
  */
 public static function getHost()
 {
     //Method inherited from \Symfony\Component\HttpFoundation\Request
     return \Illuminate\Http\Request::getHost();
 }
Example #19
0
 /**
  * Extract the parameter list from the host part of the request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  array  $parameters
  * @return array
  */
 protected function bindHostParameters(Request $request, $parameters)
 {
     preg_match($this->compiled->getHostRegex(), $request->getHost(), $matches);
     return array_merge($this->matchToKeys(array_slice($matches, 1)), $parameters);
 }
Example #20
0
 /**
  * Get the full match path for the request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return string
  */
 protected function fullMatchPath($request)
 {
     if (isset($this->action['domain'])) {
         return trim($request->getHost() . '/' . $request->path(), '/');
     } else {
         return $request->path();
     }
 }
Example #21
0
 public function join_pin(Request $request)
 {
     //validate options
     $validator = ['access_pin' => ['required', 'numeric'], 'g-recaptcha-response' => 'required|captcha'];
     //tsipizic for unit testing no captcha
     if ($request->getHost() == 'localhost') {
         $validator = ['access_pin' => ['required', 'numeric']];
     }
     $this->validate($request, $validator);
     $access_pin = $request->input('access_pin');
     $room = Room::where('access_pin', $access_pin)->first();
     if ($room) {
         //check if meeting running and create if needed
         $bbb_id = bbbController::running($room);
         if (!$bbb_id) {
             $bbb_id = bbbController::create($room);
         }
         //join meeting
         $bbb = new BigBlueButton($bbb_id);
         $params = array('meetingId' => $room->bbb_meeting_id, 'username' => 'test', 'userId' => '', 'webVoiceConf' => '', 'password' => $room->att_pass);
         try {
             $result = $bbb->getJoinMeetingURL($params);
         } catch (Exception $e) {
             throw new Exception($e->getMessage() . "\n");
         }
         return redirect($result);
     } else {
         return view('room.withPin')->withErrors(trans('room.not_found'));
     }
 }
 /**
  * @param $data
  * @return array
  */
 protected function setRequestData(array $data)
 {
     $data['original_headers'] = $this->httpRequest->headers->all();
     $data['request'] = ['host' => $this->httpRequest->getHost(), 'method' => $this->httpRequest->method(), 'scheme' => $this->httpRequest->getScheme()];
     return $data;
 }
 /**
  * Determine the locale from the current host.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return  string
  */
 public function determineLocale(Request $request)
 {
     return $this->hostMapping->flip()->get($request->getHost(), $this->fallback);
 }
Example #24
0
 public function getHost()
 {
     return $this->request->getHost();
 }
Example #25
0
 /**
  * Extract the parameter list from the request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return array
  */
 public function bindParameters(Request $request)
 {
     preg_match($this->compiled->getRegex(), '/' . $request->path(), $matches);
     $parameters = $this->combineMatchesWithKeys(array_slice($matches, 1));
     if (!is_null($this->compiled->getHostRegex())) {
         preg_match($this->compiled->getHostRegex(), $request->getHost(), $matches);
         $parameters = array_merge($this->combineMatchesWithKeys(array_slice($matches, 1)), $parameters);
     }
     return $this->parameters = $this->replaceDefaults($parameters);
 }
Example #26
0
 public function getSubdomain(Request $request)
 {
     return $request->getHost();
 }
Example #27
0
 /**
  * Determine the locale from the current host.
  *
  * @param Request $request
  *
  * @return string
  */
 protected function determineLocale($request)
 {
     $host = $request->getHost();
     // Get subdomain from host
     $subdomain = explode('.', $host)[0];
     // Validate subdomain
     if ($this->localeManager->checkLocaleInSupportedLocales($subdomain)) {
         return $subdomain;
     }
     // Match hosts
     $default = $this->localeManager->getDefaultLocale();
     $hosts = $this->localeManager->getConfig('hosts', []);
     return empty($hosts) ? $default : Arr::get($hosts, $host, $default);
 }
Example #28
0
 /**
  * Validate that the request domain matches the configured domain.
  *
  * @param \Illuminate\Http\Request $request
  *
  * @return bool
  */
 public function validate(Request $request)
 {
     return !is_null($this->domain) && $request->getHost() === $this->getStrippedDomain();
 }