summaryrefslogtreecommitdiff
path: root/repoze/bfg/view.py
diff options
context:
space:
mode:
authorMalthe Borch <mborch@gmail.com>2009-10-22 13:17:19 +0000
committerMalthe Borch <mborch@gmail.com>2009-10-22 13:17:19 +0000
commit7a13fbf4f966df1a4a35c47003155f41fe498a93 (patch)
tree41fb63b4104e24e292705bd1f5fea5a483e7cb65 /repoze/bfg/view.py
parentd6df9b056b5ea87e8d08cbc52c284b5eb154b29b (diff)
downloadpyramid-7a13fbf4f966df1a4a35c47003155f41fe498a93.tar.gz
pyramid-7a13fbf4f966df1a4a35c47003155f41fe498a93.tar.bz2
pyramid-7a13fbf4f966df1a4a35c47003155f41fe498a93.zip
Added ``path_info`` predicate (regex-filters on the corresponding HTTP header).
Diffstat (limited to 'repoze/bfg/view.py')
-rw-r--r--repoze/bfg/view.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/repoze/bfg/view.py b/repoze/bfg/view.py
index c1e560ea8..11aea496f 100644
--- a/repoze/bfg/view.py
+++ b/repoze/bfg/view.py
@@ -242,8 +242,8 @@ class bfg_view(object):
The following arguments are supported: ``for_``, ``permission``,
``name``, ``request_type``, ``route_name``, ``request_method``,
- ``request_param``, ``containment``, ``xhr``, ``accept``, and
- ``header``.
+ ``request_param``, ``containment``, ``xhr``, ``accept``,
+ ``header`` and ``path_info``.
If ``for_`` is not supplied, the interface
``zope.interface.Interface`` (matching any context) is used.
@@ -319,6 +319,10 @@ class bfg_view(object):
information about the allowable composition and matching behavior
of this value.
+ If ``path_info`` is specified, it must be a regular
+ expression. The view will only be invoked if the ``PATH_INFO``
+ HTTP header matches the expression.
+
Any individual or all parameters can be omitted. The simplest
bfg_view declaration then becomes::
@@ -420,7 +424,7 @@ class bfg_view(object):
def __init__(self, name='', request_type=None, for_=None, permission=None,
route_name=None, request_method=None, request_param=None,
containment=None, attr=None, renderer=None, wrapper=None,
- xhr=False, accept=None, header=None):
+ xhr=False, accept=None, header=None, path_info=None):
self.name = name
self.request_type = request_type
self.for_ = for_
@@ -435,6 +439,7 @@ class bfg_view(object):
self.xhr = xhr
self.accept = accept
self.header = header
+ self.path_info = path_info
def __call__(self, wrapped):
setting = self.__dict__.copy()