/** * @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')]; }
/** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * * @throws \Symfony\Component\HttpKernel\Exception\HttpException * * @return mixed */ public function handle($request, Closure $next) { // Set trusted header names foreach ($this->getTrustedHeaders() as $headerKey => $headerName) { $request->setTrustedHeaderName($headerKey, $headerName); } $request->setTrustedProxies($this->getTrustedProxies($request->getClientIps())); return $next($request); }
/** * Returns the client IP addresses. * * In the returned array the most trusted IP address is first, and the * least trusted one last. The "real" client IP address is the last one, * but this is also the least trusted one. Trusted proxies are stripped. * * Use this method carefully; you should use getClientIp() instead. * * @return array The client IP addresses * @see getClientIp() * @static */ public static function getClientIps() { //Method inherited from \Symfony\Component\HttpFoundation\Request return \Illuminate\Http\Request::getClientIps(); }
/** * Set trusted proxies for the request. * @param \Illuminate\Http\Request $request */ public function setTrustedProxiesForRequest(Request $request) { if (empty($request->getTrustedProxies())) { $request->setTrustedProxies($request->getClientIps()); } }