Как получить возвращенные коды состояния HTTP-кодов цепочек в node-sdk - PullRequest
0 голосов
/ 27 сентября 2018

Я борюсь с чтением кодов состояния, которые возвращаются из моего цепного кода.

Я выполняю следующий вызов с использованием узла узла SDK:

results = await channel.sendTransactionProposal(request);

Где канал - это Channel объект из узла SDK.Мой цепной код отклоняет этот запрос и возвращает код состояния HTTP 500. SDK узла выдает исключение без установленного кода состояния.Немного покопавшись в коде, я нашел следующий код в Peer.js фабричного клиента, который выдает ошибку:

if (proposalResponse) {
    logger.debug('%s - Received proposal response from peer "%s": status - %s', method, self._url, proposalResponse.response.status);
    // 400 is the error threshold level, anything below that the endorser will endorse it.
    if (proposalResponse.response && proposalResponse.response.status < 400) {
        resolve(proposalResponse);
    } else if (proposalResponse.response && proposalResponse.response.message) {
        reject(new Error(proposalResponse.response.message));
    } else {
        logger.error('GRPC client failed to get a proper response from the peer "%s".', self._url);
        reject(new Error(util.format('GRPC client failed to get a proper response from the peer "%s".', self._url)));
    }
} else {
    logger.error('GRPC client got a null or undefined response from the peer "%s".', self._url);
    reject(new Error(util.format('GRPC client got a null or undefined response from the peer "%s".', self._url)));
}

Строка reject(new Error(proposalResponse.response.message)); выдает ошибку, и код состояния, очевидно,потерял.Это версия 1.2.2 Fabric-Client, которую можно найти здесь: https://github.com/hyperledger/fabric-sdk-node/tree/v1.2.2

Есть ли какое-то решение в этом отношении, или мы должны ждать более новой версии?Кажется, что проблема была решена в v1.3 (это совместимо только с Fabric v1.3?

Спасибо

...