mirror of https://github.com/zulip/zulip.git
cc9b028312
The `django-sendfile2` module unfortunately only supports a single `SENDFILE` root path -- an invariant which subsequent commits need to break. Especially as Zulip only runs with a single webserver, and thus sendfile backend, the functionality is simple to inline. It is worth noting that the following headers from the initial Django response are _preserved_, if present, and sent unmodified to the client; all other headers are overridden by those supplied by the internal redirect[^1]: - Content-Type - Content-Disposition - Accept-Ranges - Set-Cookie - Cache-Control - Expires As such, we explicitly unset the Content-type header to allow nginx to set it from the static file, but set Content-Disposition and Cache-Control as we want them to be. [^1]: https://www.nginx.com/resources/wiki/start/topics/examples/xsendfile/ |
||
---|---|---|
.. | ||
README.md | ||
common.in | ||
dev.in | ||
dev.txt | ||
docs.in | ||
docs.txt | ||
mypy.in | ||
pip.in | ||
pip.txt | ||
prod.in | ||
prod.txt |
README.md
The dependency graph of the requirements is as follows:
dev +-> prod +-> common
+
|
v
docs,pip
Of the files, only dev and prod have been used in the install scripts directly. The rest are implicit dependencies.
Steps to update a lock file, e.g. to update ipython from 5.3.0 to latest version:
- Remove entry for
ipython==5.3.0
in dev.txt. - Run
./tools/update-locked-requirements
, which will generate new entries, pinned to the latest version. - Increase
PROVISION_VERSION
inversion.py
. - Run
./tools/provision
to install the new deps and test them. - Commit your changes.