in java/connectors/coinbase/src/main/java/com/epam/deltix/data/connectors/coinbase/CoinbaseFeed.java [34:64]
public CoinbaseFeed(
final CoinbaseConnectorSettings settings,
final MdModel.Options selected,
final CloseableMessageOutput output,
final ErrorListener errorListener,
final Logger logger,
final String... symbols) {
super("COINBASE", settings.getWsUrl(), settings.getDepth(), 5000, selected, output, errorListener, logger, symbols);
this.settings = settings;
if (settings.getApiKey() == null || settings.getApiKey().isEmpty()) {
logger.warning("`apiKey` property is not specified. Authentication may be required.");
}
if (settings.getPassphrase() == null || settings.getPassphrase().isEmpty()) {
logger.warning("`passphrase` property is not specified. Authentication may be required.");
}
if (settings.getApiSecret() == null || settings.getApiSecret().isEmpty()) {
logger.warning("`apiSecret` property is not specified. Authentication may be required.");
mac = null;
} else {
try {
mac = Mac.getInstance(MAC_ALGORITHM);
byte[] decodedBytes = Base64.getDecoder().decode(settings.getApiSecret());
mac.init(new SecretKeySpec(decodedBytes, MAC_ALGORITHM));
} catch (Throwable e) {
throw new RuntimeException(e);
}
}
}