Hi Tom,
Thanks for the quick response it was very helpful! I thought timeout would have been handled by the implicit being brought into scope.
I have another question regarding JSON parsing.
I'm able to make the HTTP request and call slurp on the request to get new data out. But once I call Json.parse(src) I receive a JSON parser error.
I tried using Jackson and Spray and received a JSON parsing error for both of them. I'm aware there are other JSON libraries such as Argonaut (big fan) that you support.
Is there something that I'm doing wrong?
Thanks again!
//h = the get HTTP request
val src = h.slurp[Char]
val json = Json.parse(src)
Here are the stack traces for JSON parsing in Jackson and Spray.
1. Jackson
scala> val json = Json.parse(src)
org.codehaus.jackson.JsonParseException: Unexpected character ('<' (code 60)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')
at [Source: java.io.StringReader@28ba6171; line: 1, column: 2]
at org.codehaus.jackson.JsonParser._constructError(JsonParser.java:1433)
at org.codehaus.jackson.impl.JsonParserMinimalBase._reportError(JsonParserMinimalBase.java:521)
at org.codehaus.jackson.impl.JsonParserMinimalBase._reportUnexpectedChar(JsonParserMinimalBase.java:442)
at org.codehaus.jackson.impl.ReaderBasedParser._handleUnexpectedValue(ReaderBasedParser.java:1198)
at org.codehaus.jackson.impl.ReaderBasedParser.nextToken(ReaderBasedParser.java:485)
at org.codehaus.jackson.map.ObjectMapper._initForReading(ObjectMapper.java:2770)
at org.codehaus.jackson.map.ObjectMapper._readMapAndClose(ObjectMapper.java:2718)
at org.codehaus.jackson.map.ObjectMapper.readTree(ObjectMapper.java:1542)
at rapture.json.jsonBackends.jackson.JacksonParser$.parse(parse.scala:167)
at rapture.json.jsonBackends.jackson.JacksonParser$.parse(parse.scala:158)
at rapture.data.DataCompanion$$anonfun$parse$1.liftedTree1$1(data.scala:48)
at rapture.data.DataCompanion$$anonfun$parse$1.apply(data.scala:48)
at rapture.data.DataCompanion$$anonfun$parse$1.apply(data.scala:50)
at rapture.core.modes$ThrowExceptions.wrap(modes.scala:105)
at rapture.data.DataCompanion$class.parse(data.scala:47)
at rapture.json.Json$.parse(json.scala:77)
... 40 elided
2. Spray
scala> val json = Json.parse(src)
rapture.core.ParseException
at rapture.data.DataCompanion$$anonfun$parse$1.liftedTree1$1(data.scala:49)
at rapture.data.DataCompanion$$anonfun$parse$1.apply(data.scala:48)
at rapture.data.DataCompanion$$anonfun$parse$1.apply(data.scala:50)
at rapture.core.modes$ThrowExceptions.wrap(modes.scala:105)
at rapture.data.DataCompanion$class.parse(data.scala:47)
at rapture.json.Json$.parse(json.scala:96)
... 40 elided