文字列のバイト数を求める
connectのmiddlewareつくって、なんか途中でレスポンスが切れてておかしいなと思ってたら、こうなってた。
res.writeHead(200, { 'Content-Length': str.length });
lengthだとマルチバイトも1とカウントするのでマルチバイトが入ってた場合にlengthが合わなくなって途中でbodyが切れてた。バイト数を求めるにはBuffer.byteLengthを使えばよさげ。
res.writeHead(200, { 'Content-Length': Buffer.byteLength(str, 'utf8') });