diff options
author | dcherednik <dcherednik@ydb.tech> | 2023-10-11 13:06:41 +0300 |
---|---|---|
committer | dcherednik <dcherednik@ydb.tech> | 2023-10-11 13:35:51 +0300 |
commit | f23fad2ba0d00dc204697a8e10c333690d083b0e (patch) | |
tree | 1151005ac1406df83ba4bae3f891c66aa15f4c47 /library/cpp/grpc/client/grpc_client_low.h | |
parent | c5f748cdb834e1f931d33ddca00cc8cd308985ec (diff) | |
download | ydb-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.h | 11 |
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) { |