aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/grpc/client/grpc_client_low.h
diff options
context:
space:
mode:
authordcherednik <dcherednik@ydb.tech>2023-10-11 13:06:41 +0300
committerdcherednik <dcherednik@ydb.tech>2023-10-11 13:35:51 +0300
commitf23fad2ba0d00dc204697a8e10c333690d083b0e (patch)
tree1151005ac1406df83ba4bae3f891c66aa15f4c47 /library/cpp/grpc/client/grpc_client_low.h
parentc5f748cdb834e1f931d33ddca00cc8cd308985ec (diff)
downloadydb-f23fad2ba0d00dc204697a8e10c333690d083b0e.tar.gz
Set request unit trailing header for ScanQuery/ScanYql sctipts. KIKIMR-19243
Diffstat (limited to 'library/cpp/grpc/client/grpc_client_low.h')
-rw-r--r--library/cpp/grpc/client/grpc_client_low.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/library/cpp/grpc/client/grpc_client_low.h b/library/cpp/grpc/client/grpc_client_low.h
index e3f786242d..acec2de075 100644
--- a/library/cpp/grpc/client/grpc_client_low.h
+++ b/library/cpp/grpc/client/grpc_client_low.h
@@ -132,6 +132,7 @@ struct TGrpcStatus {
TString Details;
int GRpcStatusCode;
bool InternalError;
+ std::multimap<TString, TString> ServerTrailingMetadata;
TGrpcStatus()
: GRpcStatusCode(grpc::StatusCode::OK)
@@ -809,6 +810,11 @@ private:
} else if (readCallback) {
if (status.Ok()) {
status = TGrpcStatus(grpc::StatusCode::OUT_OF_RANGE, "Read EOF");
+ for (const auto& [name, value] : Context.GetServerTrailingMetadata()) {
+ status.ServerTrailingMetadata.emplace(
+ TString(name.begin(), name.end()),
+ TString(value.begin(), value.end()));
+ }
}
readCallback(std::move(status));
} else if (finishCallback) {
@@ -1205,6 +1211,11 @@ private:
} else if (readCallback) {
if (status.Ok()) {
status = TGrpcStatus(grpc::StatusCode::OUT_OF_RANGE, "Read EOF");
+ for (const auto& [name, value] : Context.GetServerTrailingMetadata()) {
+ status.ServerTrailingMetadata.emplace(
+ TString(name.begin(), name.end()),
+ TString(value.begin(), value.end()));
+ }
}
readCallback(std::move(status));
} else if (finishCallback) {