docs: def application(cls, f):
          """Decorate a function as responder that accepts the request as first
          argument.  This works like the :func:`responder` decorator but the
          function is passed the request object as first argument and the
          request object will be closed automatically::
  
              @Request.application
              def my_wsgi_app(request):
                  return Response('Hello World!')
  
          :param f: the WSGI callable to decorate
          :return: a new WSGI callable
          """
          #: return a callable that wraps the -2nd argument with the request
          #: and calls the function with all the arguments up to that one and
          #: the request.  The return value is then called with the latest
          #: two arguments.  This makes it possible to use this decorator for
          #: both methods and standalone WSGI functions.
          def application(*args):
              request = cls(args[-2])
              with request:
                  return f(*args[:-2] + (request,))(*args[-2:])
          return update_wrapper(application, f)