Important
Active development lives in rapira-rs/sdk-php under packages/http/. This repository is automatically synchronized from there on every release.
File issues and pull requests in the main monorepo, not here.
Builds a PSR-7 ServerRequestInterface from the shape Rapira hands your worker, with one factory per run mode:
SapiRequestFactory— hydrates the request from the PHP superglobals ($_SERVER,$_GET,$_POST,$_FILES), the shape Rapira exposes in classic and worker modes.DispatcherRequestFactory— hydrates it from theRapira\Http\Exchangethe host delivers in dispatcher mode, without touching the superglobals.
Both take PSR-17 factories, so you keep your project's own PSR-7 implementation.
composer require rapira/httpClassic / worker mode — from the SAPI environment:
use Rapira\Sdk\Http\SapiRequestFactory;
$factory = new SapiRequestFactory(
$serverRequestFactory, // Psr\Http\Message\ServerRequestFactoryInterface
$uriFactory, // Psr\Http\Message\UriFactoryInterface
$uploadedFileFactory, // Psr\Http\Message\UploadedFileFactoryInterface
$streamFactory, // Psr\Http\Message\StreamFactoryInterface
);
$request = $factory->create();Dispatcher mode — from the exchange the host delivers:
use Rapira\Sdk\Http\DispatcherRequestFactory;
$factory = new DispatcherRequestFactory(
$serverRequestFactory,
$uploadedFileFactory,
$streamFactory,
);
$request = $factory->create($exchange); // Rapira\Http\Exchange