Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

2 Commits

Repository files navigation

HackPHP Http

HackPHP Http Message. Compatible with PSR-7, PSR-15, and PSR-17

Installation

composer require hackphp/http

Usage

Middleware Request Handler

/** @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();

Response

// 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);

Request

// 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);

Stream

// 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);

Uploaded File

$file = (newUploadedFileFactory)->createUploadedFile(
StreamInterface $stream,
?int $size = null,
int $error = \UPLOAD_ERR_OK,
?string $clientFilename = null,
?string $clientMediaType = null
);

URI

// Create URI$uri = (newUriFactory)->createUri("https://github.com/hackphp");
// Create From Swoole$uri = (newUriFactory)->createFromSwoole($swooleRequest);

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages