コード例 #1
0
 /**
  * Sends an API request.
  *
  * This method overrides the parent so that it can modify
  * the request object before is handled by the parent class.
  *
  * @param string $name The name of the operation.
  * @param \DTS\eBaySDK\Types\BaseType $request Request object containing the request information.
  * @param string The name of the PHP class that will be created from the XML response.
  *
  * @return \GuzzleHttp\Promise\PromiseInterface A promise that will be resolved with an object created from the XML response.
  */
 protected function callOperationAsync($name, \DTS\eBaySDK\Types\BaseType $request, $responseClass)
 {
     /**
      * Modify the request object to include the auth token that was set up in the configuration.
      */
     if ($this->getConfig('authToken') !== null) {
         /**
          * Don't modify a request if the token already exists.
          */
         if (!isset($request->RequesterCredentials)) {
             $request->RequesterCredentials = new \DTS\eBaySDK\Trading\Types\CustomSecurityHeaderType();
         }
         if (!isset($request->RequesterCredentials->eBayAuthToken)) {
             $request->RequesterCredentials->eBayAuthToken = $this->getConfig('authToken');
         }
     }
     return parent::callOperationAsync($name, $request, $responseClass);
 }
コード例 #2
0
 /**
  * Sends an API request.
  *
  * This method overrides the parent so that it can modify
  * the request object before is handled by the parent class.
  *
  * @param string $name The name of the operation.
  * @param \DTS\eBaySDK\Types\BaseType $request Request object containing the request information.
  * @param string The name of the PHP class that will be created from the XML response.
  *
  * @return \GuzzleHttp\Promise\PromiseInterface A promise that will be resolved with an object created from the XML response.
  */
 protected function callOperationAsync($name, \DTS\eBaySDK\Types\BaseType $request, $responseClass)
 {
     /**
        Modify the request object to add xop:Include element.
     */
     if ($name === 'uploadFile' && $request->hasAttachment()) {
         /**
            Don't modify a request if the file attachment already exists.
         */
         if (!isset($request->fileAttachment)) {
             $request->fileAttachment = new \DTS\eBaySDK\FileTransfer\Types\FileAttachment();
         }
         if (!isset($request->fileAttachment->Data)) {
             $request->fileAttachment->Data = new \DTS\eBaySDK\FileTransfer\Types\Data(['xopInclude' => new \DTS\eBaySDK\FileTransfer\Types\XopInclude(['href' => 'cid:attachment.bin@devbay.net'])]);
         }
         if (!isset($request->fileAttachment->Size)) {
             $attachment = $request->attachment();
             $request->fileAttachment->Size = strlen($attachment['data']);
         }
     }
     return parent::callOperationAsync($name, $request, $responseClass);
 }