Content-length header was set to the length of the string, which
does not take into account multibyte sequences in UTF-8 strings.
Now converts first to a buffer to get the proper length.
In order to push binary data under the form of ArrayBuffer and
its related views (Int8Array, ...) one needs not to stringify
those.
For the XHR adapter there is nothing to do as it natively supports
ArrayBuffer in req.send().
Node's http adapter supports only string or Buffer thus a
transformation to Buffer is required before setting content length
header.