示例#1
0
 /**
  * @param UploadTicket $uploadTicket
  *
  * @return UploadJobStatus
  * @throws UploadException
  */
 public function getJobStatus(UploadTicket $uploadTicket)
 {
     $compiledUrl = $this->baseUrl . "?member_id={$uploadTicket->getMemberId()}&job_id={$uploadTicket->getJobId()}";
     $response = $this->client->request('GET', $compiledUrl);
     $repositoryResponse = RepositoryResponse::fromResponse($response);
     if (!$repositoryResponse->isSuccessful()) {
         throw UploadException::failed($repositoryResponse);
     }
     if (!isset($repositoryResponse->getResponseAsArray()['response']['batch_segment_upload_job'][0])) {
         throw UploadException::missingIndex('response->batch_segment_upload_job->0');
     }
     $uploadJobStatus = UploadJobStatus::fromArray($repositoryResponse->getResponseAsArray()['response']['batch_segment_upload_job'][0]);
     return $uploadJobStatus;
 }