diff --git a/webgoat-container/src/main/java/org/owasp/webgoat/AsciiDoctorTemplateResolver.java b/webgoat-container/src/main/java/org/owasp/webgoat/AsciiDoctorTemplateResolver.java index 0a0148b58..cff28ee82 100644 --- a/webgoat-container/src/main/java/org/owasp/webgoat/AsciiDoctorTemplateResolver.java +++ b/webgoat-container/src/main/java/org/owasp/webgoat/AsciiDoctorTemplateResolver.java @@ -32,6 +32,7 @@ package org.owasp.webgoat; import com.google.common.collect.Maps; import com.google.common.collect.Sets; +import lombok.extern.slf4j.Slf4j; import org.asciidoctor.Asciidoctor; import org.owasp.webgoat.i18n.Language; import org.thymeleaf.TemplateProcessingParameters; @@ -50,6 +51,7 @@ import static org.asciidoctor.Asciidoctor.Factory.create; *
* */ +@Slf4j public class AsciiDoctorTemplateResolver extends TemplateResolver { private static final Asciidoctor asciidoctor = create(); @@ -73,11 +75,15 @@ public class AsciiDoctorTemplateResolver extends TemplateResolver { @Override public InputStream getResourceAsStream(TemplateProcessingParameters params, String resourceName) { - InputStream is = readInputStreamOrFallbackToEnglish(resourceName, language); - try { - StringWriter writer = new StringWriter(); - asciidoctor.convert(new InputStreamReader(is), writer, createAttributes()); - return new ByteArrayInputStream(writer.getBuffer().toString().getBytes()); + try (InputStream is = readInputStreamOrFallbackToEnglish(resourceName, language)) { + if (is == null) { + log.warn("Resource name: {} not found, did you add the adoc file?", resourceName); + return new ByteArrayInputStream(new byte[0]); + } else { + StringWriter writer = new StringWriter(); + asciidoctor.convert(new InputStreamReader(is), writer, createAttributes()); + return new ByteArrayInputStream(writer.getBuffer().toString().getBytes()); + } } catch (IOException e) { //no html yet return new ByteArrayInputStream(new byte[0]);