effectra / http-server-handler
The Effectra HTTP Server Handler package.
Installs: 40
Dependents: 2
Suggesters: 0
Security: 0
Stars: 1
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/effectra/http-server-handler
Requires
- psr/http-server-handler: ^1.0
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.