def get_dict(*keys, **extras):
    """ main helper function that generates a dict with subset of keys as requested """
    _keys = ('url', 'args', 'form', 'data', 'origin', 'status', 'headers',
             'files', 'json', 'timestamp', 'cookies')

    assert all(map(_keys.__contains__, keys))

    data = request.data
    form = request.form

    try:
        _json = json.loads(data)
    except ValueError:
        _json = None

    d = dict(
        url       = request.url,
        args      = request.args,
        form      = form,
        data      = helpers.json_safe(data),
        origin    = get_ip(),
        headers   = get_headers(),
        files     = get_files(),
        json      = _json,
        timestamp = int(time.time()),
        status    = "ok",
        cookies   = request.cookies
    )

    response_dict = dict()

    for k in keys:
        response_dict[k] = d[k]

    for e in extras:
        response_dict[e] = extras[e]

    return response_dict
def get_dict(*keys, **extras):
    """ main helper function that generates a dict with subset of keys as requested """
    _keys = ('url', 'args', 'form', 'data', 'origin', 'status', 'headers',
             'files', 'json', 'timestamp', 'cookies')

    assert all(map(_keys.__contains__, keys))

    data = request.data
    form = request.form

    try:
        _json = json.loads(data)
    except ValueError:
        _json = None

    d = dict(
        url       = request.url,
        args      = request.args,
        form      = form,
        data      = helpers.json_safe(data),
        origin    = get_ip(),
        headers   = get_headers(),
        files     = get_files(),
        json      = _json,
        timestamp = int(time.time()),
        status    = "ok",
        cookies   = request.cookies
    )

    response_dict = dict()

    for k in keys:
        response_dict[k] = d[k]

    for e in extras:
        response_dict[e] = extras[e]

    return response_dict
def get_files():
    """ returns files from the request context """
    files = dict()
    for k, v in request.files.items():
        files[k] = helpers.json_safe(v.read(), request.files[k].content_type)
    return files
def get_files():
    """ returns files from the request context """
    files = dict()
    for k, v in request.files.items():
        files[k] = helpers.json_safe(v.read(), request.files[k].content_type)
    return files