Example #1
0
 /**
  * @param \Spryker\Shared\Transfer\TransferInterface $transferObject
  * @param array $metaTransfers
  *
  * @throws \LogicException
  *
  * @return \Spryker\Shared\Library\Communication\Request
  */
 protected function createRequestTransfer(TransferInterface $transferObject, array $metaTransfers)
 {
     $request = new Request();
     $request->setSessionId(session_id());
     $request->setTime(time());
     $request->setHost(System::getHostname() ?: 'n/a');
     foreach ($metaTransfers as $name => $metaTransfer) {
         if (!is_string($name) || is_numeric($name) || !$metaTransfer instanceof TransferInterface) {
             throw new LogicException('Adding MetaTransfer failed. Either name missing/invalid or no object of TransferInterface provided.');
         }
         $request->addMetaTransfer($name, $metaTransfer);
     }
     if ($this->username) {
         $request->setUsername($this->username);
     }
     if ($this->password) {
         $request->setPassword($this->password);
     }
     if ($transferObject) {
         $request->setTransfer($transferObject);
     }
     return $request;
 }