summaryrefslogtreecommitdiffstats
path: root/container-disc
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@oath.com>2017-10-26 17:26:12 +0200
committerBjørn Christian Seime <bjorncs@oath.com>2017-10-26 17:32:35 +0200
commitb3cb8033f7798ab4605d9089e394e8dca9c04ff5 (patch)
tree1eaa21595d5a60162ae3a69ccec28ed99a3339e6 /container-disc
parent93870cd17f7c97f88ee0098ebffea95ef77b0f06 (diff)
Pass hostname as query parameter
Diffstat (limited to 'container-disc')
-rw-r--r--container-disc/src/main/java/com/yahoo/container/jdisc/athenz/impl/ServiceProviderApi.java18
1 files changed, 14 insertions, 4 deletions
diff --git a/container-disc/src/main/java/com/yahoo/container/jdisc/athenz/impl/ServiceProviderApi.java b/container-disc/src/main/java/com/yahoo/container/jdisc/athenz/impl/ServiceProviderApi.java
index 388fc63d086..6c1c22d07e0 100644
--- a/container-disc/src/main/java/com/yahoo/container/jdisc/athenz/impl/ServiceProviderApi.java
+++ b/container-disc/src/main/java/com/yahoo/container/jdisc/athenz/impl/ServiceProviderApi.java
@@ -1,7 +1,9 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.container.jdisc.athenz.impl;
+import com.yahoo.vespa.defaults.Defaults;
import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpUriRequest;
import org.apache.http.client.methods.RequestBuilder;
import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
import org.apache.http.conn.ssl.SSLContextBuilder;
@@ -13,6 +15,7 @@ import org.eclipse.jetty.http.HttpStatus;
import java.io.IOException;
import java.net.URI;
+import java.net.URLEncoder;
import java.security.KeyManagementException;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
@@ -33,12 +36,19 @@ public class ServiceProviderApi {
*/
public String getSignedIdentityDocument() {
try (CloseableHttpClient httpClient = createHttpClient()) {
- CloseableHttpResponse idDocResponse = httpClient.execute(RequestBuilder.get().setUri(providerUri + "/identity-document").build());
+ // TODO Figure out a proper way of determining the hostname matching what's registred in node-repository
+ String uri = providerUri + "/identity-document?hostname=" + URLEncoder.encode(
+ Defaults.getDefaults().vespaHostname(), "UTF-8");
+ HttpUriRequest request = RequestBuilder.get().setUri(uri).build();
+ CloseableHttpResponse idDocResponse = httpClient.execute(request);
+ String responseContent = EntityUtils.toString(idDocResponse.getEntity());
if (HttpStatus.isSuccess(idDocResponse.getStatusLine().getStatusCode())) {
- return EntityUtils.toString(idDocResponse.getEntity());
+ return responseContent;
} else {
- // make sure we have retried a few times (AND logged) before giving up
- throw new RuntimeException("Failed to initialize Athenz instance provider");
+ // TODO make sure we have retried a few times (AND logged) before giving up
+ throw new RuntimeException(
+ "Failed to initialize Athenz instance provider: " +
+ idDocResponse.getStatusLine() + ": " + responseContent);
}
} catch (IOException e) {
throw new RuntimeException("Failed getting signed identity document", e);