mirror of https://github.com/perkeep/perkeep.git
![]() When the DownloadHandler handles a zip archive requests, it writes the zip archive being built directly to the network response, in order to avoid writing any of the files to disk or to memory. As a consequence, as soon as the archive starts being built, if any error reading one of the files occurs, it can't properly report it to the client as the response had already started being sent. In this change, if the DownloadHandler's Fetcher is a caching fetcher, we try reading all the requested files before starting the zip archive. As a result, we can error early and properly if any of the files can't be read. And since the blobs get cached as they are read the first time, reading them a second time when actually building the archive should not be too costly. Change-Id: I6477d82149b08b1db1471ca9ad77fef254929db0 |
||
---|---|---|
.. | ||
js | ||
file.png | ||
fileembed.go | ||
folder.png | ||
gallery.html | ||
jquery.js | ||
main.go | ||
pics.css | ||
publish_test.go | ||
zip.go |