:mod:`repoze.bfg` TODOs
=======================

- Supply ``X-Vhm-Host`` support.

- Basic WSGI documentation (pipeline / app / server).

- Fix message catalog extraction / compilation documentation.

- Change docs about creating a venusian decorator to not use ZCA.

- ``decorator=`` parameter to bfg_view.

- Try to better explain the relationship between a renderer and a
  template in the templates chapter and elsewhere.  Scan the
  documentation for reference to a renderer as *only* view
  configuration (it's a larger concept now).

- Create a ``render_view`` that works by using config.derive_view
  against an existing view instead of querying the registry.

- Create a function which performs a recursive request.

- Debug option to print route matching decision.

- Debug option to print view matching decision.

- Script or paster command that prints, for a given URL, the views
  that might match.  Underneath each potentially matching route, list
  the predicates required.  Underneath each route+predicate set, print
  each view that might match and its predicates.  E.g. with the input
  URL ``/foo``::

    '/foo' (foo_xhr)
       xhr = True
         (no view predicates)
           mypackage.views.MyXHRFooView.__call__

    '/{action}' (action_route)
       request_method = 'POST'
         action = '^foo$'
           mypackage.views.MyView.foo_POST
       request_method = 'GET'
         action = '^foo$'
           mypackage.views.MyView.foo_GET

- Ability to use configurator as a context manager.

- Provide a response_cookies attribute on the request for rendered
  responses that can be used as input to response.set_cookie.

- Raise an exception when a value in response_headerlist is not a
  string or decide to encode.

- Change docs so that we dont use INewReponse, but instead just
  NewResponse (likewise for INewRequest, etc).

- Change "Cleaning up After a Request" in the urldispatch chapter to
  use ``request.add_response_callback``.

- Update App engine chapter.

- Browser id?

- .flash API on session.

- CRSF token machinery

- ``add_handler`` documentation.

- ``handler`` ZCML directive.

- Try to get rid of Mako Beaker dependency.

- ``docs`` directory for each paster template.

- "BFG" in environ variables.

- request.link (route_url)

- Test on GAE, Jython, PyPy, IronPython.

- Add docs for httpexceptions.

- RendererHelper -> RendererInfo?

- Do something about ZODB session chapter: either remove or create a
  pyramid_zodbsessions package.

- repoze.bfg.viewgroup in CMF tutorial

- translationdir ZCML directive use of ``path_spec`` should maybe die.

- Make settings an attribute of.. registry?  request?  Ugh.

- Option for route_url to omit the host and port (perhaps a different
  function named ``route_path``).
