[Checkins] SVN: zope.app.wsgi/trunk/ Preparing release 3.9.0
Martijn Faassen
faassen at startifact.com
Mon Apr 19 13:41:47 EDT 2010
Log message for revision 111125:
Preparing release 3.9.0
Changed:
U zope.app.wsgi/trunk/CHANGES.txt
U zope.app.wsgi/trunk/setup.py
U zope.app.wsgi/trunk/src/zope/app/wsgi/testlayer.py
-=-
Modified: zope.app.wsgi/trunk/CHANGES.txt
===================================================================
--- zope.app.wsgi/trunk/CHANGES.txt 2010-04-19 16:18:24 UTC (rev 111124)
+++ zope.app.wsgi/trunk/CHANGES.txt 2010-04-19 17:41:46 UTC (rev 111125)
@@ -2,12 +2,19 @@
CHANGES
=======
-3.8.1 (unreleased)
+3.9.0 (2010-04-19)
------------------
-- Bugfix: initialize any <logger> defined in the config, as zope.app.server does
+- Return a FakeResponse object in zope.app.wsgi.testlayer.http,
+ so it becomes easier to port over tests from zope.app.testing's
+ HTTPCaller.
+- X-Powered-By header is now stripped by zope.app.wsgi.testlayer as
+ it is by zope.app.testing.
+- Bugfix: initialize any <logger> defined in the config, as
+ zope.app.server does.
+
3.8.0 (2010-04-14)
------------------
Modified: zope.app.wsgi/trunk/setup.py
===================================================================
--- zope.app.wsgi/trunk/setup.py 2010-04-19 16:18:24 UTC (rev 111124)
+++ zope.app.wsgi/trunk/setup.py 2010-04-19 17:41:46 UTC (rev 111125)
@@ -23,7 +23,7 @@
from setuptools import setup, find_packages
setup(name='zope.app.wsgi',
- version='3.8.1dev',
+ version = '3.9.0',
url='http://pypi.python.org/pypi/zope.app.wsgi',
license='ZPL 2.1',
description='WSGI application for the zope.publisher',
Modified: zope.app.wsgi/trunk/src/zope/app/wsgi/testlayer.py
===================================================================
--- zope.app.wsgi/trunk/src/zope/app/wsgi/testlayer.py 2010-04-19 16:18:24 UTC (rev 111124)
+++ zope.app.wsgi/trunk/src/zope/app/wsgi/testlayer.py 2010-04-19 17:41:46 UTC (rev 111125)
@@ -161,6 +161,22 @@
def getStatusString(self):
return self.response_text.split('\n', 1)[0]
+ def getHeader(self, name, default=None):
+ without_body = self.response_text.split('\n\n', 1)[0]
+ headers_text = without_body.split('\n', 1)[1]
+ headers = headers_text.split('\n')
+ result = []
+ for header in headers:
+ header_name, header_value = header.split(': ', 1)
+ if name == header_name:
+ result.append(header_value)
+ if not result:
+ return default
+ elif len(result) == 1:
+ return result[0]
+ else:
+ return result
+
def getBody(self):
parts = self.response_text.split('\n\n', 1)
if len(parts) < 2:
More information about the checkins
mailing list