HttpModifier Component
[
]
(https://github.com/ThrusterIO/http-modifier/releases)
[
]
(LICENSE)
[
]
(https://travis-ci.org/ThrusterIO/http-modifier)
[
]
(https://scrutinizer-ci.com/g/ThrusterIO/http-modifier)
[
]
(https://scrutinizer-ci.com/g/ThrusterIO/http-modifier)
[
]
(https://packagist.org/packages/thruster/http-modifier), (*1)
[
]
(mailto:team@thruster.io), (*2)
The Thruster HttpModifier Component. Provides a backbone for modifying PSR-7 Request/Response for HTTP Clients/Servers and other utilities which uses PSR-7 standard., (*3)
Collection of Thruster Http Modifiers, (*4)
Install
Via Composer, (*5)
``` bash
$ composer require thruster/http-modifier, (*6)
### For PHP < 7.0
For older PHP version than PHP7 there is branch **php5**
``` bash
$ composer require thruster/http-modifier ">=1.0,<2.0"
Usage
There are four type of modifiers:, (*7)
- ServerRequestModifierInterface
- RequestModifierInterface
- ResponseModifierInterface
- MessageModifierInterface
Each of them has own Collection to group them and run modify
on each of modifier., (*8)
Standalone modifier
$modifier = new class implements ResponseModifierInterface {
public function modify(ResponseInterface $response) : ResponseInterface
{
return $response->withHeader('X-Powered-By', 'Thruster/1.0');
}
}
$response = $modifier->modify($response);
Using collection
$collection = new ResponseModifierCollection();
$collection->add(new ServerTimeModifier());
$collection->add(new PoweredByModifier('Thruster/1.0'));
$response = $collection->modify($response);
Nesting collections
$collectionA = new ResponseModifierCollection();
$collectionA->add(new ServerTimeModifier());
$collectionA->add(new PoweredByModifier('Thruster/1.0'));
$collectionB = new ResponseModifierCollection();
$collectionB->add($collectionA);
$response = $collectionB->modify($response);
Testing
bash
$ composer test
, (*9)
Contributing
Please see CONTRIBUTING and CONDUCT for details., (*10)
License
Please see License File for more information., (*11)