zend-developer-tools
zend-developer-tools copied to clipboard
Whitespace Bleed
The toolbar bleeds 8 new lines into each response, which can cause issues (if, for example, you try and build a zip file then those 8 new lines will be included in that zip file causing it to be invalid).
Could this be fixed?
@PatrickRose the toolbar should only interfere when the output is text/html. Could you elaborate a bit on this issue?
I'd need to delve deep into our source code to try and find the issue involved with download (though I'll grab the person involved when they come in).
I can spot it in our API requests though, and although it's not a real issue there it does irk me slightly.
Our download action uses the Zend\Http\Response\Stream object to stream the contents of the file, and we set the Content-Type to application/x-gzip.
@PatrickRose Any update on this?
I no longer work at the place where I encountered - but a message to the staff there says its still an issue.
Just downloading the ZF2 application skeleton and adding a download action to the index controller w/ the mentioned stream and type isn't enough to reproduce the issue. I had Zend Developer Tools installed via Composer and in the application config.
// This should be an array of module namespaces used in the application.
'modules' => array(
'Application',
'ZendDeveloperTools',
),
Here's the code I used when I attempted to reproduce this issue.
public function downloadAction()
{
$fileName = '/vagrant/somefile.tar.gz';
$basename = basename($fileName);
$response = new Stream();
$response->setStream(fopen($fileName, 'r'));
$response->setStatusCode(200);
$response->setStreamName($basename);
$headers = new Headers();
$headers->addHeaders(array(
'Content-Disposition' => 'attachment; filename="' . $basename . '"',
'Content-Type' => 'application/x-gzip',
'Content-Length' => filesize($fileName),
));
$response->setHeaders($headers);
return $response;
}
I managed to download a working .tar.gz file. When I tested it using the answers in this StackOverflow question and compared it with various header parameters, the file still appeared to be fine when the Content-Disposition parameter was properly specified.
This repository has been closed and moved to laminas/laminas-developer-tools; a new issue has been opened at https://github.com/laminas/laminas-developer-tools/issues/12.