def fetch(self, resource_class):
        """Construct a :class:`.Request` for the given resource type.

        Provided an :class:`.Entry` subclass, the Content Type ID will be inferred and requested explicitly.

        Examples::

            client.fetch(Asset)
            client.fetch(Entry)
            client.fetch(ContentType)
            client.fetch(CustomEntryClass)

        :param resource_class: The type of resource to be fetched.
        :return: :class:`.Request` instance.
        """
        if issubclass(resource_class, Entry):
            params = None
            content_type = getattr(resource_class, '__content_type__', None)
            if content_type is not None:
                params = {'content_type': resource_class.__content_type__}
            return RequestArray(self.dispatcher, utils.path_for_class(resource_class), self.config.resolve_links,
                                params=params)

        else:
            remote_path = utils.path_for_class(resource_class)
            if remote_path is None:
                raise Exception('Invalid resource type \"{0}\".'.format(resource_class))

            return RequestArray(self.dispatcher, remote_path, self.config.resolve_links)
Construct a :class:`.Request` for the given resource type.

        Provided an :class:`.Entry` subclass, the Content Type ID will be inferred and requested explicitly.

        Examples::

            client.fetch(Asset)
            client.fetch(Entry)
            client.fetch(ContentType)
            client.fetch(CustomEntryClass)

        :param resource_class: The type of resource to be fetched.
        :return: :class:`.Request` instance.