diff --git a/moto/core/responses.py b/moto/core/responses.py index 213fa278c..6d7197674 100644 --- a/moto/core/responses.py +++ b/moto/core/responses.py @@ -83,6 +83,8 @@ class DynamicDictLoader(DictLoader): class _TemplateEnvironmentMixin(object): + LEFT_PATTERN = re.compile(r"[\s\n]+<") + RIGHT_PATTERN = re.compile(r">[\s\n]+") def __init__(self): super(_TemplateEnvironmentMixin, self).__init__() @@ -101,7 +103,12 @@ class _TemplateEnvironmentMixin(object): def response_template(self, source): template_id = id(source) if not self.contains_template(template_id): - self.loader.update({template_id: source}) + collapsed = re.sub( + self.RIGHT_PATTERN, + ">", + re.sub(self.LEFT_PATTERN, "<", source) + ) + self.loader.update({template_id: collapsed}) self.environment = Environment(loader=self.loader, autoescape=self.should_autoescape, trim_blocks=True, lstrip_blocks=True) return self.environment.get_template(template_id)