getErrors() as $error) { $message .= "\t- $error\n"; } if(!$response->data()) { $message .= "\t- Empty response\n"; } if ($debug) { $message .= self::debug_message($response); } foreach($response->getStack() as $_response) { $exception = self::make($_response, $debug, $exception); } return new self($message."Error occurred", 0, $exception); } /** * Generate a debug message containing all commands send and responses received * @param Response $response * * @return string */ protected static function debug_message(Response $response): string { $commands = $response->getCommands(); $message = "Commands send:\n"; if ($commands) { foreach($commands as $command) { $message .= "\t".str_replace("\r\n", "\\r\\n", $command)."\n"; } }else{ $message .= "\tNo command send!\n"; } $responses = $response->getResponse(); $message .= "Responses received:\n"; if ($responses) { foreach($responses as $_response) { if (is_array($_response)) { foreach($_response as $value) { $message .= "\t".str_replace("\r\n", "\\r\\n", "$value")."\n"; } }else{ $message .= "\t".str_replace("\r\n", "\\r\\n", "$_response")."\n"; } } }else{ $message .= "\tNo responses received!\n"; } return $message; } }