depending on `ConfigOptions`,
the resolved value can be any of the following data types:
* String (object)
* Buffer
* http.IncomingMessage
this signature is a minor change from previous releases:
* string (primitive)
* Buffer
* http.IncomingMessage
the reason for changing String from a primitive to an object
is to add the ability to include additional object attributes.
specifically,
all 3 data types are now normalized to include the attribute:
* "headers"
* Object containing HTTP response headers:
https://nodejs.org/api/http.html#http_message_headers