HTTPMonster is a PHP class that provides a simple and easy-to-use interface for making HTTP requests using cURL. It allows you to easily set HTTP headers, request body, request method, and other options.
You can install HTTPMonster using Composer:
composer require darkphp/monster
To use HTTPMonster, you first need to create an instance of the class:
require_once 'vendor/autoload.php';
use DarkPHP\HTTPMonster;
$http = new HTTPMonster();
HTTPMonster provides several methods for setting request options:
$http->Url('https://example.com');
$http->Method('POST');
$http->Headers([
'Content-Type: application/json',
'Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXXXXX'
]);
$http->Body('{"foo": "bar"}');
$http->Timeout(30);
echo $http->getBody();
To send the request, simply call the Send()
method:
$response = $http->Send();
The Send()
method returns the response from the server as a string.
You can get the HTTP status code of the response using the getStatus()
method:
$status = $http->getStatus();
HTTPMonster add cURL options for the request. You can modify these defaults by calling the Option()
method:
$http->Option(CURLOPT_RETURNTRANSFER, true);
HTTPMonster allows you to chain methods to make the code more readable:
$response = $http->Url('https://example.com')
->Method('POST')
->Headers([
'Content-Type: application/json',
'Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXXXXX'
])
->Body('{"foo": "bar"}')
->Timeout(30)
->Send();
HTTPMonster throws an exception if cURL encounters an error while executing the request. You should always catch these exceptions to handle errors properly:
try {
$response = $http->Send();
} catch (Exception $e) {
echo 'Error: ' . $e->getMessage();
}
HTTPMonster is licensed under the MIT License. See LICENSE
for more information.
HTTPMonster is developed by Hossein Pira.
- Email: h3dev.pira@gmail.com
- Telegram: @h3dev
If you have any questions, comments, or feedback, please feel free to contact John via email or Telegram.