Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Branch: httpexception-…
Commits on Jun 14, 2011
  1. @mcdonc

    garden:

    mcdonc authored
  2. @mcdonc

    - Move default app_iter generation logic into __call__ for

    mcdonc authored
      exception responses.
    
    - Add note about why we've created a shadow exception hierarchy
      parallel to that of webob.exc.
  3. @mcdonc

    - New method named ``pyramid.request.Request.is_response``. This method

    mcdonc authored
      should be used instead of the ``pyramid.view.is_response`` function, which
      has been deprecated.
    
    - Deprecated ``pyramid.view.is_response`` function in favor of (newly-added)
      ``pyramid.request.Request.is_response`` method.  Determining if an object
      is truly a valid response object now requires access to the registry, which
      is only easily available as a request attribute.  The
      ``pyramid.view.is_response`` function will still work until it is removed,
      but now may return an incorrect answer under some (very uncommon)
      circumstances.
  4. @mcdonc

    - Added new add_response_adapter method to Configurator.

    mcdonc authored
    - Fix Configurator docstring wrt exception responses.
    
    - Speed up registry.queryAdapterOrSelf
  5. @mcdonc

    garden

    mcdonc authored
  6. @mcdonc

    render nicer docs

    mcdonc authored
  7. @mcdonc

    flesh out IResponse interface

    mcdonc authored
Commits on Jun 13, 2011
  1. @mcdonc
  2. @mcdonc

    - Remove IResponder abstraction in favor of more general IResponse

    mcdonc authored
      abstraction.
    
    - It is now possible to return an arbitrary object from a Pyramid view
      callable even if a renderer is not used, as long as a suitable adapter to
      ``pyramid.interfaces.IResponse`` is registered for the type of the returned
      object.  See the section in the Hooks chapter of the documentation entitled
      "Changing How Pyramid Treats View Responses".
    
    - The Pyramid router now, by default, expects response objects returned from
      view callables to implement the ``pyramid.interfaces.IResponse`` interface.
      Unlike the Pyramid 1.0 version of this interface, objects which implement
      IResponse now must define a ``__call__`` method that accepts ``environ``
      and ``start_response``, and which returns an ``app_iter`` iterable, among
      other things.  Previously, it was possible to return any object which had
      the three WebOb ``app_iter``, ``headerlist``, and ``status`` attributes as
      a response, so this is a backwards incompatibility.  It is possible to get
      backwards compatibility back by registering an adapter to IResponse from
      the type of object you're now returning from view callables.  See the
      section in the Hooks chapter of the documentation entitled "Changing How
      Pyramid Treats View Responses".
    
    - The ``pyramid.interfaces.IResponse`` interface is now much more extensive.
      Previously it defined only ``app_iter``, ``status`` and ``headerlist``; now
      it is basically intended to directly mirror the ``webob.Response`` API,
      which has many methods and attributes.
    
    - Documentation changes to support above.
Commits on Jun 11, 2011
  1. @mcdonc

    todo

    mcdonc authored
  2. @mcdonc

    todo

    mcdonc authored
  3. @mcdonc

    - Pyramid now expects Response objects to have a __call__

    mcdonc authored
      method which implements the WSGI application interface
      instead of the three webob attrs status, headerlist
      and app_iter.  Backwards compatibility exists for
      code which returns response objects that do not
      have a __call__.
    
    - pyramid.response.Response is no longer an exception
      (and therefore cannot be raised in order to generate
      a response).
    
    - Changed my mind about moving stuff from pyramid.httpexceptions
      to pyramid.response.  The stuff I moved over has been moved
      back to pyramid.httpexceptions.
