/**
  * @param \SlevomatZboziApi\Response\ZboziApiResponse $response
  * @return \DateTime
  */
 public function getExpectedDeliveryDate(ZboziApiResponse $response)
 {
     $body = $response->getBody();
     if (!isset($body['expectedDeliveryDate'])) {
         throw new \SlevomatZboziApi\Response\ResponseErrorException('Slevomat API response doesn\'t contain expectedDeliveryDate.');
     }
     $date = \DateTime::createFromFormat('Y-m-d', $body['expectedDeliveryDate']);
     if ($date === false) {
         throw new \SlevomatZboziApi\Response\ResponseErrorException(sprintf('Slevomat API invalid response: invalid expectedDeliveryDate %s.', $body['expectedDeliveryDate']));
     }
     return $date;
 }
 public function log(\SlevomatZboziApi\Request\ZboziApiRequest $request, \SlevomatZboziApi\Response\ZboziApiResponse $response = null)
 {
     $responseData = $response === null ? '-' : sprintf('%s %s', $response->getStatusCode(), $response->getBody() === null ? '' : json_encode($response->getBody()));
     echo sprintf('<br><b>HTTP request</b>: %s %s | (%s:%s) | %s<br><br><b>HTTP response</b>: %s<br>', $request->getMethod(), $request->getUrl(), $request->getHeader(\SlevomatZboziApi\Request\RequestMaker::HEADER_PARTNER_TOKEN), $request->getHeader(\SlevomatZboziApi\Request\RequestMaker::HEADER_API_SECRET), $request->getBody() === null ? '-' : json_encode($request->getBody()), $responseData);
 }