summaryrefslogtreecommitdiff
path: root/docs/narr/router.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/narr/router.rst')
-rw-r--r--docs/narr/router.rst59
1 files changed, 28 insertions, 31 deletions
diff --git a/docs/narr/router.rst b/docs/narr/router.rst
index 11f84d4ea..0812f7ec7 100644
--- a/docs/narr/router.rst
+++ b/docs/narr/router.rst
@@ -77,40 +77,37 @@ processing?
#. A :class:`~pyramid.events.ContextFound` :term:`event` is
sent to any subscribers.
-#. :app:`Pyramid` looks up a :term:`view` callable using the
- context, the request, and the view name. If a view callable
- doesn't exist for this combination of objects (based on the type of
- the context, the type of the request, and the value of the view
- name, and any :term:`predicate` attributes applied to the view
- configuration), :app:`Pyramid` raises a
- :class:`~pyramid.exceptions.NotFound` exception, which is meant
- to be caught by a surrounding exception handler.
+#. :app:`Pyramid` looks up a :term:`view` callable using the context, the
+ request, and the view name. If a view callable doesn't exist for this
+ combination of objects (based on the type of the context, the type of the
+ request, and the value of the view name, and any :term:`predicate`
+ attributes applied to the view configuration), :app:`Pyramid` raises a
+ :class:`~pyramid.httpexceptions.HTTPNotFound` exception, which is meant to
+ be caught by a surrounding :term:`exception view`.
#. If a view callable was found, :app:`Pyramid` attempts to call
the view function.
-#. If an :term:`authorization policy` is in use, and the view was
- protected by a :term:`permission`, :app:`Pyramid` passes the
- context, the request, and the view_name to a function which
- determines whether the view being asked for can be executed by the
- requesting user, based on credential information in the request and
- security information attached to the context. If it returns
- ``True``, :app:`Pyramid` calls the view callable to obtain a
- response. If it returns ``False``, it raises a
- :class:`~pyramid.exceptions.Forbidden` exception, which is meant
- to be called by a surrounding exception handler.
+#. If an :term:`authorization policy` is in use, and the view was protected
+ by a :term:`permission`, :app:`Pyramid` passes the context, the request,
+ and the view_name to a function which determines whether the view being
+ asked for can be executed by the requesting user, based on credential
+ information in the request and security information attached to the
+ context. If it returns ``True``, :app:`Pyramid` calls the view callable
+ to obtain a response. If it returns ``False``, it raises a
+ :class:`~pyramid.httpexceptions.HTTPForbidden` exception, which is meant
+ to be called by a surrounding :term:`exception view`.
#. If any exception was raised within a :term:`root factory`, by
- :term:`traversal`, by a :term:`view callable` or by
- :app:`Pyramid` itself (such as when it raises
- :class:`~pyramid.exceptions.NotFound` or
- :class:`~pyramid.exceptions.Forbidden`), the router catches the
- exception, and attaches it to the request as the ``exception``
- attribute. It then attempts to find a :term:`exception view` for
- the exception that was caught. If it finds an exception view
- callable, that callable is called, and is presumed to generate a
- response. If an :term:`exception view` that matches the exception
- cannot be found, the exception is reraised.
+ :term:`traversal`, by a :term:`view callable` or by :app:`Pyramid` itself
+ (such as when it raises :class:`~pyramid.httpexceptions.HTTPNotFound` or
+ :class:`~pyramid.httpexceptions.HTTPForbidden`), the router catches the
+ exception, and attaches it to the request as the ``exception`` attribute.
+ It then attempts to find a :term:`exception view` for the exception that
+ was caught. If it finds an exception view callable, that callable is
+ called, and is presumed to generate a response. If an :term:`exception
+ view` that matches the exception cannot be found, the exception is
+ reraised.
#. The following steps occur only when a :term:`response` could be
successfully generated by a normal :term:`view callable` or an
@@ -118,9 +115,9 @@ processing?
any :term:`response callback` functions attached via
:meth:`~pyramid.request.Request.add_response_callback`. A
:class:`~pyramid.events.NewResponse` :term:`event` is then sent to any
- subscribers. The response object's ``app_iter``, ``status``, and
- ``headerlist`` attributes are then used to generate a WSGI response. The
- response is sent back to the upstream WSGI server.
+ subscribers. The response object's ``__call__`` method is then used to
+ generate a WSGI response. The response is sent back to the upstream WSGI
+ server.
#. :app:`Pyramid` will attempt to execute any :term:`finished
callback` functions attached via