rapira / http
PSR-7 server-request factories for every Rapira run mode
Requires
- php: >=8.4
- psr/http-factory: ^1.0
- psr/http-message: ^1.0 || ^2.0
- rapira/contract: ^0.9
Requires (Dev)
- httpsoft/http-message: ^1.1.6
- testo/testo: ^0.10.55
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
rapira/http
Important
🪞 This is a read-only mirror.
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.
About
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.
Install
composer require rapira/http
Usage
Classic / 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
Dispatcher mode
Dispatcher mode is built for async code, so DispatcherRequestFactory builds each request from the exchange alone: it never reads or writes the superglobals and keeps no state between requests. Code that needs $_SERVER, $_GET and the rest belongs in worker mode.