HackPHP Http Message. Compatible with PSR-7, PSR-15, and PSR-17
composer require hackphp/http/** @var \Psr\Http\Message\ServerRequestInterface $request */$request = (newServerRequestFactory)->createFromSwoole($swooleRequest);
$middlewares = [
newFirstMiddleware(),
newSecondMiddleware(),
function (ServerRequestInterface$request, RequestHandlerInterface$next) {
return$next($request);
}
];
$handler = newRequestHandler(
$middlewares,
$swooleResponse
);
$response = $handler->handle($request);
$response->send();// create normal response$statusCode = 200;
$reasonPhrase = "Ok";
$response = (newResponseFactory)->createResponse(
$statusCode,
$reasonPhrase
);
// create from swoole response$response = (newResponseFactory)->createFromSwoole($swooleResponse);
// Change the response body$stream = (newStreamFactory)->createStream("Hack PHP");
$response = $response->withBody($stream);
// Change the status code$response = $response->withStatus(400);// Create Request$request = (newRequestFactory)->createRequest("GET", "/");
// Create Server Request$request = (newServerRequestFactory)->createServerRequest(
"GET",
"/",
$_SERVER// server params
);
// Create Server Request from swoole request$request = (newServerRequestFactory)->createFromSwoole($swooleRequest);// Create from string$stream = (newStreamFactory)->createStream("Hack PHP");
// Create from file$mode = 'r';
$stream = (newStreamFactory)->createStreamFromFile($filename, $mode);
// Create from resource$stream = (newStreamFactory)->createStreamFromResource($resource);$file = (newUploadedFileFactory)->createUploadedFile(
StreamInterface $stream,
?int $size = null,
int $error = \UPLOAD_ERR_OK,
?string $clientFilename = null,
?string $clientMediaType = null
);// Create URI$uri = (newUriFactory)->createUri("https://github.com/hackphp");
// Create From Swoole$uri = (newUriFactory)->createFromSwoole($swooleRequest);