From 94ab1b55bfb29e19f5972d58b5cb7c194b9ae070 Mon Sep 17 00:00:00 2001 From: David Garcia Quintas Date: Mon, 15 May 2017 15:27:11 -0700 Subject: Make ServerBuilder accept (dns:///) URIs instead of just dns names --- src/cpp/server/server_builder.cc | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src/cpp/server/server_builder.cc') diff --git a/src/cpp/server/server_builder.cc b/src/cpp/server/server_builder.cc index 2ead048a1f..87fa1dfb60 100644 --- a/src/cpp/server/server_builder.cc +++ b/src/cpp/server/server_builder.cc @@ -172,8 +172,15 @@ ServerBuilder& ServerBuilder::SetResourceQuota( } ServerBuilder& ServerBuilder::AddListeningPort( - const grpc::string& addr, std::shared_ptr creds, + const grpc::string& addr_uri, std::shared_ptr creds, int* selected_port) { + const grpc::string uri_scheme = "dns:"; + grpc::string addr = addr_uri; + if (addr_uri.compare(0, uri_scheme.size(), uri_scheme) == 0) { + size_t pos = uri_scheme.size(); + while (addr_uri[pos] == '/') ++pos; // Skip slashes. + addr = addr_uri.substr(pos); + } Port port = {addr, creds, selected_port}; ports_.push_back(port); return *this; -- cgit v1.2.3