summaryrefslogtreecommitdiff
path: root/src/buildtool/main/serve.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildtool/main/serve.cpp')
-rw-r--r--src/buildtool/main/serve.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/buildtool/main/serve.cpp b/src/buildtool/main/serve.cpp
index 531074c3..5d5f49fb 100644
--- a/src/buildtool/main/serve.cpp
+++ b/src/buildtool/main/serve.cpp
@@ -415,6 +415,22 @@ void ReadJustServeConfig(gsl::not_null<CommandLineArguments*> const& clargs) {
}
clargs->endpoint.remote_execution_address = address->String();
}
+ // read the address used by the client
+ auto client_address =
+ exec_endpoint->Get("client address", Expression::none_t{});
+ if (client_address.IsNotNull()) {
+ if (not client_address->IsString()) {
+ Logger::Log(
+ LogLevel::Error,
+ "In serve service config file {}:\nValue for execution "
+ "endpoint key \"client address\" has to be a string, but "
+ "found {}",
+ clargs->serve.config.string(),
+ client_address->ToString());
+ std::exit(kExitFailure);
+ }
+ clargs->serve.client_remote_address = client_address->String();
+ }
if (not ParseRetryCliOptions(serve_config, &clargs->retry)) {
std::exit(kExitFailure);
}