public function testDateTimeForRetry() { $responseDateTime = new \DateTime('2014-09-09 00:00:00'); $response = new GuzzleResponse(202, ['Retry-After' => '15']); $exception = new BoxException\NotAvailableException('', $response, $responseDateTime); $this->assertEquals((new \DateTime('2014-09-09 00:00:15'))->getTimestamp(), $exception->getDateTimeForRetry()->getTimestamp()); }
/** * @param ResponseInterface $response * @return Entity\Document * @throws \BoxView\Exception\NotAvailableException */ public function getSession(ResponseInterface $response) { $statusCode = $response->getStatusCode(); if ($statusCode != '201' && $statusCode != '202') { $this->handleUnexpectedResponse($response); } if ($statusCode == '202') { throw NotAvailableException::create($response, new \DateTime()); } return new Entity\Session(\GuzzleHttp\json_decode($response->getBody(), true)); }