The happy path
A concise wrapper turns an HTTP request into a readable function call. Namespaces and small functions help calling code express intent without repeating request construction.
Different failures, different meaning
A network failure, a rejected request and an unexpected response format represent different problems. Keeping their meanings visible allows application code to respond appropriately.
Useful context
A status code and a clear error message are more useful than a generic failure. Error messages should describe what went wrong without including credentials or other sensitive request data.
A small design principle
A useful interface makes successful calls readable and failed calls understandable. Both behaviours belong to the public contract.