imahmood / laravel-http-client
Laravel HTTP Client Wrapper
Installs: 5 712
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 1
Forks: 0
Open Issues: 0
Requires
- php: ^8.1
- guzzlehttp/guzzle: ^7.8
- illuminate/http: ^9.0|^10.0|^11.0
- illuminate/support: ^9.0|^10.0|^11.0
- illuminate/validation: ^9.0|^10.0|^11.0
Requires (Dev)
- laravel/pint: ^1.0
- orchestra/testbench: ^8.15
- phpstan/phpstan: ^1.10
README
This is a simple wrapper around Laravel's HTTP Client that simplifies making HTTP requests and handling responses. It provides an easy-to-use interface for common HTTP operations.
Installation
You can install this package via Composer:
composer require imahmood/laravel-http-client
Usage
Sending a GET Request
To send a GET request, use the following code:
use Imahmood\HttpClient\Request; use Imahmood\HttpClient\ClientFactory; $request = new Request(HttpMethod::GET, 'https://example.com/api/users'); $response = ClientFactory::create()->send($request);
Sending a POST Request
To send a POST request, you can do it like this:
$body = [ 'username' => '__USERNAME__', 'password' => '__PASSWORD__', ]; $request = new Request(HttpMethod::POST, 'https://example.com/api/auth/login', $body); $response = ClientFactory::create()->send($request);
Uploading Files
To upload files, attach them to the request using the addFile
method:
$request = new Request(HttpMethod::POST, 'https://example.com/api/users/1/avatar', $body); $request->addFile('avatar', '/home/user/avatar.png'); $response = ClientFactory::create()->send($request);
Sending a Request with a Bearer Token
If you need to send a request with a Bearer Token for authentication, you can do so like this:
$accessToken = '__TOKEN__'; $request = new Request(HttpMethod::GET, 'https://example.com/api/users', $body); $response = ClientFactory::createWithBearerToken($accessToken)->send($request);
Request duration
You can easily retrieve the duration of a http request:
$response = ClientFactory::create()->send($request); echo $response->duration();
Handling Unsuccessful Responses
You can easily throw an exception if the response is unsuccessful:
$response = ClientFactory::create()->send($request); try { $response->validate(); } catch (\Imahmood\HttpClient\Exceptions\ServerException $e) { // Handle the exception here } catch (\Imahmood\HttpClient\Exceptions\ClientException $e) { // Handle the exception here } catch (\Illuminate\Validation\ValidationException $e) { // Handle the exception here }
License
The MIT License (MIT). Please see License File for more information.