On Monday, 26 July 2021 at 14:13:53 UTC, bachmeier wrote:

In doubt you can turn on the verbose() method on the HTTP object.

That's a modest improvement (for the small number of people that find the option in the docs) but definitely not at the same level of information as the curl CLI. I created an issue requesting better output: <https://issues.dlang.org/show_bug.cgi?id=22142>

I see your intention but this is a bad example. Status 400 means "Bad request" because of a wrong header or wrong payload or any error in the request. "Empty content" wouldn't describe the actual error if you have sent data.

In fact the client cannot know whats wrong. "Content-Type: Application/json" may be wrong from the sight of the server (which is NOT, they are case insensitive btw) but the protocol allows you to use whatever content-type you want and no client needs to know how to handle all. It's just wrong if your CLI tool interprets a status 400 as "Empty content" by arbitrary assumptions.

All better the lib could do is to print the text for the status too and the raw payload sent by the server aka error description, if any.

Reply via email to