π‘Responses
After sending a request, Saloon will return a Response
class. This response class contains many helpful methods for interacting with your HTTP response like seeing the HTTP status code and retrieving the body.
By default, Saloon will not throw an exception if a synchronous request fails. Refer to the handling failures section for handling errors.
Useful Methods
Below are some of the key methods provided by Saloon's Response
class.
Method | Description |
---|---|
| Returns the response status code. |
| Returns all response headers |
| Returns a given header |
| Returns the raw response body as a string |
| Retrieves a JSON response body and json_decodes it into an array. |
| Alias of |
| Retrieves a JSON response body and json_decodes it into a Laravel Collection. Requires |
| Retrieves a JSON response body and json_decodes it into an object. |
| Used for XML responses - returns a XML Wrangler reader. Requires |
| Used for HTML responses - returns a Symfony DOM Crawler instance. Requires |
| Returns the response body as an instance of |
| Allows you to save the raw body to a file or open file resource. |
| Converts the response into a data-transfer object. You must define your DTO first, click here to read more. |
| Will work just like |
| Methods used to determine if a request was successful or not based on status code. The |
| Will throw an exception if the response is considered "failed". |
| Returns the |
| Returns the PSR-7 request that was built up by Saloon |
| Return the PSR-7 response that was built up by the HTTP client/sender. |
Asynchronous Responses
When sendAsync
or concurrent requests, Saloon will respond with a GuzzleHttp\Promise\PromiseInterface.
The promise will contain a Response
a class described above. When the request fails, Saloon will not use the then
method but return an instance of RequestException
in the otherwise
block.
Custom Responses
Sometimes you may want to use your response class. This is useful if you want to add your methods or overwrite Saloon's response methods. Saloon allows you to overwrite the response at a connector level for all requests or at a per-request level for a granular response.
The simplest way of registering a custom response is to use the $response
property on either the connector or request.
When you need a more advanced way to define a custom response, use the resolveResponseClass
method on either the connector or request.
Last updated