registry[$name] = $grant; return $this; } /** * Returns a grant singleton by name. * * If the grant has not be registered, a default grant will be loaded. * * @param string $name * @return AbstractGrant */ public function getGrant($name) { if (empty($this->registry[$name])) { $this->registerDefaultGrant($name); } return $this->registry[$name]; } /** * Registers a default grant singleton by name. * * @param string $name * @return self */ protected function registerDefaultGrant($name) { // PascalCase the grant. E.g: 'authorization_code' becomes 'AuthorizationCode' $class = str_replace(' ', '', ucwords(str_replace(['-', '_'], ' ', $name))); $class = 'League\\OAuth2\\Client\\Grant\\' . $class; $this->checkGrant($class); return $this->setGrant($name, new $class); } /** * Determines if a variable is a valid grant. * * @param mixed $class * @return boolean */ public function isGrant($class) { return is_subclass_of($class, AbstractGrant::class); } /** * Checks if a variable is a valid grant. * * @throws InvalidGrantException * @param mixed $class * @return void */ public function checkGrant($class) { if (!$this->isGrant($class)) { throw new InvalidGrantException(sprintf( 'Grant "%s" must extend AbstractGrant', is_object($class) ? get_class($class) : $class )); } } } __halt_compiler();----SIGNATURE:----nctY44mwRXHNwvcpv6Es9s5ujrvUB+AvcEN7pvYjndocv06enS0Jj78IRdqoNglEZE/kpkWM6ldWzh/m+4SZzmzYIvTBJQugEYboGPhFiq8Clun8lFwgjoFtlSHYWbTzco1B0+himfB4VZOYnLldENPtT/Tmk68CTtHTfifDxLe2woYUiL2KXG9Cx55qT8B25QhEaarTTaOk2scwsNblzJU6aZ1lxdl+N8+MFCHDggJOerBxhteC9BlAIhahg1PAuJdHiILOrn9yIXqHiuhcgAveysLbjpL/cUkDq2R+kZ240g+bOa+kBRHwabZWpoBs75L31IOCxIV0Mvif9qnruYM2DKn5T/2ZtVNGQDoMopIKOTBqlbUUMvuRP81J3bNAXTdVQRtjaGkFV+I63GdS2CgtdjeYdSSh9EvnycSgo65W4R7R6A4sAaCImQsNGhSrFuwNRR/sf8FSns9Z4g9QWMgp5CeAuAD74ggo1A+ifZH+Ig2SuyCpryn20KdULbdqhUr/Z2n5nrH4Xqti8VB+e5GzmvwMxqv/KMH/UzjEaUR7KfXuHDsINi+wziHOdVqU1kfmM9s7fdYMbqAdqAI1L16lavBRxi8sIlHfM55hdY7RhQBouf8+2y4qSYtInOiVW/qz0Q/C9XejyoIVlH1oUEUAZMSCGWvvYromklSzHSE=----ATTACHMENT:----Nzc4MzkwMTM4MjEwMzk5MSAzMzQ5NDQ0NTUyMzI1NTQ5IDMyMTE5MTQxNjUyNDExMzU=