summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/narr/urldispatch.rst132
1 files changed, 96 insertions, 36 deletions
diff --git a/docs/narr/urldispatch.rst b/docs/narr/urldispatch.rst
index 26d4b4a93..968f1f0a6 100644
--- a/docs/narr/urldispatch.rst
+++ b/docs/narr/urldispatch.rst
@@ -85,6 +85,84 @@ view
view callable when this route matches.
e.g. ``mypackage.views.my_view``.
+xhr
+
+ Thie value should be either ``True`` or ``False``. If this value is
+ specified and is ``True``, the :term:`request` must possess an
+ ``HTTP_X_REQUESTED_WITH`` (aka ``X-Requested-With``) header for this
+ route to match. This is useful for detecting AJAX requests issued
+ from jQuery, Prototype and other Javascript libraries. If this
+ predicate returns false, route matching continues.
+
+ .. note:: This feature is new as of :mod:`repoze.bfg` 1.1.
+
+request_method
+
+ A string representing an HTTP method name, e.g. ``GET``, ``POST``,
+ ``HEAD``, ``DELETE``, ``PUT``. If this argument is not specified,
+ this route will match if the request has *any* request method. If
+ this predicate returns false, route matching continues.
+
+ .. note:: This feature is new as of :mod:`repoze.bfg` 1.1.
+
+path_info
+
+ The value of this attribute represents a regular expression pattern
+ that will be tested against the ``PATH_INFO`` WSGI environment
+ variable. If the regex matches, this predicate will be true. If
+ this predicate returns false, route matching continues.
+
+ .. note:: This feature is new as of :mod:`repoze.bfg` 1.1.
+
+request_param
+
+ This value can be any string. A view declaration with this
+ attribute ensures that the associated route will only match when the
+ request has a key in the ``request.params`` dictionary (an HTTP
+ ``GET`` or ``POST`` variable) that has a name which matches the
+ supplied value. If the value supplied to the attribute has a ``=``
+ sign in it, e.g. ``request_params="foo=123"``, then the key
+ (``foo``) must both exist in the ``request.params`` dictionary, and
+ the value must match the right hand side of the expression (``123``)
+ for the route to "match" the current request. If this predicate
+ returns false, route matching continues.
+
+ .. note:: This feature is new as of :mod:`repoze.bfg` 1.1.
+
+header
+
+ The value of this attribute represents an HTTP header name or a
+ header name/value pair. If the value contains a ``:`` (colon), it
+ will be considered a name/value pair (e.g. ``User-Agent:Mozilla/.*``
+ or ``Host:localhost``). The *value* of an attribute that represent
+ a name/value pair should be a regular expression. If the value does
+ not contain a colon, the entire value will be considered to be the
+ header name (e.g. ``If-Modified-Since``). If the value evaluates to
+ a header name only without a value, the header specified by the name
+ must be present in the request for this predicate to be true. If
+ the value evaluates to a header name/value pair, the header
+ specified by the name must be present in the request *and* the
+ regular expression specified as the value must match the header
+ value. Whether or not the value represents a header name or a
+ header name/value pair, the case of the header name is not
+ significant. If this predicate returns false, route matching
+ continues.
+
+ .. note:: This feature is new as of :mod:`repoze.bfg` 1.1.
+
+accept
+
+ The value of this attribute represents a match query for one or more
+ mimetypes in the ``Accept`` HTTP request header. If this value is
+ specified, it must be in one of the following forms: a mimetype
+ match token in the form ``text/plain``, a wildcard mimetype match
+ token in the form ``text/*`` or a match-all wildcard mimetype match
+ token in the form ``*/*``. If any of the forms matches the
+ ``Accept`` header of the request, this predicate will be true. If
+ this predicate returns false, route matching continues.
+
+ .. note:: This feature is new as of :mod:`repoze.bfg` 1.1.
+
view_for
The Python dotted-path name to a class or an interface that the
@@ -112,18 +190,28 @@ view_permission
view_request_type
A dotted Python name to an interface representing a :term:`request
- type`. For backwards compatibility with :mod:`repoze.bfg` 1.0 and
- before, this may also be a string naming an HTTP ``REQUEST_METHOD``
- (any of ``GET``, ``POST``, ``HEAD``, ``DELETE``, ``PUT``). However,
- these values should really be specified in ``request_method``. If
- this argument is not specified, any request type will be considered
- a match for the view associated with this route.
+ type`. If this argument is not specified, any request type will be
+ considered a match for the view associated with this route.
If the ``view`` attribute is not provided, this attribute has no
effect.
This attribute can also be spelled as ``request_type``.
+view_containment
+
+ This value should be a Python dotted-path string representing the
+ class that a graph traversal parent object of the :term:`context`
+ must be an instance of (or :term:`interface` that a parent object
+ must provide) in order for this view to be found and called. Your
+ models must be "location-aware" to use this feature. See
+ :ref:`location_aware` for more information about location-awareness.
+
+ If the ``view`` attribute is not provided, this attribute has no
+ effect.
+
+ .. note:: This feature is new as of :mod:`repoze.bfg` 1.1.
+
view_request_method
A string representing an HTTP method name, e.g. ``GET``, ``POST``,
@@ -134,8 +222,6 @@ view_request_method
If the ``view`` attribute is not provided, this attribute has no
effect.
- This attribute can also be spelled as ``request_method``.
-
.. note:: This feature is new as of :mod:`repoze.bfg` 1.1.
view_request_param
@@ -153,24 +239,6 @@ view_request_param
If the ``view`` attribute is not provided, this attribute has no
effect.
- This attribute can also be spelled as ``request_param``.
-
- .. note:: This feature is new as of :mod:`repoze.bfg` 1.1.
-
-view_containment
-
- This value should be a Python dotted-path string representing the
- class that a graph traversal parent object of the :term:`context`
- must be an instance of (or :term:`interface` that a parent object
- must provide) in order for this view to be found and called. Your
- models must be "location-aware" to use this feature. See
- :ref:`location_aware` for more information about location-awareness.
-
- If the ``view`` attribute is not provided, this attribute has no
- effect.
-
- This attribute can also be spelled as ``containment``.
-
.. note:: This feature is new as of :mod:`repoze.bfg` 1.1.
view_attr
@@ -188,8 +256,6 @@ view_attr
If the ``view`` attribute is not provided, this attribute has no
effect.
- This attribute can also be spelled as ``attr``.
-
.. note:: This feature is new as of :mod:`repoze.bfg` 1.1.
view_renderer
@@ -211,8 +277,6 @@ view_renderer
If the ``view`` attribute is not provided, this attribute has no
effect.
- This attribute can also be spelled as ``renderer``.
-
.. note:: This feature is new as of :mod:`repoze.bfg` 1.1.
view_xhr
@@ -224,7 +288,8 @@ view_xhr
requests issued from jQuery, Prototype and other Javascript
libraries.
- This attribute can also be spelled as ``xhr``.
+ If the ``view`` attribute is not provided, this attribute has no
+ effect.
.. note:: This feature is new as of :mod:`repoze.bfg` 1.1.
@@ -238,8 +303,6 @@ view_accept
token in the form ``*/*``. If any of the forms matches the
``Accept`` header of the request, this predicate will be true.
- This attribute can also be spelled as ``accept``.
-
.. note:: This feature is new as of :mod:`repoze.bfg` 1.1.
view_header
@@ -260,11 +323,8 @@ view_header
header name/value pair, the case of the header name is not
significant.
- This attribute can also be spelled as ``header``.
-
.. note:: This feature is new as of :mod:`repoze.bfg` 1.1.
-
The Matchdict
-------------