From 3c958dc5df2b2de2a3096ddc834a2845bd168c22 Mon Sep 17 00:00:00 2001 From: Lukas Rosenstock Date: Fri, 12 Jun 2026 18:28:30 +0000 Subject: [PATCH] Throw exception when namespace cannot be retrieved --- CloudObjects/SDK/Helpers/SDKLoader.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CloudObjects/SDK/Helpers/SDKLoader.php b/CloudObjects/SDK/Helpers/SDKLoader.php index f3f2b81..1098b71 100644 --- a/CloudObjects/SDK/Helpers/SDKLoader.php +++ b/CloudObjects/SDK/Helpers/SDKLoader.php @@ -7,6 +7,7 @@ namespace CloudObjects\SDK\Helpers; use Exception; +use CloudObjects\SDK\Exceptions\InvalidSDKConfigurationException; use CloudObjects\SDK\NodeReader, CloudObjects\SDK\ObjectRetriever; /** @@ -39,6 +40,9 @@ class SDKLoader { public function init(string $sdkName, array $options = []) : mixed { $namespace = $this->objectRetriever->getAuthenticatingNamespaceCloudObject(); + if (!$namespace) + throw new InvalidSDKConfigurationException("The authenticating namespace object could not be retrieved."); + switch (strtolower($sdkName)) { case "sentry": // --- Sentry (https://sentry.io/) --- @@ -69,6 +73,9 @@ class SDKLoader { if (!isset($this->classes[$hashkey])) { $nsNode = $this->objectRetriever->getAuthenticatingNamespaceObjectNode(); + if (!$nsNode) + throw new InvalidSDKConfigurationException("The authenticating namespace object could not be retrieved."); + // --- Amazon Web Services (https://aws.amazon.com/) --- // has multiple classnames, so check for common superclass if (is_a($classname, 'Aws\AwsClient', true)) {