Trupti
Trupti

Reputation: 973

What is the use of http_errors in guzzle?

I have read https://docs.guzzlephp.org/en/stable/request-options.html#http-errors documentation. However, I am not getting when to set it true/false.

If anyone can explain it with example, that would be very helpful to me.

Thank you, Trupti

Upvotes: 0

Views: 486

Answers (1)

bhucho
bhucho

Reputation: 3420

Take a look at status codes HTTP response status codes

This is what is written in guzzle docs for http errors.

Set to false to disable throwing exceptions on an HTTP protocol errors (i.e., 4xx and 5xx responses). Exceptions are thrown by default when HTTP protocol errors are encountered.

It is not possible that everything is ok when you send a http request for a web uri, you can get different errors like Connection errors, server errors, even client errors.
So in order to handle these there are different status codes used ranging between 400-499 & 500-599.

For requests to be send by guzzle, these are handled by GuzzleException. see the heirarchy of errors here.


So by sending requests with http_errors as false, you are telling that do not bother me throwing the errors of range 400-499(handled by ClientException) and 500-599(ServerException)

$client->request('GET', '/status/500', ['http_errors' => false]);

So guzzle will not inform you if your request has any of these errors(eg 403).

Upvotes: 0

Related Questions