'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(("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(('%s()    received    an    invalid    keyword    %r.    as_view    only    accepts    arguments    that    are    already    attributes    of    the    class.' % (cls.__name__, key)))
    def view(request, *args, **kwargs):
        self = cls(**initkwargs)
        if (hasattr(self, 'get') and (not hasattr(self, 'head'))):
            self.head = self.get
        self.request = request
        self.args = args
        self.kwargs = kwargs
        return self.dispatch(request, *args, **kwargs)
    view.view_class = cls
    view.view_initkwargs = initkwargs
    update_wrapper(view, cls, updated=())
    update_wrapper(view, cls.dispatch, assigned=())
    return view
