def __prepare_body(self, search_value, search_type='url'):
        """
        Prepares the http body for querying safebrowsing api. Maybe the list need to get adjusted.

        :param search_value: value to search for
        :type search_value: str
        :param search_type: 'url' or 'ip'
        :type search_type: str
        :returns: http body as dict
        :rtype: dict
        """
        body = {
            'client': {
                'clientId': self.client_id,
                'clientVersion': self.client_version
            }
        }
        if search_type == 'url':
            data = {
                'threatTypes': [
                    'MALWARE', 'SOCIAL_ENGINEERING', 'UNWANTED_SOFTWARE', 'POTENTIALLY_HARMFUL_APPLICATION'
                ],
                'platformTypes': ['ANY_PLATFORM', 'ALL_PLATFORMS', 'WINDOWS', 'LINUX', 'OSX', 'ANDROID', 'IOS'],
                'threatEntryTypes': ['URL']
            }
        elif search_type == 'ip':
            data = {
                'threatTypes': ['MALWARE'],
                'platformTypes': ['WINDOWS', 'LINUX', 'OSX'],
                'threatEntryTypes': ['IP_RANGE']
            }
        else:
            raise SearchTypeNotSupportedError('Currently supported search types are \'url\' and \'ip\'.')

        # TODO: Only found threatEntry 'url' in the docs. What to use for ip_range?
        data['threatEntries'] = [{'url': search_value}]
        body['threatInfo'] = data
        return body
Prepares the http body for querying safebrowsing api. Maybe the list need to get adjusted.

        :param search_value: value to search for
        :type search_value: str
        :param search_type: 'url' or 'ip'
        :type search_type: str
        :returns: http body as dict
        :rtype: dict