blaze icon indicating copy to clipboard operation
blaze copied to clipboard

Unable to handle requests with non empty body in 0.12.4

Open fomkin opened this issue 8 years ago • 2 comments

I trying to use 0.12.4 as it shown in examples. Everything works fine while I sending request without body. When body isn't empty, it even do not enter to the service (line 40).

My code is here: https://github.com/fomkin/korolev/blob/issue-68/server-blaze/src/main/scala/korolev/blazeServer/package.scala

fomkin avatar Feb 11 '17 18:02 fomkin

Ok. I find out the problem. 0.12.4 is completely broken.

https://github.com/http4s/blaze/blob/v0.12.4/http/src/main/scala/org/http4s/blaze/http/HttpServerStage.scala#L178

Here if content is complete after parseContent stage will never come back to gatherBody . So if body is small (all data placed in one read) POST request will hang.

fomkin avatar Feb 16 '17 08:02 fomkin

Hi @fomkin! First off, I'm really sorry that it took me a week to get back to you.

So, to business. The client and server in raw blaze prior to 0.13 are more of a exercise than production ready, but I'm still bummed that its not working for you! I'm working hard on getting blaze into a state where its production ready, but am currently working on getting the http2 client and server in better shape so I can make sure the pieces all fit before hardening.

If you're interested in a more stable HTTP server, the http4s proper implementation is in a production ready state. If you're still interested in raw blaze, release 0.13 the server parts have been largely redone and has many more features, but I'd also be careful before using it for mission critical stuff as its not thoroughly tested yet.

bryce-anderson avatar Feb 19 '17 04:02 bryce-anderson