utopia-php / psr7
PSR-7 HTTP message implementations and PSR-17 factories for Utopia
0.2.2
2026-09-02 15:57 UTC
Requires
- php: >=8.4
- psr/http-factory: ^1.0
- psr/http-message: ^1.1 || ^2.0
Requires (Dev)
None
Suggests
- ext-simplexml: Required to decode XML responses with Response::xml().
Provides
None
Conflicts
None
Replaces
None
README
Important
This repository is a read-only mirror of packages/psr7 in appwrite/appwrite. Development happens there — please open issues and pull requests against appwrite/appwrite.
PSR-7 HTTP message implementations and PSR-17 factories for PHP 8.4+.
Install
composer require utopia-php/psr7
Quick start
use Utopia\Psr7\Method;
use Utopia\Psr7\Request;
use Utopia\Psr7\Response;
use Utopia\Psr7\Stream;
require __DIR__ . '/vendor/autoload.php';
$request = new Request\Factory()->json(Method::POST, 'https://example.com/users', [
'name' => 'Ada',
]);
$response = new Response(200, body: new Stream('{"ok":true}'));
echo $request->getMethod();
echo $response->json()['ok'];
The package includes immutable request, response, URI, and stream implementations, plus helpers for JSON, XML, text, form, query-string, raw-body, and multipart payloads.
Development
Local copies of the relevant PSR and multipart RFC documents live under docs/, with translated coverage requirements in testing-requirements.md.