effectra/http-server-handler
最新稳定版本:v2.0.0
Composer 安装命令:
composer require effectra/http-server-handler
包简介
The Effectra HTTP Server Handler package.
README 文档
README
The RequestHandler class is designed to handle HTTP requests by processing a stack of middlewares. It implements the RequestHandlerInterface to ensure compatibility with standardized request handling protocols.
Installation
You can install the RequestHandler class using Composer. Run the following command:
composer require effectra/http-server-handler
Usage
To use the RequestHandler, follow these steps:
- Create an instance of the
RequestHandlerclass, providing aResponseInterfaceobject and an optional array of middlewares as parameters in the constructor.
use Effectra\Http\Server\RequestHandler; use Effectra\Http\Message\Response; // Create a response object $response = new Response(); // Create an array of middlewares $middlewares = [ new YourMiddleware(), // Add more middlewares as needed ]; // Create an instance of RequestHandler $requestHandler = new RequestHandler($response, $middlewares);
- Call the
handlemethod of theRequestHandlerclass, passing aServerRequestInterfaceobject representing the incoming request.
use Psr\Http\Message\ServerRequestInterface; // Create a ServerRequestInterface object representing the incoming request $request = ServerRequestInterface::fromGlobals(); // Handle the request $response = $requestHandler->handle($request);
- The
handlemethod will process the middlewares stack, executing each middleware in the order they were added. It will return aResponseInterfaceobject representing the response generated by the middlewares.
use Psr\Http\Message\ResponseInterface; // Get the response generated by the middlewares stack echo $response->getBody();
Additional Methods
getLastRequest
The RequestHandler class provides a convenient method, getLastRequest, to retrieve the last processed request. It returns a ServerRequestInterface|null object representing the last request or null if no request has been processed.
use Psr\Http\Message\ServerRequestInterface; // Retrieve the last processed request $lastRequest = $requestHandler->getLastRequest(); if ($lastRequest instanceof ServerRequestInterface) { // Process the last request } else { // No request has been processed yet }
Contributing
Contributions are welcome! If you would like to contribute to the development of the RequestHandler class, please follow these steps:
- Fork the repository and clone it locally.
- Create a new branch for your changes.
- Make your modifications and additions.
- Write tests to ensure the functionality of the class.
- Commit your changes and push them to your fork.
- Submit a pull request detailing your changes.
License
This project is licensed under the MIT License.
统计信息
- 总下载量: 40
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 0
- 依赖项目数: 2
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-06-19