Dispatch current request.

        Dispatch the current request using
        :class:`flask.views.MethodView` `dispatch_request()` then, if the
        result is not already a :py:class:`flask.Response`, search for the
        serializing function which matches the best the current request's
        Accept header and use it to build the :py:class:`flask.Response`.

        :rtype: :class:`flask.Response`
        :raises werkzeug.exceptions.NotAcceptable: If no media type matches
            current Accept header.
        :returns: The response returned by the request handler or created by
            the serializing function.

def dispatch_request(self, *args, **kwargs):
        """Dispatch current request.

        Dispatch the current request using
        :class:`flask.views.MethodView` `dispatch_request()` then, if the
        result is not already a :py:class:`flask.Response`, search for the
        serializing function which matches the best the current request's
        Accept header and use it to build the :py:class:`flask.Response`.

        :rtype: :class:`flask.Response`
        :raises werkzeug.exceptions.NotAcceptable: If no media type matches
            current Accept header.
        :returns: The response returned by the request handler or created by
            the serializing function.
        """
        result = super(ContentNegotiatedMethodView, self).dispatch_request(
            *args, **kwargs
        )

        if isinstance(result, Response):
            return result
        elif isinstance(result, (list, tuple)):
            return self.make_response(*result)
        else:
            return self.make_response(result)