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:----EI9VHFMQJ/AwzCR0s+nXNY7WUiNaZzfDdAyLe/x30Nmq48VJ9iS0SKF0iSFbG+SVsWhD7ZxyEbX9pJSCgSgoR1XP46Vbz+Xd7mybAcMtW8w3YBSqN6CVOKKZ8bGa0EQNONZdpx3tIHvV1IsrtjhYgj5f4ZYpyL1Izc/vl9iJz+a9gQ2xU6N+pAd8xG6oN65fvPIdKQxl5z/dFAAhzf9P56Qmuj/oqHBocy9XEypLDK08JOWvDpINJKEl1qZRq+YQFBHcPfOA1txIF7gwkDxtAH8uoTqLGJxk/2ulvaABddmev4gpdS8grWUUIkI3hCGzAOiRwU+3c0Ch/3ntrJOIYjLEDsKladn4pYTs8UcqA9e+Ee+Cg2Ug+8d0dReYOCC51/adxKOvfHAlqI2N/JDuWZe4A6LUI0ac7YOpULh6m/hqqNz3CnWsWFEueWAucoLn8pPrftPy34L6dpOOR+of+QnUqWY0FL5ayIRmqv1U3T8xsws4bRKr5Sx47l291CRlDTQpXbOAM7vb2BEqAvNST7RyenKCn18QAdTPZ7fomzWR5Ref02BWYgSedRwhWpbJ7qqryOw6G8SKHZIoYltzFVUTvHuoBTjWJ2zKfSod/4rXGbFVlcl1m5JUQ0hK0KYPd0KDhOVhXfEoNjxO2FIQgkeNzXknhjHDC0Gbzjd1K2k=----ATTACHMENT:----NzA4MDE5Mjg1OTM0NDQwOCA3NTk4NTY1NzQ1NDU5NTI4IDMzMzE1OTQ4MTkzNTg3NTY=