AFAIK if you want request to interpret response as a binary data, you should specify encoding: null instead.

(cite)

encoding - Encoding to be used on setEncoding of response data. If null,
the body is returned as a Buffer. Anything else (including the default
value of undefined) will be passed as the encoding parameter to toString()
(meaning this is effectively utf8 by default). (Note: if you expect binary
data, you should set encoding: null.)

Once you do so the body you get in the response will be set to Buffer already, so you can just directly do: