Skip to content

Commit 215a4ea

Browse files
authored
Merge pull request #1 from php-middleware/stable
Stable
2 parents 1aa881d + e9edd18 commit 215a4ea

File tree

4 files changed

+36
-7
lines changed

4 files changed

+36
-7
lines changed

.gitignore

100644100755
Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1-
/nbproject/private/
1+
coverage/
2+
vendor/
3+
composer.lock

.travis.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
language: php
2+
3+
php:
4+
- 5.6
5+
- 7.0
6+
- 7.1
7+
8+
env:
9+
- DEPS=lowest
10+
- DEPS=latest
11+
12+
before_script:
13+
- phpenv config-rm xdebug.ini
14+
- if [[ $DEPS == 'lowest' ]]; then composer update --prefer-stable --no-interaction --prefer-lowest ; fi
15+
- if [[ $DEPS == 'latest' ]]; then composer update --prefer-stable --no-interaction ; fi
16+
17+
script:
18+
- ./vendor/bin/phpunit

composer.json

100644100755
Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
{
22
"name": "php-middleware/request-simulator",
33
"require": {
4-
"zendframework/zend-diactoros": "1.*"
4+
"php": ">=5.6",
5+
"zendframework/zend-diactoros": "^1.1",
6+
"php-middleware/double-pass-compatibility": "^1.0",
7+
"http-interop/http-middleware": "^0.4.1",
8+
"psr/http-message": "^1.0"
59
},
610
"require-dev": {
711
"phpunit/phpunit": "^4.8.6"

src/RequestSimulatorMiddleware.php

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,22 @@
22

33
namespace PhpMiddleware\RequestSimulator;
44

5-
use Psr\Http\Message\ResponseInterface;
5+
use Interop\Http\ServerMiddleware\DelegateInterface;
6+
use Interop\Http\ServerMiddleware\MiddlewareInterface;
7+
use PhpMiddleware\DoublePassCompatibilityTrait;
68
use Psr\Http\Message\ServerRequestInterface;
79
use Zend\Diactoros\Request\Serializer as RequestSerializer;
810
use Zend\Diactoros\Response\HtmlResponse;
911
use Zend\Diactoros\Response\Serializer as ResponseSerializer;
1012
use Zend\Diactoros\ServerRequest;
1113

12-
final class RequestSimulatorMiddleware
14+
final class RequestSimulatorMiddleware implements MiddlewareInterface
1315
{
16+
use DoublePassCompatibilityTrait;
17+
1418
const PARAM = 'simulated-request';
1519

16-
public function __invoke(ServerRequestInterface $request, ResponseInterface $response, callable $next)
20+
public function process(ServerRequestInterface $request, DelegateInterface $delegate)
1721
{
1822
if ($request->getMethod() === 'POST') {
1923
$parsedBody = $this->parseBody($request->getBody());
@@ -27,9 +31,9 @@ public function __invoke(ServerRequestInterface $request, ResponseInterface $res
2731

2832
$requestAsString = RequestSerializer::toString($request);
2933

30-
$responseResult = $next($request, $response);
34+
$response = $delegate->process($request);
3135

32-
$responseAsString = ResponseSerializer::toString($responseResult);
36+
$responseAsString = ResponseSerializer::toString($response);
3337

3438
$html = sprintf($this->getHtmlTemplate(), self::PARAM, $requestAsString, $responseAsString);
3539

@@ -59,4 +63,5 @@ private function getHtmlTemplate()
5963
. '</body>'
6064
. '</html>';
6165
}
66+
6267
}

0 commit comments

Comments
 (0)