diff --git a/src/PhpDebugBarMiddleware.php b/src/PhpDebugBarMiddleware.php index 7f580a5..6a1185c 100644 --- a/src/PhpDebugBarMiddleware.php +++ b/src/PhpDebugBarMiddleware.php @@ -25,11 +25,24 @@ class PhpDebugBarMiddleware implements MiddlewareInterface { use DoublePassCompatibilityTrait; + /** + * @var DebugBarRenderer + */ protected $debugBarRenderer; - public function __construct(DebugBarRenderer $debugbarRenderer) + /** + * @var bool + */ + protected $excludeNonHtmlContent; + + /** + * @param DebugBarRenderer $debugbarRenderer + * @param bool $excludeNonHtmlContent Whether to disable debugbar on content-types != 'test/html' + */ + public function __construct(DebugBarRenderer $debugbarRenderer, $excludeNonHtmlContent=false) { $this->debugBarRenderer = $debugbarRenderer; + $this->excludeNonHtmlContent = $excludeNonHtmlContent; } /** @@ -49,7 +62,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); }