summaryrefslogtreecommitdiff
path: root/src/buildtool/execution_api/execution_service
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildtool/execution_api/execution_service')
-rw-r--r--src/buildtool/execution_api/execution_service/bytestream_server.cpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/buildtool/execution_api/execution_service/bytestream_server.cpp b/src/buildtool/execution_api/execution_service/bytestream_server.cpp
index 985f41a9..789fdf95 100644
--- a/src/buildtool/execution_api/execution_service/bytestream_server.cpp
+++ b/src/buildtool/execution_api/execution_service/bytestream_server.cpp
@@ -63,18 +63,16 @@ auto BytestreamServiceImpl::Read(
::grpc::ServerWriter<::google::bytestream::ReadResponse>* writer)
-> ::grpc::Status {
logger_.Emit(LogLevel::Trace, "Read {}", request->resource_name());
- // resource_name is of type
- // remote-execution/blobs/62f408d64bca5de775c4b1dbc3288fc03afd6b19eb/0
- auto const digest = ParseResourceName(request->resource_name());
- if (not digest) {
+ auto const read_request =
+ ByteStreamUtils::ReadRequest::FromString(request->resource_name());
+ if (not read_request) {
auto const str =
fmt::format("could not parse {}", request->resource_name());
logger_.Emit(LogLevel::Error, "{}", str);
return ::grpc::Status{::grpc::StatusCode::INVALID_ARGUMENT, str};
}
-
auto const read_digest = ArtifactDigestFactory::FromBazel(
- storage_config_.hash_function.GetType(), *digest);
+ storage_config_.hash_function.GetType(), read_request->GetDigest());
if (not read_digest) {
logger_.Emit(LogLevel::Debug, "{}", read_digest.error());
return ::grpc::Status{::grpc::StatusCode::INVALID_ARGUMENT,