/** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * * @throws \Symfony\Component\HttpKernel\Exception\HttpException * * @return mixed */ public function handle(Request $request, Closure $next) { if ($repo = $request->route('repo')) { $this->protect($repo, $request->isMethodSafe()); } elseif ($analysis = $request->route('analysis')) { $this->protect($analysis->repo, $request->isMethodSafe()); } return $next($request); }
/** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * * @throws \Symfony\Component\HttpKernel\Exception\UnprocessableEntityHttpException * * @return mixed */ public function handle(Request $request, Closure $next) { if ($request->isMethodSafe() || $this->shouldPassThrough($request)) { return $next($request); } $function = function () use($request, $next) { return $next($request); }; $name = 'session-' . $request->session()->getId(); try { $response = $this->locker->execute($function, $name, 20000); } catch (UnableToAcquireLockException $e) { throw new UnprocessableEntityHttpException('Unable to acquire lock.', $e, $e->getCode()); } return $response; }
/** * Checks whether the method is safe or not. * * @return bool * @static */ public static function isMethodSafe() { //Method inherited from \Symfony\Component\HttpFoundation\Request return \Illuminate\Http\Request::isMethodSafe(); }