diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..18c99e5 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,21 @@ +name: CI + +on: [push, pull_request] + +jobs: + phpunit: + runs-on: ubuntu-latest + strategy: + matrix: + php: [7.1, 7.2, 7.3, 7.4] + steps: + - uses: actions/checkout@v1 + - uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php }} + - name: Validate Composer files + run: composer validate --no-check-all --strict + - name: Install Composer dependencies + run: composer install --prefer-dist --no-progress --no-suggest + - name: Run tests + run: php vendor/bin/phpunit diff --git a/composer.json b/composer.json index 6e86212..49fed7c 100644 --- a/composer.json +++ b/composer.json @@ -8,8 +8,9 @@ } }, "require": { + "php": "^7.1", "filp/whoops": "^1.1 || ^2.0", - "zendframework/zend-diactoros": "^1.1.0 || ^2.0" + "middlewares/utils": "^2.0 || ^3.0" }, "suggest": { "psr/http-server-middleware": "In case you want to use PSR 15 middleware" @@ -20,7 +21,8 @@ } }, "require-dev": { - "phpunit/phpunit": "7.0.*", - "psr/http-server-middleware": "^1.0" + "phpunit/phpunit": "^7.0", + "psr/http-server-middleware": "^1.0", + "laminas/laminas-diactoros": "^1.1.0 || ^2.0" } } diff --git a/phpunit.xml b/phpunit.xml index c78f3eb..11ff2e1 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -8,7 +8,6 @@ convertWarningsToExceptions="true" processIsolation="false" stopOnFailure="false" - syntaxCheck="false" verbose="true" > diff --git a/src/WhoopsRunner.php b/src/WhoopsRunner.php index 7ea0b0e..78fa796 100644 --- a/src/WhoopsRunner.php +++ b/src/WhoopsRunner.php @@ -2,10 +2,10 @@ namespace Franzl\Middleware\Whoops; +use Middlewares\Utils\Factory; use Psr\Http\Message\ServerRequestInterface; use Whoops\Handler\PlainTextHandler; use Whoops\Run; -use Zend\Diactoros\Response\HtmlResponse; class WhoopsRunner { @@ -21,13 +21,11 @@ public static function handle($error, ServerRequestInterface $request) ob_start(); $whoops->$method($error); - $response = ob_get_clean(); + $content = ob_get_clean(); - return new HtmlResponse( - $response, - 500, - ['Content-Type' => $format->getPreferredContentType()] - ); + return Factory::createResponse(500) + ->withBody(Factory::createStream($content)) + ->withHeader('Content-Type', $format->getPreferredContentType()); } private static function getWhoopsInstance(Formats\Format $format) diff --git a/tests/WhoopsMiddlewareTest.php b/tests/WhoopsMiddlewareTest.php index 97b207a..ebc524b 100644 --- a/tests/WhoopsMiddlewareTest.php +++ b/tests/WhoopsMiddlewareTest.php @@ -4,12 +4,12 @@ use Exception; use Franzl\Middleware\Whoops\WhoopsMiddleware; +use Laminas\Diactoros\Response\TextResponse; +use Laminas\Diactoros\ServerRequest; use PHPUnit\Framework\TestCase; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface; use Psr\Http\Server\RequestHandlerInterface; -use Zend\Diactoros\Response\TextResponse; -use Zend\Diactoros\ServerRequest; class WhoopsMiddlewareTest extends TestCase {