For the net/http#ResponseWriter, Write() will set the response status as "200 OK" if a handler exited without calling WriteHeader() but returns nil. However, the Buffalo's behavior is slightly different. The Buffalo's actual responding behavior is basically the same since it uses the same, but the buffalo's middlewares (especially poptx from buffalo-pop) could treat them as a failed action when no response status is found. This inconsistency made some issues and this PR will fix the issue.
See more details in #2339 and other linked issues.
For the net/http#ResponseWriter,
Write()
will set the response status as "200 OK" if a handler exited without callingWriteHeader()
but returnsnil
. However, the Buffalo's behavior is slightly different. The Buffalo's actual responding behavior is basically the same since it uses the same, but the buffalo's middlewares (especiallypoptx
frombuffalo-pop
) could treat them as a failed action when no response status is found. This inconsistency made some issues and this PR will fix the issue.See more details in #2339 and other linked issues.
fixes #2339 fixes gobuffalo/buffalo-pop#25 fixes gobuffalo/buffalo-pop#19
related issues/PRs: #2300, #2334, #2335,