What you claim to have "tried doing" is exactly what you wrote in the code that works "as expected" when you invoke it with curl.
The error you're getting doesn't appear to be related to any of the code you've shown us.
If you want to get the raw request, set handlers on
request for the
end events (and, of course, remove any invocations of
express.bodyParser()). Note that the
data events will occur in chunks, and that unless you set an encoding for the
data event those chunks will be buffers, not strings.