Commits on Jun 4, 2011
  1. @mcdonc

    - It is now possible to control how the Pyramid router calls the WSGI

    mcdonc authored
      ``start_response`` callable and obtains the WSGI ``app_iter`` based on
      adapting the response object to the new ``pyramid.interfaces.IResponder``
      interface.  The default ``IResponder`` uses Pyramid 1.0's logic to do this.
      To override the responder::
    
         from pyramid.interfaces import IResponder
         from pyramid.response import Response
         from myapp import MyResponder
    
         config.registry.registerAdapter(MyResponder, (Response,),
                                         IResponder, name='')
    
      This makes it possible to reuse response object implementations which have,
      for example, their own ``__call__`` expected to be used as a WSGI
      application (like ``pyramid.response.Response``), e.g.:
    
         class MyResponder(object):
             def __init__(self, response):
                 """ Obtain a reference to the response """
                 self.response = response
             def __call__(self, request, start_response):
                 """ Call start_response and return an app_iter """
                 app_iter = self.response(request.environ, start_response)
                 return app_iter
Commits on May 31, 2011
  1. @mcdonc

    broke this in the last commit

    mcdonc authored
  2. @mcdonc
Commits on May 30, 2011
  1. @mcdonc

    - Fix older CHANGES entries.

    mcdonc authored
    - The ``pyramid.request.Request`` class now has a ``ResponseClass`` interface
      which points at ``pyramid.response.Response``.
    
    - The ``pyramid.request.Response`` class now has a ``RequestClass`` interface
      which points at ``pyramid.response.Request``.
    
    - ``pyramid.response.Response`` is now a *subclass* of
      ``webob.response.Response``.  It also inherits from the built-in Python
      ``Exception`` class and implements the
      ``pyramid.interfaces.IExceptionResponse`` class so it can be raised as an
      exception from view code.
Commits on May 29, 2011
  1. @mcdonc

    docs fixes

    mcdonc authored
  2. @mcdonc

    docs fixes

    mcdonc authored
  3. @mcdonc

    remove unused comments

    mcdonc authored
  4. @mcdonc

    back up to complete coverage

    mcdonc authored
  5. @mcdonc
  6. @mcdonc

    change docs; simplify

    mcdonc authored
  7. @mcdonc

    preemptively drop 2.4 support

    mcdonc authored
  8. @mcdonc
Commits on May 28, 2011
  1. @mcdonc

    explain better

    mcdonc authored
  2. @mcdonc

    explain better

    mcdonc authored
  3. @mcdonc

    use a generator; explain

    mcdonc authored
  4. @mcdonc
  5. @mcdonc
Commits on May 26, 2011
  1. @mcdonc
Commits on May 16, 2011
  1. @mcdonc

    typo

    mcdonc authored
  2. @mcdonc

    - Added API docs for ``pyramid.httpexceptions.abort`` and

    mcdonc authored
      ``pyramid.httpexceptions.redirect``.
    
    - Added "HTTP Exceptions" section to Views narrative chapter including a
      description of ``pyramid.httpexceptions.abort``; adjusted redirect section
      to note ``pyramid.httpexceptions.redirect``.
    
    - A default exception view for the context ``webob.exc.HTTPException`` (aka
      ``pyramid.httpexceptions.HTTPException``) is now registered by default.
      This means that an instance of any exception class imported from
      ``pyramid.httpexceptions`` (such as ``HTTPFound``) can now be raised from
      within view code; when raised, this exception view will render the
      exception to a response.
    
    - New functions named ``pyramid.httpexceptions.abort`` and
      ``pyramid.httpexceptions.redirect`` perform the equivalent of their Pylons
      brethren when an HTTP exception handler is registered.  These functions
      take advantage of the newly registered exception view for
      ``webob.exc.HTTPException``.
    
    - The Configurator now accepts an additional keyword argument named
      ``httpexception_view``.  By default, this argument is populated with a
      default exception view function that will be used when an HTTP exception is
      raised.  When ``None`` is passed for this value, an exception view for HTTP
      exceptions will not be registered.  Passing ``None`` returns the behavior
      of raising an HTTP exception to that of Pyramid 1.0 (the exception will
      propagate to middleware and to the WSGI server).
Commits on May 15, 2011
  1. @mcdonc

    garden

    mcdonc authored
  2. @mcdonc

    docstring/comment changes

    mcdonc authored
  3. @mcdonc

    template -> scaffold

    mcdonc authored
Something went wrong with that request. Please try again.