GoのWAF、MartiniでJsonをストリーミングしたい
GoのアプリケーションにMartiniというフレームワークを使っています。
そこで質問です。
MartiniでJsonをストリーミングするにはどのようにすればよいのでしょうか。
私は2通りの方法でやってみましたがどちらも1つのレスポンスになってしまいます。
方法1
MartiniのJsonレンダリングのためのミドルウェアRender(https://github.com/martini-contrib/render) を使った方法
func Handler(r render.Render){
/*抜粋*/
for _,v := range data{
r.JSON(200, v)
time.Sleep(2*time.Second)
}
}
方法2
ResponseWriterを使った方法
func Handler(res http.ResponseWriter){
/*抜粋*/
for _, v := range data{
d, _ := json.Marshal(v)
res.Write(d)
res.(http.Flusher).Flush()
time.Sleep(2*time.Second)
}
}
どのようにすればストリーミングを実現できるのでしょうか