laminas / laminas-developer-tools

Module for developer and debug tools for use with laminas-mvc applications.
BSD 3-Clause "New" or "Revised" License
23 stars 13 forks source link

Incorrect Content-Lenght after toolbar injection #18

Closed weierophinney closed 4 years ago

weierophinney commented 4 years ago

When the Content-Lenght is set by some module for an text/html asset (think asset manager for static html files in a data directory served via standard resolver :-) ) the Content-Lenght header will be incorrect after the Toolbar is injected. This results pages in half loaded.

adding the following at https://github.com/zendframework/ZendDeveloperTools/blob/master/src/ZendDeveloperTools/Listener/ToolbarListener.php#L163 will solve this

    if (function_exists('mb_strlen')) {
        $contentLength = mb_strlen($injected, '8bit');
    } else {
        $contentLength = strlen($injected);
    }

    $response->getHeaders()
        ->addHeaderLine('Content-Transfer-Encoding',   'binary')
        ->addHeaderLine('Content-Length',              $contentLength);

I don't actually need the toolbar on static pages, and i realize this only affects development environments, still I though "lets create a record of this...".

I also wonder why the Response object does not do this automatically...


Originally posted by @basz at https://github.com/zendframework/zend-developer-tools/issues/119

samsonasik commented 4 years ago

The code is now totally different with the code you pointed. I'm going to close it. Please re-create issue if the problem persist.