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);
 }
Example #2
0
 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);
     }
 }