# HG changeset patch # User Dirkjan Ochtman # Date 1196529987 -3600 # Node ID e0173902c813179f4d0ee20922878abf100ddc3e # Parent d74fc8dec2b4715a8504284d7deaa4ea0f8e4317 CGI compatibility fix for d74fc8dec2b4. diff -r d74fc8dec2b4 -r e0173902c813 mercurial/hgweb/wsgicgi.py --- a/mercurial/hgweb/wsgicgi.py Fri Nov 30 18:23:18 2007 +0100 +++ b/mercurial/hgweb/wsgicgi.py Sat Dec 01 18:26:27 2007 +0100 @@ -61,13 +61,4 @@ headers_set[:] = [status, response_headers] return write - result = application(environ, start_response) - try: - for data in result: - if data: # don't send headers until body appears - write(data) - if not headers_sent: - write('') # send headers now if body was empty - finally: - if hasattr(result,'close'): - result.close() + application(environ, start_response) diff -r d74fc8dec2b4 -r e0173902c813 tests/test-newcgi --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-newcgi Sat Dec 01 18:26:27 2007 +0100 @@ -0,0 +1,89 @@ +#!/bin/sh + +hg init test + +cat >hgweb.cgi <hgweb.config <hgwebdir.cgi <page1 2>&1 ; echo $? +python hgwebdir.cgi >page2 2>&1 ; echo $? +PATH_INFO="/test/" +PATH_TRANSLATED="/var/something/test.cgi" +REQUEST_URI="/test/test/" +SCRIPT_URI="http://hg.omnifarious.org/test/test/" +SCRIPT_URL="/test/test/" +python hgwebdir.cgi >page3 2>&1 ; echo $? +fgrep -i error page1 page2 page3 && exit 1 +exit 0 diff -r d74fc8dec2b4 -r e0173902c813 tests/test-newcgi.out --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-newcgi.out Sat Dec 01 18:26:27 2007 +0100 @@ -0,0 +1,3 @@ +0 +0 +0 diff -r d74fc8dec2b4 -r e0173902c813 tests/test-newercgi --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-newercgi Sat Dec 01 18:26:27 2007 +0100 @@ -0,0 +1,83 @@ +#!/bin/sh + +hg init test + +cat >hgweb.cgi <hgweb.config <hgwebdir.cgi <page1 2>&1 ; echo $? +python hgwebdir.cgi >page2 2>&1 ; echo $? +PATH_INFO="/test/" +PATH_TRANSLATED="/var/something/test.cgi" +REQUEST_URI="/test/test/" +SCRIPT_URI="http://hg.omnifarious.org/test/test/" +SCRIPT_URL="/test/test/" +python hgwebdir.cgi >page3 2>&1 ; echo $? +fgrep -i error page1 page2 page3 && exit 1 +exit 0 diff -r d74fc8dec2b4 -r e0173902c813 tests/test-newercgi.out --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-newercgi.out Sat Dec 01 18:26:27 2007 +0100 @@ -0,0 +1,3 @@ +0 +0 +0