From 4ec68c467a31a17e7f360701523d7e5d2309be79 Mon Sep 17 00:00:00 2001 From: belgattitude Date: Wed, 24 May 2017 15:52:36 +0200 Subject: [PATCH 1/2] Exclude by default content-types !== 'text/html' --- src/PhpDebugBarMiddleware.php | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/PhpDebugBarMiddleware.php b/src/PhpDebugBarMiddleware.php index 7f580a5..d310493 100644 --- a/src/PhpDebugBarMiddleware.php +++ b/src/PhpDebugBarMiddleware.php @@ -25,11 +25,25 @@ class PhpDebugBarMiddleware implements MiddlewareInterface { use DoublePassCompatibilityTrait; + /** + * @var DebugBarRenderer + */ protected $debugBarRenderer; - public function __construct(DebugBarRenderer $debugbarRenderer) + /** + * @var bool + */ + protected $excludeNonHtmlContent; + + /** + * PhpDebugBarMiddleware constructor. + * @param DebugBarRenderer $debugbarRenderer + * @param bool $excludeNonHtmlContent Whether to disable debugbar on content-types != 'test/html' + */ + public function __construct(DebugBarRenderer $debugbarRenderer, $excludeNonHtmlContent=true) { $this->debugBarRenderer = $debugbarRenderer; + $this->excludeNonHtmlContent = $excludeNonHtmlContent; } /** @@ -49,7 +63,10 @@ public function process(ServerRequestInterface $request, DelegateInterface $dele if ($this->isHtmlResponse($response)) { return $this->attachDebugBarToResponse($response); + } elseif ($this->excludeNonHtmlContent) { + return $response; } + return $this->prepareHtmlResponseWithDebugBar($response); } From 5ec8665e2650b585b3cdd2f4e73d7e9a605becd7 Mon Sep 17 00:00:00 2001 From: belgattitude Date: Thu, 25 May 2017 15:13:07 +0200 Subject: [PATCH 2/2] Fixed unit tests, but behaviour is now broken for json --- src/PhpDebugBarMiddleware.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/PhpDebugBarMiddleware.php b/src/PhpDebugBarMiddleware.php index d310493..6a1185c 100644 --- a/src/PhpDebugBarMiddleware.php +++ b/src/PhpDebugBarMiddleware.php @@ -36,11 +36,10 @@ class PhpDebugBarMiddleware implements MiddlewareInterface protected $excludeNonHtmlContent; /** - * PhpDebugBarMiddleware constructor. * @param DebugBarRenderer $debugbarRenderer * @param bool $excludeNonHtmlContent Whether to disable debugbar on content-types != 'test/html' */ - public function __construct(DebugBarRenderer $debugbarRenderer, $excludeNonHtmlContent=true) + public function __construct(DebugBarRenderer $debugbarRenderer, $excludeNonHtmlContent=false) { $this->debugBarRenderer = $debugbarRenderer; $this->excludeNonHtmlContent = $excludeNonHtmlContent;