/** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { $ips = []; foreach ($request->ips() as $ip) { $ips[$ip] = gethostbyaddr($ip); } $logger = app()->make('RequestLogger'); $logger->addInfo('Download', ['ips' => $ips, 'referer' => $request->cookie('referer'), 'user_agent' => $request->header('User-Agent')]); return $next($request); }
/** * Returns the client IP addresses. * * @return array * @static */ public static function ips() { return \Illuminate\Http\Request::ips(); }
/** * Log an request. * @param \Illuminate\Http\Request $request * @param array $return * @return mixed */ public static function requestLog(\Illuminate\Http\Request $request, $return) { $data = array('ips' => $request->ips(), 'url' => $request->fullUrl(), 'method' => $request->method(), 'return' => $return, 'original' => $request->all()); self::record('request', $data, 'request'); }