WordPress\AiClient\Providers\Http

HttpTransporter::convertToPsr7RequestprivateWP 0.1.0

Converts a custom Request to a PSR-7 request.

Method of the class: HttpTransporter{}

No Hooks.

Returns

RequestInterface. The PSR-7 request.

Usage

// private - for code of main (parent) class only
$result = $this->convertToPsr7Request( $request ): RequestInterface;
$request(Request) (required)
The custom request.

Changelog

Since 0.1.0 Introduced.

HttpTransporter::convertToPsr7Request() code WP 7.0

private function convertToPsr7Request(Request $request): RequestInterface
{
    $psr7Request = $this->requestFactory->createRequest($request->getMethod()->value, $request->getUri());
    // Add headers
    foreach ($request->getHeaders() as $name => $values) {
        foreach ($values as $value) {
            $psr7Request = $psr7Request->withAddedHeader($name, $value);
        }
    }
    // Add body if present
    $body = $request->getBody();
    if ($body !== null) {
        $stream = $this->streamFactory->createStream($body);
        $psr7Request = $psr7Request->withBody($stream);
    }
    return $psr7Request;
}