PHPackages                             effectra/http-server-handler - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [HTTP &amp; Networking](/categories/http)
4. /
5. effectra/http-server-handler

ActiveLibrary[HTTP &amp; Networking](/categories/http)

effectra/http-server-handler
============================

The Effectra HTTP Server Handler package.

v2.0.0(3y ago)2402MITPHP

Since Jun 19Pushed 3y agoCompare

[ Source](https://github.com/effectra/http-server-handler)[ Packagist](https://packagist.org/packages/effectra/http-server-handler)[ RSS](/packages/effectra-http-server-handler/feed)WikiDiscussions main Synced today

READMEChangelog (2)Dependencies (1)Versions (3)Used By (2)

Effectra RequestHandler
=======================

[](#effectra-requesthandler)

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
------------

[](#installation)

You can install the `RequestHandler` class using Composer. Run the following command:

```
composer require effectra/http-server-handler

```

Usage
-----

[](#usage)

To use the `RequestHandler`, follow these steps:

1. Create an instance of the `RequestHandler` class, providing a `ResponseInterface` object 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);
```

2. Call the `handle` method of the `RequestHandler` class, passing a `ServerRequestInterface` object 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);
```

3. The `handle` method will process the middlewares stack, executing each middleware in the order they were added. It will return a `ResponseInterface` object 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
------------------

[](#additional-methods)

### getLastRequest

[](#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
------------

[](#contributing)

Contributions are welcome! If you would like to contribute to the development of the `RequestHandler` class, please follow these steps:

1. Fork the repository and clone it locally.
2. Create a new branch for your changes.
3. Make your modifications and additions.
4. Write tests to ensure the functionality of the class.
5. Commit your changes and push them to your fork.
6. Submit a pull request detailing your changes.

License
-------

[](#license)

This project is licensed under the [MIT License](LICENSE).

###  Health Score

23

—

LowBetter than 26% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity45

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~9 days

Total

2

Last Release

1099d ago

Major Versions

v1.0.0 → v2.0.02023-06-29

### Community

Maintainers

![](https://www.gravatar.com/avatar/7e6219ae87e98df8783b2f595b013035dd183c0712afd24045a8acf0a40c3bdf?d=identicon)[effectra](/maintainers/effectra)

---

Top Contributors

[![BMTmohammedtaha](https://avatars.githubusercontent.com/u/95439605?v=4)](https://github.com/BMTmohammedtaha "BMTmohammedtaha (12 commits)")

---

Tags

httphttp-servermiddlewarephppsrserver

### Embed Badge

![Health badge](/badges/effectra-http-server-handler/health.svg)

```
[![Health](https://phpackages.com/badges/effectra-http-server-handler/health.svg)](https://phpackages.com/packages/effectra-http-server-handler)
```

###  Alternatives

[sunrise/http-router

A powerful solution as the foundation of your project.

17451.6k10](/packages/sunrise-http-router)[mezzio/mezzio-swoole

Swoole support for Mezzio

92252.0k3](/packages/mezzio-mezzio-swoole)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
