diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/resource/ResourceController.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/resource/ResourceController.java index d228bf440..467f2d26a 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/resource/ResourceController.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/resource/ResourceController.java @@ -145,14 +145,16 @@ synchronized String retrieve(ServletWebRequest request, String name, String prof // ensure InputStream will be closed to prevent file locks on Windows try (InputStream is = resource.getInputStream()) { String text = StreamUtils.copyToString(is, Charset.forName("UTF-8")); - String ext = StringUtils.getFilenameExtension(resource.getFilename()) - .toLowerCase(); + String ext = StringUtils.getFilenameExtension(resource.getFilename()); + if (ext != null) { + ext = ext.toLowerCase(); + } Environment environment = this.environmentRepository.findOne(name, profile, label, false); if (resolvePlaceholders) { text = resolvePlaceholders(prepareEnvironment(environment), text); } - if (encryptEnabled && plainTextEncryptEnabled) { + if (ext != null && encryptEnabled && plainTextEncryptEnabled) { ResourceEncryptor re = this.resourceEncryptorMap.get(ext); if (re == null) { logger.warn("Cannot decrypt for extension " + ext);