php-extended/php-http-client-redirecter

A psr-18 compliant client that handles special cases of redirections

4.0.0 2022-05-31 06:26 UTC

README

A psr-18 compliant client that handles special cases of redirections

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-redirecter": "^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 requests and responses that intercepts certain requests it can handle and transforms its destination based on known rules of redirecters. This is done to avoid multiple http requests with status code 30X ; or more complex requests with meta http redirect or body and script redirects.


/* @var $client Psr\Http\Client\ClientInterface */    // psr-18
/* @var $request Psr\Http\Message\RequestInterface */ // psr-7

$client = new RedirecterClient($client);
$response = $client->sendRequest($request);

/* @var $response Psr\Http\Message\ResponseInterface */

This library uses the specfic X-Php-Follow-Location Header set to zero, that disables the php setting to follow Location headers, if supported by the http client.

License

MIT (See license file).