hgweb: refactor 304 handling code
We had generic code in wsgirequest for handling HTTP 304 responses.
We also had a special case for it in the catch all exception handler
in the WSGI application.
We only ever raise 304 in one place. So, we don't need to treat it
specially in the catch all exception handler.
But it is useful to validate behavior of 304 responses. We port the
code that sends a 304 to use the new response API. We then move the
code for screening 304 sanity into the new response API.
As part of doing so, we discovered that we would send
Content-Length: 0. This is not allowed. So, we fix our response code
to not emit that header for empty response bodies.
Differential Revision: https://phab.mercurial-scm.org/D2794
#!/usr/bin/make -f
# Uncomment this to turn on verbose mode.
# export DH_VERBOSE=1
CPUS=$(shell cat /proc/cpuinfo | grep -E ^processor | wc -l)
%:
dh $@ --with python2
override_dh_auto_test:
http_proxy='' dh_auto_test -- TESTFLAGS="-j$(CPUS)"
override_dh_python2:
dh_python2
find debian/mercurial/usr/share -type d -empty -delete
override_dh_install:
python$(PYVERS) setup.py install --root "$(CURDIR)"/debian/mercurial --install-layout=deb
# chg
make -C contrib/chg \
DESTDIR="$(CURDIR)"/debian/mercurial \
PREFIX=/usr \
clean install
# remove arch-independent python stuff
find "$(CURDIR)"/debian/mercurial/usr/lib \
! -name '*.so' ! -type d -delete , \
-type d -empty -delete
python$(PYVERS) setup.py install --root "$(CURDIR)/debian/mercurial-common" --install-layout=deb
make install-doc PREFIX="$(CURDIR)"/debian/mercurial-common/usr
# remove arch-dependent python stuff
find "$(CURDIR)"/debian/mercurial-common/usr/lib \
-name '*.so' ! -type d -delete , \
-type d -empty -delete
cp contrib/hg-ssh "$(CURDIR)"/debian/mercurial-common/usr/bin
mkdir -p "$(CURDIR)"/debian/mercurial-common/usr/share/mercurial
cp contrib/hgk "$(CURDIR)"/debian/mercurial-common/usr/share/mercurial
mkdir -p "$(CURDIR)"/debian/mercurial-common/etc/mercurial/hgrc.d/
cp contrib/debian/*.rc "$(CURDIR)"/debian/mercurial-common/etc/mercurial/hgrc.d/
# completions
mkdir -p "$(CURDIR)"/debian/mercurial-common/usr/share/bash-completion/completions
cp contrib/bash_completion "$(CURDIR)"/debian/mercurial-common/usr/share/bash-completion/completions/hg
mkdir -p "$(CURDIR)"/debian/mercurial-common/usr/share/zsh/vendor-completions
cp contrib/zsh_completion "$(CURDIR)"/debian/mercurial-common/usr/share/zsh/vendor-completions/_hg
rm "$(CURDIR)"/debian/mercurial-common/usr/bin/hg