PHPackages                             http-interop/http-server-middleware - 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. http-interop/http-server-middleware

Abandoned → [psr/http-server-middleware](/?search=psr%2Fhttp-server-middleware)ArchivedLibrary[HTTP &amp; Networking](/categories/http)

http-interop/http-server-middleware
===================================

Common interface for HTTP server-side middleware

1.1.1(8y ago)22293.9k—0.5%28MITPHPPHP &gt;=7.0

Since Nov 9Pushed 8y ago12 watchersCompare

[ Source](https://github.com/http-interop/http-server-middleware)[ Packagist](https://packagist.org/packages/http-interop/http-server-middleware)[ RSS](/packages/http-interop-http-server-middleware/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (2)Versions (5)Used By (8)

HTTP Server Middleware
======================

[](#http-server-middleware)

Deprecation warning!
====================

[](#deprecation-warning)

**Starting January 22nd, 2018 http-interop is officially deprecated in favor of [PSR-15](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-15-request-handlers.md).**

From v1.1, this package directly extends PSR-15 interfaces to provide backwards compatibility and should no longer be added to new projects.

Please switch to `psr/http-server-middleware` as soon as possible.

Version Constraint Warning
--------------------------

[](#version-constraint-warning)

To continue using this package for backwards compatibility, use the following version constraint to avoid a type error:

```
{
    "require": {
        "http-interop/http-server-middleware": "^1.1.1"
    }
}
```

See [issue #6](https://github.com/http-interop/http-server-middleware/issues/6) for details.

Changes Required
----------------

[](#changes-required)

There are two changes required to use the official `psr/http-server-middleware` package:

### Update Composer

[](#update-composer)

Replace the line in `composer.json` that reads:

```
{
    "require": {
        "http-interop/http-server-middleware": "^1.0"
    }
}
```

with:

```
{
    "require": {
        "psr/http-server-middleware": "^1.0"
    }
}
```

### Update Code

[](#update-code)

Replace any references to:

```
use Interop\Http\Server\MiddlewareInterface;
```

with:

```
use Psr\Http\Server\MiddlewareInterface;
```

###  Health Score

41

—

FairBetter than 89% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity43

Moderate usage in the ecosystem

Community29

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor1

Top contributor holds 67.7% 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 ~25 days

Total

4

Last Release

3037d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/25943?v=4)[Matthew Weier O'Phinney](/maintainers/weierophinney)[@weierophinney](https://github.com/weierophinney)

![](https://avatars.githubusercontent.com/u/38203?v=4)[Woody Gilk](/maintainers/shadowhand)[@shadowhand](https://github.com/shadowhand)

---

Top Contributors

[![shadowhand](https://avatars.githubusercontent.com/u/38203?v=4)](https://github.com/shadowhand "shadowhand (44 commits)")[![schnittstabil](https://avatars.githubusercontent.com/u/6059032?v=4)](https://github.com/schnittstabil "schnittstabil (7 commits)")[![atanvarno69](https://avatars.githubusercontent.com/u/22321380?v=4)](https://github.com/atanvarno69 "atanvarno69 (4 commits)")[![mnapoli](https://avatars.githubusercontent.com/u/720328?v=4)](https://github.com/mnapoli "mnapoli (3 commits)")[![mindplay-dk](https://avatars.githubusercontent.com/u/103348?v=4)](https://github.com/mindplay-dk "mindplay-dk (2 commits)")[![oscarotero](https://avatars.githubusercontent.com/u/377873?v=4)](https://github.com/oscarotero "oscarotero (2 commits)")[![martinssipenko](https://avatars.githubusercontent.com/u/598744?v=4)](https://github.com/martinssipenko "martinssipenko (1 commits)")[![hectorj](https://avatars.githubusercontent.com/u/2427959?v=4)](https://github.com/hectorj "hectorj (1 commits)")[![DaGhostman](https://avatars.githubusercontent.com/u/2286949?v=4)](https://github.com/DaGhostman "DaGhostman (1 commits)")

---

Tags

httpresponserequestpsrpsr-7middlewarepsr-15

### Embed Badge

![Health badge](/badges/http-interop-http-server-middleware/health.svg)

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

###  Alternatives

[psr/http-server-middleware

Common interface for HTTP server-side middleware

18291.2M1.5k](/packages/psr-http-server-middleware)[psr/http-factory

PSR-17: Common interfaces for PSR-7 HTTP message factories

1.9k692.9M1.9k](/packages/psr-http-factory)[psr/http-server-handler

Common interface for HTTP server-side request handler

177101.3M921](/packages/psr-http-server-handler)[mezzio/mezzio

PSR-15 Middleware Microframework

3883.6M97](/packages/mezzio-mezzio)[idealo/php-middleware-stack

Implementation of HTTP Middleware PSR-15 specification

318.9k](/packages/idealo-php-middleware-stack)[middlewares/request-handler

Middleware to execute request handlers

451.6M26](/packages/middlewares-request-handler)

PHPackages © 2026

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