in services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/backend/sql/SQLSecretBackend.java [396:433]
public Optional<HTTPSecret> getHttpSecret(HTTPSecretGetRequest request) throws Exception {
Optional<HttpSecretEntity> secEtyOp = httpSecretRepository.findBySecretId(request.getSecretId());
if (secEtyOp.isPresent()) {
HTTPSecret.Builder secBuilder = HTTPSecret.newBuilder();
HttpSecretEntity secEty = secEtyOp.get();
secBuilder.setSecretId(secEty.getSecretId());
switch (secEty.getInternalSecretType()) {
case BASIC:
Optional<BasicAuthSecretEntity> basicSec = basicAuthSecretRepository
.findBySecretId(secEty.getInternalSecretId());
if (basicSec.isPresent()) {
BasicAuth.Builder baBuilder = BasicAuth.newBuilder();
mapper.map(basicSec.get(), baBuilder);
secBuilder.setBasic(baBuilder.build());
} else {
throw new Exception("Can not find a swift password secret with id " + secEty.getInternalSecretId());
}
break;
case TOKEN:
Optional<TokenAuthSecretEntity> tokenSec = tokenAuthSecretRepository
.findBySecretId(secEty.getInternalSecretId());
if (tokenSec.isPresent()) {
TokenAuth.Builder tBuilder = TokenAuth.newBuilder();
mapper.map(tokenSec.get(), tBuilder);
secBuilder.setToken(tBuilder.build());
} else {
throw new Exception("Can not find a swift auth cred secret with id " + secEty.getInternalSecretId());
}
break;
default:
throw new Exception("Non compatible internal secret type : " + secEty.getInternalSecretType());
}
return Optional.of(secBuilder.build());
} else {
return Optional.empty();
}
}