Skip to content

Control characters aren't allowed in handlebars expressions. #656

@swjain

Description

@swjain

Expressions with control characters such as below though are supported by handlebars javascript library but throws parse error on handlebars.java.

<html>
  <body>
    Hi {{data�Баллы1}} 
  </body>
</html

Error:

Caused by: com.github.jknack.handlebars.HandlebarsException: inline@4f9ca91d:1:22: found: '�'
<html><body> Hi {{data�Баллы1}}</body></html>
                      ^

	at com.github.jknack.handlebars.internal.HbsErrorReporter.syntaxError(HbsErrorReporter.java:93)
	at com.github.jknack.handlebars.internal.antlr.ProxyErrorListener.syntaxError(ProxyErrorListener.java:41)
	at com.github.jknack.handlebars.internal.HbsParserFactory$2.notifyListeners(HbsParserFactory.java:136)
	at com.github.jknack.handlebars.internal.antlr.Lexer.nextToken(Lexer.java:144)
	at com.github.jknack.handlebars.internal.antlr.BufferedTokenStream.fetch(BufferedTokenStream.java:169)
	at com.github.jknack.handlebars.internal.antlr.BufferedTokenStream.sync(BufferedTokenStream.java:152)
	at com.github.jknack.handlebars.internal.antlr.BufferedTokenStream.consume(BufferedTokenStream.java:136)
	at com.github.jknack.handlebars.internal.antlr.Parser.consume(Parser.java:571)
	at com.github.jknack.handlebars.internal.antlr.Parser.match(Parser.java:203)
	at com.github.jknack.handlebars.internal.HbsParser.sexpr(HbsParser.java:887)
	at com.github.jknack.handlebars.internal.HbsParser.var(HbsParser.java:1381)
	at com.github.jknack.handlebars.internal.HbsParser.statement(HbsParser.java:344)
	at com.github.jknack.handlebars.internal.HbsParser.body(HbsParser.java:222)
	at com.github.jknack.handlebars.internal.HbsParser.template(HbsParser.java:165)
	at com.github.jknack.handlebars.internal.HbsParserFactory$1.parse(HbsParserFactory.java:86)
	at com.github.jknack.handlebars.cache.NullTemplateCache.get(NullTemplateCache.java:54)
	at com.github.jknack.handlebars.Handlebars.compile(Handlebars.java:513)
	at com.github.jknack.handlebars.Handlebars.compileInline(Handlebars.java:473)
	at com.github.jknack.handlebars.Handlebars.compileInline(Handlebars.java:453)
	at org.infobip.email.gateway.content.HandlebarsExpressionResolver.resolve(HandlebarsExpressionResolver.java:50)
	... 25 more

#658

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions