]> git.mxchange.org Git - hub.git/blobdiff - application/hub/main/package/class_NetworkPackage.php
Added assert() calls to make sure the package is valid
[hub.git] / application / hub / main / package / class_NetworkPackage.php
index 8202882765292c418c6ab15400a602488d66d413..c050b3e1cf91358a81d707beaebb2c5fe0fc7d44 100644 (file)
@@ -408,6 +408,9 @@ class NetworkPackage extends BaseHubSystem implements Deliverable, Receivable, R
         * @return      void
         */
        private function declareRawPackageData (array $packageData) {
+               // Make sure the required field is there
+               assert(isset($packageData[self::PACKAGE_DATA_RECIPIENT]));
+
                /*
                 * We need to disover every recipient, just in case we have a
                 * multi-recipient entry like 'upper' is. 'all' may be a not so good
@@ -697,13 +700,10 @@ class NetworkPackage extends BaseHubSystem implements Deliverable, Receivable, R
                 * Now there are for sure packages to deliver, so start with the first
                 * one.
                 */
-               $packageData = $this->getStackerInstance()->getNamed(self::STACKER_NAME_UNDECLARED);
+               $packageData = $this->getStackerInstance()->popNamed(self::STACKER_NAME_UNDECLARED);
 
                // Declare the raw package data for delivery
                $this->declareRawPackageData($packageData);
-
-               // And remove it finally
-               $this->getStackerInstance()->popNamed(self::STACKER_NAME_UNDECLARED);
        }
 
        /**
@@ -724,6 +724,10 @@ class NetworkPackage extends BaseHubSystem implements Deliverable, Receivable, R
                // Get the package
                $packageData = $this->getStackerInstance()->getNamed(self::STACKER_NAME_DECLARED);
 
+               // Assert on it
+               assert($packageData[self::PACKAGE_DATA_RECIPIENT]);
+
+               // Try to deliver the package
                try {
                        // And try to send it
                        $this->deliverRawPackageData($packageData);