public function postSend(RequestInterface $request, MessageInterface $response) { $raw = $response->getContent(); $content = json_decode($raw, true); if ($response->getStatusCode() === 404) { throw new NotFoundHttpException(sprintf('%s %s: %s', $response->getStatusCode(), $response->getReasonPhrase(), $content['message'])); } if (!($response->isInformational() || $response->isSuccessful())) { throw new \Exception(sprintf('%s %s: %s', $response->getStatusCode(), $response->getReasonPhrase(), $content['message'])); } $response->setContent($content); }
public function postSend(RequestInterface $request, MessageInterface $response) { if ($this->disabled) { if (1 === $this->disabled) { $this->disabled = false; } return; } if (!$response->isSuccessful()) { $resultArray = json_decode($response->getContent(), true); if (isset($resultArray['error'])) { $errorMessage = $resultArray['error']['message']; } else { $errorMessage = []; $errorMessage[] = 'No message found. If you think this is a bug please report it to the Gush team.'; $errorMessage[] = 'WARNING! The Request contains confidential information such as password or token.'; $errorMessage[] = 'Raw request: ' . (string) $request . PHP_EOL . PHP_EOL; $errorMessage[] = 'Raw response: ' . (string) $response; $errorMessage = implode(PHP_EOL, $errorMessage); } throw new AdapterException($errorMessage); } }