From 629c6ef4b4e795b900d5d870fd5cb282d538f70a Mon Sep 17 00:00:00 2001 From: Mathias Date: Wed, 6 May 2015 12:34:01 +0200 Subject: Make JsonParser require complete consumption of parsing input, closes #137 --- src/main/scala/spray/json/JsonParser.scala | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/main/scala') diff --git a/src/main/scala/spray/json/JsonParser.scala b/src/main/scala/spray/json/JsonParser.scala index bed8dbd..855ab21 100644 --- a/src/main/scala/spray/json/JsonParser.scala +++ b/src/main/scala/spray/json/JsonParser.scala @@ -41,6 +41,7 @@ class JsonParser(input: ParserInput) { def parseJsValue(): JsValue = { ws() `value`() + require(EOI) jsValue } @@ -202,7 +203,8 @@ class JsonParser(input: ParserInput) { val c = if (Character.isISOControl(errorChar)) "\\u%04x" format errorChar.toInt else errorChar.toString s"character '$c'" } else "end-of-input" - s"Unexpected $unexpected at input index $cursor (line $lineNr, position $col), expected $target" + val expected = if (target != "'\uFFFF'") target else "end-of-input" + s"Unexpected $unexpected at input index $cursor (line $lineNr, position $col), expected $expected" } val detail = { val sanitizedText = text.map(c ⇒ if (Character.isISOControl(c)) '?' else c) -- cgit v1.2.3