SpecialUploadStash: Disable output gzipping when outputting remove scaled thumb
authorBartosz Dziewoński <matma.rex@gmail.com>
Thu, 17 Mar 2016 22:22:00 +0000 (23:22 +0100)
committerOri.livneh <ori@wikimedia.org>
Thu, 17 Mar 2016 22:26:34 +0000 (22:26 +0000)
This is the only code path that wasn't calling wfResetOutputBuffers()
already. All other ones end up in outputLocalFile(), which calls
it via StreamFile::prepareForStream().

I can't really tell why this causes Varnish stuff to go bust, but it's
definitely the right thing to do anyway.

Bug: T130204
Change-Id: Ib6bc9c64c6c893fd7f5a5d906da32d9bee509a98

includes/specials/SpecialUploadStash.php

index f2da81f..2e622e1 100644 (file)
@@ -306,6 +306,8 @@ class SpecialUploadStash extends UnlistedSpecialPage {
                if ( $size > self::MAX_SERVE_BYTES ) {
                        throw new SpecialUploadStashTooLargeException();
                }
+               // Cancel output buffering and gzipping if set
+               wfResetOutputBuffers();
                self::outputFileHeaders( $contentType, $size );
                print $content;