in src/main/java/com/aliyun/credentials/provider/ECSMetadataServiceCredentialsFetcher.java [80:106]
private String getMetadata(CompatibleUrlConnClient client, String url) {
HttpRequest request = new HttpRequest(url);
request.setSysMethod(MethodType.GET);
request.setSysConnectTimeout(connectionTimeout);
request.setSysReadTimeout(readTimeout);
HttpResponse response;
String metadataToken = this.getMetadataToken(client);
if (metadataToken != null) {
request.putHeaderParameter("X-aliyun-ecs-metadata-token", metadataToken);
}
try {
response = client.syncInvoke(request);
} catch (Exception e) {
throw new CredentialException("Failed to connect ECS Metadata Service: " + e);
}
if (response.getResponseCode() == 404) {
throw new CredentialException("The role name was not found in the instance.");
}
if (response.getResponseCode() != 200) {
throw new CredentialException(ECS_METADATA_FETCH_ERROR_MSG + " HttpCode=" + response.getResponseCode());
}
return new String(response.getHttpContent());
}