summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml6
-rw-r--r--build.sbt2
-rw-r--r--project/build.properties2
-rw-r--r--src/main/scala/spray/json/JsonParser.scala5
-rw-r--r--src/main/scala/spray/json/JsonParserSettings.scala10
-rw-r--r--src/main/scala/spray/json/package.scala3
6 files changed, 23 insertions, 5 deletions
diff --git a/.travis.yml b/.travis.yml
index 8aede91..00d3567 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,13 +2,17 @@ language: scala
scala:
- 2.10.7
- 2.11.12
- - 2.12.6
+ - 2.12.7
- 2.13.0-M5
script:
- sbt "++ ${TRAVIS_SCALA_VERSION}!" test mimaReportBinaryIssues
jdk:
- oraclejdk8
+matrix:
+ include:
+ - jdk: openjdk11
+ scala: 2.12.7
notifications:
email:
- johannes@spray.io
diff --git a/build.sbt b/build.sbt
index cf59911..72ba3a1 100644
--- a/build.sbt
+++ b/build.sbt
@@ -67,7 +67,7 @@ mimaBinaryIssueFilters := Seq(
// publishing
///////////////
-crossScalaVersions := Seq("2.12.6", "2.10.7", "2.11.12", "2.13.0-M5")
+crossScalaVersions := Seq("2.12.7", "2.10.7", "2.11.12", "2.13.0-M5")
publishMavenStyle := true
diff --git a/project/build.properties b/project/build.properties
index f59579f..7c58a83 100644
--- a/project/build.properties
+++ b/project/build.properties
@@ -1 +1 @@
-sbt.version=1.2.0
+sbt.version=1.2.6
diff --git a/src/main/scala/spray/json/JsonParser.scala b/src/main/scala/spray/json/JsonParser.scala
index fb94b9c..ded8d6a 100644
--- a/src/main/scala/spray/json/JsonParser.scala
+++ b/src/main/scala/spray/json/JsonParser.scala
@@ -28,12 +28,15 @@ import scala.collection.immutable.TreeMap
*/
object JsonParser {
def apply(input: ParserInput): JsValue = new JsonParser(input).parseJsValue()
+ def apply(input: ParserInput, settings: JsonParserSettings): JsValue = new JsonParser(input, settings).parseJsValue()
class ParsingException(val summary: String, val detail: String = "")
extends RuntimeException(if (summary.isEmpty) detail else if (detail.isEmpty) summary else summary + ":" + detail)
}
-class JsonParser(input: ParserInput) {
+class JsonParser(input: ParserInput, settings: JsonParserSettings = JsonParserSettings.default) {
+ def this(input: ParserInput) = this(input, JsonParserSettings.default)
+
import JsonParser.ParsingException
private[this] val sb = new JStringBuilder
diff --git a/src/main/scala/spray/json/JsonParserSettings.scala b/src/main/scala/spray/json/JsonParserSettings.scala
new file mode 100644
index 0000000..31692fd
--- /dev/null
+++ b/src/main/scala/spray/json/JsonParserSettings.scala
@@ -0,0 +1,10 @@
+package spray.json
+
+trait JsonParserSettings {
+
+}
+object JsonParserSettings {
+ val default: JsonParserSettings = SettingsImpl()
+
+ private case class SettingsImpl() extends JsonParserSettings
+} \ No newline at end of file
diff --git a/src/main/scala/spray/json/package.scala b/src/main/scala/spray/json/package.scala
index 37d63c2..a8a42f0 100644
--- a/src/main/scala/spray/json/package.scala
+++ b/src/main/scala/spray/json/package.scala
@@ -24,7 +24,7 @@ package object json {
def serializationError(msg: String) = throw new SerializationException(msg)
def jsonReader[T](implicit reader: JsonReader[T]) = reader
- def jsonWriter[T](implicit writer: JsonWriter[T]) = writer
+ def jsonWriter[T](implicit writer: JsonWriter[T]) = writer
implicit def enrichAny[T](any: T) = new RichAny(any)
implicit def enrichString(string: String) = new RichString(string)
@@ -48,6 +48,7 @@ package json {
@deprecated("deprecated in favor of parseJson", "1.2.6")
def asJson: JsValue = parseJson
def parseJson: JsValue = JsonParser(string)
+ def parseJson(settings: JsonParserSettings): JsValue = JsonParser(string, settings)
}
@deprecated("use RichAny", "1.3.4")