# Класс HttpSoft\Cookie\CookieSendMiddleware

Посредник, реализующий Psr\Http\Server\MiddlewareInterface.

Исходный код на GitHub.

use HttpSoft\Cookie\CookieManager;
use HttpSoft\Cookie\CookieSendMiddleware;

/**
 * @var HttpSoft\Cookie\CookieInterface[] $cookies
 * @var HttpSoft\Emitter\EmitterInterface $emitter
 * @var Psr\Http\Message\ResponseInterface $response
 * @var Psr\Http\Message\ServerRequestInterface $request
 * @var Psr\Http\Server\RequestHandlerInterface $handler
 */

// Установить куки в менеджер
$manager = new CookieManager($cookies);

$middleware = new CookieSendMiddleware($manager);
// Если не нужно удалять из ответа ранее установленные куки
$middleware = new CookieSendMiddleware($manager, false);

// Установить все куки в ответ для отправки
$response = $middleware->process($request, $handler);

// Отправить ответ клиенту
$emitter->emit($response);

# Публичные методы

/**
 * @param CookieManagerInterface $cookies объект с куками для установки в ответ.
 * @param bool $removeResponseCookies следует ли удалять из ответа ранее установленные куки.
 */
public function __construct(CookieManagerInterface $cookies, bool $removeResponseCookies = true);

Ниже представлены методы, которые определены в интерфейсе Psr\Http\Server\MiddlewareInterface.

# process

Если файлы куки были установлены в экземпляре HttpSoft\Cookie\CookieManagerInterface, этот посредник добавит их в ответ и вернет клонированный экземпляр ответа с установленными куками.

public function process(
    ServerRequestInterface $request, 
    RequestHandlerInterface $handler
): ResponseInterface;