def request(endpoint, auth_token, data=None, params=None, files=None,
            raise_for_status=True, req_type='post', moreheaders={}):
    if params is not None:
        if 'now' in params:
            now = params['now']
        else:
            now = str(timestamp())

        if 'gauth' in params:
            gauth = params['gauth']
        else:
            gauth = ""
    else:
        now = str(timestamp())
        gauth = ""

    if data is None:
        data = {}
    
    headers = {
        'User-Agent': 'Snapchat/9.16.2.0 (HTC One; Android 5.0.2#482424.2#21; gzip)',
        'Accept-Language': 'en',
        'Accept-Locale': 'en_US',
        'X-Snapchat-Client-Auth-Token': "Bearer " + gauth
    }

    headers.update(moreheaders) 

    URL = 'https://feelinsonice-hrd.appspot.com'
    
    if endpoint == '/loq/login':
        headers.update({
            'Accept-Encoding': 'gzip'
            })

    if endpoint == '/bq/blob':
        headers.update({
            'X-Timestamp': now
            })

    if endpoint == '/loq/login' or endpoint == '/loq/device_id':
        req_token = make_request_token(STATIC_TOKEN, now)
    else:
        req_token = make_request_token(auth_token, now)

    if endpoint != '/bq/story_blob':
        data.update({
            'timestamp': now,
            'req_token': req_token
        })

    if req_type == 'post':
        r = requests.post(URL + endpoint, data=data, files=files,
                          headers=headers, verify=False)
    else:
        if gauth == "": headers = None
        r = requests.get(URL + endpoint, params=data, headers=headers, verify=False)
    if raise_for_status:
        r.raise_for_status()
    return r
Generates a dictionary of data points and their frequency of occurrance.
dataset/ETHPy150Open rxw/snapy/snapy/utils.py/request--crossover with--dataset/ETHPy150Open devttys0/binwalk/src/binwalk/modules/binvis.py/Plotter._generate_data_points