YoastSEO_Vendor\GuzzleHttp
PrepareBodyMiddleware::__invoke() public Yoast 1.0
{} Это метод класса: PrepareBodyMiddleware{}
Хуков нет.
Возвращает
PromiseInterface.
Использование
$PrepareBodyMiddleware = new PrepareBodyMiddleware(); $PrepareBodyMiddleware->__invoke( \YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, $options );
- $request(Requestчислоerface) (обязательный)
- $options(массив) (обязательный)
Код PrepareBodyMiddleware::__invoke() PrepareBodyMiddleware:: invoke Yoast 15.7
public function __invoke(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options)
{
$fn = $this->nextHandler;
// Don't do anything if the request has no body.
if ($request->getBody()->getSize() === 0) {
return $fn($request, $options);
}
$modify = [];
// Add a default content-type if possible.
if (!$request->hasHeader('Content-Type')) {
if ($uri = $request->getBody()->getMetadata('uri')) {
if ($type = \YoastSEO_Vendor\GuzzleHttp\Psr7\mimetype_from_filename($uri)) {
$modify['set_headers']['Content-Type'] = $type;
}
}
}
// Add a default content-length or transfer-encoding header.
if (!$request->hasHeader('Content-Length') && !$request->hasHeader('Transfer-Encoding')) {
$size = $request->getBody()->getSize();
if ($size !== null) {
$modify['set_headers']['Content-Length'] = $size;
} else {
$modify['set_headers']['Transfer-Encoding'] = 'chunked';
}
}
// Add the expect header if needed.
$this->addExpectHeader($request, $options, $modify);
return $fn(\YoastSEO_Vendor\GuzzleHttp\Psr7\modify_request($request, $modify), $options);
}