'Main entry point for a request-response process.'

@classonlymethod
def as_view(cls, **initkwargs):

    for key in initkwargs:
        if (key in cls.http_method_names):
            raise TypeError((u"You    tried    to    pass    in    the    %s    method    name    as    a    keyword    argument    to    %s().    Don't    do    that." % (key, cls.__name__)))
        if (not hasattr(cls, key)):
            raise TypeError((u'%s()    received    an    invalid    keyword    %r' % (cls.__name__, key)))
    def view(request, *args, **kwargs):
        self = cls(**initkwargs)
        return self.dispatch(request, *args, **kwargs)
    update_wrapper(view, cls, updated=())
    update_wrapper(view, cls.dispatch, assigned=())
    return view
