Skip to content
This repository has been archived by the owner on Jan 21, 2020. It is now read-only.

Whitespace Bleed #162

Open
PatrickRose opened this issue Aug 19, 2014 · 7 comments
Open

Whitespace Bleed #162

PatrickRose opened this issue Aug 19, 2014 · 7 comments

Comments

@PatrickRose
Copy link

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?

@Ocramius
Copy link
Member

@PatrickRose the toolbar should only interfere when the output is text/html. Could you elaborate a bit on this issue?

@PatrickRose
Copy link
Author

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.

@PatrickRose
Copy link
Author

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.

@moderndeveloperllc
Copy link
Contributor

@PatrickRose Any update on this?

@PatrickRose
Copy link
Author

I no longer work at the place where I encountered - but a message to the staff there says its still an issue.

@Barbarrosa
Copy link

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.

@weierophinney
Copy link
Member

This repository has been closed and moved to laminas/laminas-developer-tools; a new issue has been opened at laminas/laminas-developer-tools#12.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants