|
@@ -351,9 +351,19 @@ void QGrpcHttp2Channel::stream(QGrpcStream *grpcStream, const QString &service,
|
|
|
qProtoDebug() << "Remote server closed connection. Reconnect silently";
|
|
|
stream(grpcStream, service, client);
|
|
|
break;
|
|
|
- case QNetworkReply::NoError:
|
|
|
-
|
|
|
+ case QNetworkReply::NoError: {
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ QGrpcStatus::StatusCode grpcStatus;
|
|
|
+ QGrpcHttp2ChannelPrivate::processReply(networkReply, grpcStatus);
|
|
|
+ if (grpcStatus != QGrpcStatus::StatusCode::Ok) {
|
|
|
+ grpcStream->error(QGrpcStatus{grpcStatus, QString::fromUtf8(networkReply->rawHeader(GrpcStatusMessage))});
|
|
|
+ } else {
|
|
|
+ grpcStream->finished();
|
|
|
+ }
|
|
|
break;
|
|
|
+ }
|
|
|
default:
|
|
|
grpcStream->error(QGrpcStatus{StatusCodeMap.at(networkError), QString("%1 call %2 stream failed: %3").arg(service).arg(grpcStream->method()).arg(errorString)});
|
|
|
break;
|