From a6f41f52a937242a5dde2679446584dfd330feb0 Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Mon, 9 Jan 2017 08:46:42 +0100 Subject: [PATCH] [HttpFoundation] Add doc for File\Stream --- components/http_foundation.rst | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/components/http_foundation.rst b/components/http_foundation.rst index a924a94c799..2ccb8283a93 100644 --- a/components/http_foundation.rst +++ b/components/http_foundation.rst @@ -518,6 +518,20 @@ It is possible to delete the file after the request is sent with the :method:`Symfony\\Component\\HttpFoundation\\BinaryFileResponse::deleteFileAfterSend` method. Please note that this will not work when the ``X-Sendfile`` header is set. +.. versionadded:: 3.3 + The ``Stream`` class has been introduced in Symfony 3.3. + +If the size of the served file is unknown (e.g. because it's being generated on the fly, +or because a PHP stream filter is registered on it, etc.), you can pass a ``Stream`` +instance to ``BinaryFileResponse``. This will disable ``Range`` and ``Content-Length`` +handling, switching to chunked encoding instead:: + + use Symfony\Component\HttpFoundation\BinaryFileResponse; + use Symfony\Component\HttpFoundation\File\Stream; + + $stream = new Stream('path/to/stream'); + $response = new BinaryFileResponse($stream); + .. note:: If you *just* created the file during this same request, the file *may* be sent