/** * @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')]; }
/** * 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' => '(.*)']); } } }
/** * 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()); }
/** * 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; }
/** * 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; }
/** * 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); }
/** * 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); }
/** * 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); }
/** * 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); }
/** * 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; }
/** * 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(); }
/** * 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); }
/** * 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(); } }
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); }
public function getHost() { return $this->request->getHost(); }
/** * 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); }
public function getSubdomain(Request $request) { return $request->getHost(); }
/** * 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); }
/** * 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(); }