def download(uri, user=None, password=None, saveas=None, ssl_verify=False,
             get_args=None):
    '''
    FIXME: DOCS...
    '''
    if saveas is None:
        temp = tempfile.NamedTemporaryFile(prefix='requests_', dir='/tmp')
        saveas = temp.name
        temp.close()

    if not (user or password):
        # Fall back to kerberos auth
        logr.debug("Using Kerberos AUTH")
        auth = HTTPKerberosAuth(mutual_authentication=OPTIONAL)
    else:
        logr.debug("Using Basic AUTH")
        auth = HTTPBasicAuth(user, password)

    with open(saveas, 'wb') as handle:
        # pass in arguments as dict; requests knows what to do with them
        r = rq.get(uri, verify=ssl_verify, auth=auth, data=get_args)
        if not r.ok:
            logr.error('[{}] {} ({})'.format(uri, r, r.text))
            raise RuntimeError
        for block in r.iter_content(1024):
            if not block:
                break
            handle.write(block)
    return saveas
FIXME: DOCS...