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.
You can install this package via Composer:
composer require imahmood/laravel-http-client
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);
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);
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);
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);
You can easily retrieve the duration of a http request:
$response = ClientFactory::create()->send($request);
echo $response->duration();
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
}
The MIT License (MIT). Please see License File for more information.