php-extended/php-http-client-blocklist

A psr-18 compliant middleware client that handles domain-based blocklists

4.0.0 2022-05-30 06:52 UTC

README

A psr-18 compliant middleware client that handles domain-based blocklists

coverage build status

Installation

The installation of this library is made via composer. Download composer.phar from their website. Then add to your composer.json :

	"require": {
		...
		"php-extended/php-http-client-blocklist": "^3",
		...
	}

Then run php composer.phar update to install this library. The autoloading of all classes of this library is made through composer's autoloader.

Basic Usage

This library is to make a man in the middle for http request and response and deny all the requests that does to unacceptable or unsafe domains.


/* @var $client  \Psr\Http\Client\ClientInterface   */ // psr-18
/* @var $request \Psr\Http\Message\RequestInterface */ // psr-7
/* @var $responseFactory \Psr\Http\Message\ResponseFactoryInterface */ // psr-17
/* @var $blocklist \PhpExtended\Blocklist\BlocklistInterface */

$client = new BlocklistClient($client, $responseFactory, $blocklist);
$response = $client->sendRequest($request);

/* @var $response \Psr\Http\Message\ResponseInterface */
// this returns a 403 if the request was denied
// this forwards the request to the real client if allowed

License

MIT (See license file).