code: public function handle($request, Closure $next)
      {
          $this->request = $request;
  
          $this->setPermissionKey();
  
          if(Gate::denies('hasPermission', $this->permissionKey)) {
              $this->deny();
          }
  
          return $next($request);
      }
docs: Handle an incoming request.
  
  @param  \Illuminate\Http\Request  $request
  @param  \Closure  $next
  @return mixed