summaryrefslogtreecommitdiff
path: root/repoze/bfg/wsgiadapter.py
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2008-07-19 01:17:21 +0000
committerChris McDonough <chrism@agendaless.com>2008-07-19 01:17:21 +0000
commit4df5751de28947538da491dc8ebe0dfb27f742d5 (patch)
tree491c7029cb50f4baed54ddf7485b4aa0bb02d739 /repoze/bfg/wsgiadapter.py
parent7bce0d6d925370dd5721100c28693f806b68344b (diff)
downloadpyramid-4df5751de28947538da491dc8ebe0dfb27f742d5.tar.gz
pyramid-4df5751de28947538da491dc8ebe0dfb27f742d5.tar.bz2
pyramid-4df5751de28947538da491dc8ebe0dfb27f742d5.zip
- The concept of "view factories" was removed in favor of always
calling a view, which is a callable that returns a response directly (as opposed to returning a view). As a result, the ``factory`` attribute in the bfg:view ZCML statement has been renamed to ``view``. Various interface names were changed also. - ``render_template`` and ``render_transform`` no longer return a Response object. Instead, these return strings. The old behavior can be obtained by using ``render_template_to_response`` and ``render_transform_to_response``.
Diffstat (limited to 'repoze/bfg/wsgiadapter.py')
-rw-r--r--repoze/bfg/wsgiadapter.py48
1 files changed, 0 insertions, 48 deletions
diff --git a/repoze/bfg/wsgiadapter.py b/repoze/bfg/wsgiadapter.py
deleted file mode 100644
index 0a4803f74..000000000
--- a/repoze/bfg/wsgiadapter.py
+++ /dev/null
@@ -1,48 +0,0 @@
-from zope.interface import classProvides
-from zope.interface import implements
-
-from repoze.bfg.interfaces import IWSGIApplicationFactory
-from repoze.bfg.interfaces import IWSGIApplication
-from repoze.bfg.mapply import mapply
-
-def isResponse(ob):
- if ( hasattr(ob, 'app_iter') and hasattr(ob, 'headerlist') and
- hasattr(ob, 'status') ):
- if ( hasattr(ob.app_iter, '__iter__') and
- hasattr(ob.headerlist, '__iter__') and
- isinstance(ob.status, basestring) ) :
- return True
-
-class NaiveWSGIViewAdapter:
- classProvides(IWSGIApplicationFactory)
- implements(IWSGIApplication)
-
- def __init__(self, context, request, view):
- self.context = context
- self.request = request
- self.view = view
-
- def __call__(self, environ, start_response):
- context = self.context
- request = self.request
- view = self.view
-
- catch_response = []
- def replace_start_response(status, headers):
- catch_response[:] = (status, headers)
- kwdict = {
- 'request':self.request,
- 'environ':environ,
- 'start_response':start_response,
- }
-
- if isResponse(view):
- response = view
- else:
- response = mapply(view, positional = (), keyword = kwdict)
- if not isResponse(response):
- raise ValueError('response was not IResponse: %s' % response)
- if not catch_response:
- catch_response = (response.status, response.headerlist)
- start_response(*catch_response)
- return response.app_iter