What do you mean?
Some time ago, I had a problem: given a list of objects in scala, and with circe as a JSON library (but it’s the same everywhere), how can I make a streaming HTTP response so that nothing explodes and I can save everything as a compliant JSON list? You can’t simply take a list and spit it out, it won’t be recognized as a valid JSON by any parser.
Now it’s been too much time to remember all the approaches and the problems I encountered while to solve this, but I guess it can be useful to recollect what I did, both for me so that I can’t go find the solution again, and who knows, even other people.
Ok, but how did you solve it then?
To be honest, it was fairly simple: you need a Publisher[T]
and some Source
(akka.stream.scaladsl
) magic:
The secret here is, of course, to concat the three sources in order, with [
and [
and a nice .intersperse
to put the comma at the right places. You’ll get, then, a nice Source
output that you can plug wherever you like.