Browse Source

Drop unneeded dependency.

There's no real need to implement laminas/http-handlerrunner's EmitterInterface.
ADmad 4 years ago
parent
commit
be58a9325f
4 changed files with 5 additions and 13 deletions
  1. 0 1
      composer.json
  2. 1 8
      src/Http/ResponseEmitter.php
  3. 2 3
      src/Http/Server.php
  4. 2 1
      tests/TestCase/Http/ServerTest.php

+ 0 - 1
composer.json

@@ -29,7 +29,6 @@
         "cakephp/chronos": "^2.2",
         "composer/ca-bundle": "^1.2",
         "laminas/laminas-diactoros": "^2.2.2",
-        "laminas/laminas-httphandlerrunner": "^1.1",
         "league/container": "^4.1.1",
         "psr/http-client": "^1.0",
         "psr/http-server-handler": "^1.0",

+ 1 - 8
src/Http/ResponseEmitter.php

@@ -23,19 +23,12 @@ namespace Cake\Http;
 use Cake\Http\Cookie\Cookie;
 use Cake\Http\Cookie\CookieInterface;
 use Laminas\Diactoros\RelativeStream;
-use Laminas\HttpHandlerRunner\Emitter\EmitterInterface;
 use Psr\Http\Message\ResponseInterface;
 
 /**
  * Emits a Response to the PHP Server API.
- *
- * This emitter offers a few changes from the emitters offered by
- * diactoros:
- *
- * - It logs headers sent using CakePHP's logging tools.
- * - Cookies are emitted using setcookie() to not conflict with ext/session
  */
-class ResponseEmitter implements EmitterInterface
+class ResponseEmitter
 {
     /**
      * Maximum output buffering size for each iteration.

+ 2 - 3
src/Http/Server.php

@@ -23,7 +23,6 @@ use Cake\Event\EventDispatcherTrait;
 use Cake\Event\EventManager;
 use Cake\Event\EventManagerInterface;
 use InvalidArgumentException;
-use Laminas\HttpHandlerRunner\Emitter\EmitterInterface;
 use Psr\Http\Message\ResponseInterface;
 use Psr\Http\Message\ServerRequestInterface;
 
@@ -116,11 +115,11 @@ class Server implements EventDispatcherInterface
      * Emit the response using the PHP SAPI.
      *
      * @param \Psr\Http\Message\ResponseInterface $response The response to emit
-     * @param \Laminas\HttpHandlerRunner\Emitter\EmitterInterface|null $emitter The emitter to use.
+     * @param \Cake\Http\ResponseEmitter|null $emitter The emitter to use.
      *   When null, a SAPI Stream Emitter will be used.
      * @return void
      */
-    public function emit(ResponseInterface $response, ?EmitterInterface $emitter = null): void
+    public function emit(ResponseInterface $response, ?ResponseEmitter $emitter = null): void
     {
         if (!$emitter) {
             $emitter = new ResponseEmitter();

+ 2 - 1
tests/TestCase/Http/ServerTest.php

@@ -22,6 +22,7 @@ use Cake\Event\EventManager;
 use Cake\Http\BaseApplication;
 use Cake\Http\CallbackStream;
 use Cake\Http\MiddlewareQueue;
+use Cake\Http\ResponseEmitter;
 use Cake\Http\Server;
 use Cake\Http\ServerRequest;
 use Cake\Http\Session;
@@ -248,7 +249,7 @@ class ServerTest extends TestCase
             ->withHeader('X-First', 'first')
             ->withHeader('X-Second', 'second');
 
-        $emitter = $this->getMockBuilder('Laminas\HttpHandlerRunner\Emitter\EmitterInterface')->getMock();
+        $emitter = $this->getMockBuilder(ResponseEmitter::class)->getMock();
         $emitter->expects($this->once())
             ->method('emit')
             ->with($final);