akka/akka-core

JsonObjectParser rejects some valid JSON Array streams

Aperta

#25.673 aperta il 21 set 2018

 (0 commenti) (0 reazioni) (0 assegnatari)Scala (3547 fork)batch import
3 - in progresshelp wantedt:stream

Metriche repository

Star
 (13.277 stelle)
Metriche merge PR
 (Merge medio 8g 19h) (10 PR mergiate in 30 g)

Descrizione

When attempting to feed the following entity:

   [ "abc", "def", "ghi", "klm" ]

(which is a valid JSON Array, even though not of objects) to an Akka HTTP endpoint that specifies the

entity(asSourceOf[String]) { source ⇒ … }

directive, JsonObjectParser fails to parse and provide a Source[ByteString, _] that can be demarshalled as JsValues and eventually strings.

Furthermore, while using the directive for that usage might be slower than using a dedicated framing primitive, it's a bit dangerous that the "obvious path" compiles but fails to work. (incoming PR)

Guida contributor