GET a JSON body without credentials (helloworld/whoami).
POST form-encoded params (with credential headers) and parse the JSON reply.
POST form-encoded params and return the raw bytes (file / binary downloads).
If the server answered with JSON instead of the expected binary (e.g. a
credential or "too large" error on a data/*file endpoint), the logical
Status is checked so the failure surfaces cleanly.
Build a fully-qualified URL from a path (parameters travel in the body).