package com.hubspot.baragon.agent.handlebars;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.UnknownHostException;
import com.github.jknack.handlebars.Helper;
import com.github.jknack.handlebars.Options;
import com.google.common.net.HostAndPort;
public class ResolveHostnameHelper implements Helper<String> {
public static final String NAME = "resolveHostname";
@Override
public CharSequence apply(String address, Options options) throws UnknownHostException {
if (address.contains(":")) {
HostAndPort hostAndPort = HostAndPort.fromString(address);
InetSocketAddress socketAddress = new InetSocketAddress(InetAddress.getByName(hostAndPort.getHostText()), hostAndPort.getPort());
return String.format("%s:%d", socketAddress.getAddress().getHostAddress(), socketAddress.getPort());
} else {
return InetAddress.getByName(address).getHostAddress();
}
}
}