diff options
| author | Chris McDonough <chrism@agendaless.com> | 2008-07-19 01:17:21 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2008-07-19 01:17:21 +0000 |
| commit | 4df5751de28947538da491dc8ebe0dfb27f742d5 (patch) | |
| tree | 491c7029cb50f4baed54ddf7485b4aa0bb02d739 /repoze/bfg/wsgiadapter.py | |
| parent | 7bce0d6d925370dd5721100c28693f806b68344b (diff) | |
| download | pyramid-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.py | 48 |
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 |
