Send request to Seeder's API.

    Args:
        url_id (str): ID used as identification in Seeder.
        data (obj, default None): Optional parameter for data.
        json (obj, default None): Optional parameter for JSON body.
        req_type (fn, default None): Request method used to send/download the
            data. If none, `requests.get` is used.

    Returns:
        dict: Data from Seeder.

def _send_request(url_id, data=None, json=None, req_type=None):
    """
    Send request to Seeder's API.

    Args:
        url_id (str): ID used as identification in Seeder.
        data (obj, default None): Optional parameter for data.
        json (obj, default None): Optional parameter for JSON body.
        req_type (fn, default None): Request method used to send/download the
            data. If none, `requests.get` is used.

    Returns:
        dict: Data from Seeder.
    """
    url = settings.SEEDER_INFO_URL % url_id

    if not req_type:
        req_type = requests.get

    resp = req_type(
        url,
        data=data,
        json=json,
        timeout=settings.SEEDER_TIMEOUT,
        headers={
            "User-Agent": settings.USER_AGENT,
            "Authorization": settings.SEEDER_TOKEN,
        }
    )
    resp.raise_for_status()
    data = resp.json()

    return data