背景:我正在使用https://bitbucket.org/mariocesar/django-hgwebproxy/wiki/Home将 Mercurial 浏览器添加到我正在构建的 Django 站点。
我遇到的问题是:我们存储在 HG 存储库中的特定文件是绑定区域文件,并且恰好被命名/some/path/somedomain.com
,这导致 hgweb在返回原始文件时将内容类型设置为application/x-msdos-program
(当内容真的是)text/plain
文件的视图。不正确的内容类型导致 hgwebproxy 将内容转储到页面模板中,而不是仅仅返回它。它会进行这样的测试以跳过模板:
if response['content-type'].split(';')[0] in ('application/octet-stream', 'text/plain'):
return response
一些可能的解决方案当然是
- 将所有文件重命名为 .zone (蹩脚且耗时)
- 破解 hgwebproxy 以通过
application/x-msdos-program
(蹩脚和肮脏) - 说服 hgweb 使用正确的内容类型(太棒了!我希望你能帮忙)