Π Π΅ΠΎΠΏΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠ½ Π² Bitbucket!!! ΠΠ΅ΡΡΠΈΡ ΠΈΠ· github Π±ΠΎΠ»Π΅Π΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ!
PSR-15 middleware Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ (RequestMetadata).
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅:
use TutuRu\HttpRequestMetadata\RequestMetadataMiddleware;
// $requestMetadata Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ ΡΠ°Π½Π΅Π΅
$middleware = new RequestMetadataMiddleware($requestMetadata);ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² Π² PSR-7 Π·Π°ΠΏΡΠΎΡΡ (Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Guzzle):
use GuzzleHttp\Client;
use GuzzleHttp\HandlerStack;
use GuzzleHttp\Middleware;
use Psr\Http\Message\RequestInterface;
use TutuRu\HttpRequestMetadata\RequestMetadataHandler;
// $requestMetadata Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ ΡΠ°Π½Π΅Π΅
$handlerStack = HandlerStack::create();
$handlerStack->push(Middleware::mapRequest(
function (RequestInterface $request) use ($requestMetadata) {
return (new RequestMetadataHandler($requestMetadata))->addToRequest($request);
}
));
$client = new Client(['handler' => $handlerStack]);