original_string: public function viaRequest($driver, callable $callback)
      {
          return $this->extend($driver, function () use ($callback) {
              $guard = new RequestGuard($callback, $this->app['request'], $this->createUserProvider());
  
              $this->app->refresh('request', $guard, 'setRequest');
  
              return $guard;
          });
      }
code: public function viaRequest($driver, callable $callback)
      {
          return $this->extend($driver, function () use ($callback) {
              $guard = new RequestGuard($callback, $this->app['request'], $this->createUserProvider());
  
              $this->app->refresh('request', $guard, 'setRequest');
  
              return $guard;
          });
      }
code_tokens: public function viaRequest ( $ driver , callable $ callback ) { return $ this -> extend ( $ driver , function ( ) use ( $ callback ) { $ guard = new RequestGuard ( $ callback , $ this -> app [ 'request' ] , $ this -> createUserProvider ( ) ) ; $ this -> app -> refresh ( 'request' , $ guard , 'setRequest' ) ; return $ guard ; } ) ; }
docstring: Register a new callback based request guard.
  
  @param  string  $driver
  @param  callable  $callback
  @return $this
docstring_tokens: Register a new callback based request guard .