Handler for resources.

        .. versionadded:: 0.5.7
            Content-Type check

        :return django.http.HttpResponse

def handler_view(self, request, resource_name, ids=None):
        """ Handler for resources.

        .. versionadded:: 0.5.7
            Content-Type check

        :return django.http.HttpResponse

        """
        signal_request.send(sender=self, request=request)
        time_start = time.time()
        self.update_urls(request, resource_name=resource_name, ids=ids)
        resource = self.resource_map[resource_name]

        allowed_http_methods = resource.Meta.allowed_methods
        if request.method not in allowed_http_methods:
            response = HttpResponseNotAllowed(
                permitted_methods=allowed_http_methods)
            signal_response.send(
                sender=self, request=request, response=response,
                duration=time.time() - time_start)
            return response

        if resource.Meta.authenticators and not (
                request.method == "GET" and
                resource.Meta.disable_get_authentication):
            user = resource.authenticate(request)
            if user is None or not user.is_authenticated():
                response = HttpResponse("Not Authenticated", status=401)
                signal_response.send(
                    sender=self, request=request, response=response,
                    duration=time.time() - time_start)
                return response

        kwargs = dict(request=request)
        if ids is not None:
            kwargs['ids'] = ids.split(",")

        try:
            if request.method == "GET":
                response = self.handler_view_get(resource, **kwargs)
            elif request.method == "POST":
                response = self.handler_view_post(resource, **kwargs)
            elif request.method == "PUT":
                response = self.handler_view_put(resource, **kwargs)
            elif request.method == "DELETE":
                response = self.handler_view_delete(resource, **kwargs)
        except JSONAPIError as e:
            response = HttpResponse(
                json.dumps({"errors": [e.data]}, cls=DatetimeDecimalEncoder),
                content_type=self.CONTENT_TYPE, status=e.status)

        signal_response.send(sender=self, request=request, response=response,
                             duration=time.time() - time_start)
        return response