def _stream_download(sconnect, nodeid, source_file, save_as, verbose):
    """
    Save stream of binary data to disk.

    Args:
        sconnect (str): SteelConnection object.
        nodeid (str): The node id of the appliance.
        source_file (str): Name of the source file to download.
        save_as (str): Filepath where file is written.
        verbose (function): The function used for prining.

    Returns:
        None
    """
    verbose("Downloading file as '{}'".format(save_as), end=' ')
    with open(save_as, 'wb') as fd:
        chunks = sconnect.stream('/node/{}/get_image'.format(nodeid),
            params={'file': source_file})
        for index, chunk in enumerate(chunks):
            fd.write(chunk)
            if index % 50 == 0:
                verbose('.', end='')
    verbose('\nDownload complete.')
