pub fn download_file<'a, 'b: 'a, F>(
file_uri: &'b str,
download_path: &'b str,
start: usize,
total: Option<usize>,
msisdn: Option<&'b str>,
http_client: &'b Arc<HttpClient>,
gba_context: &'b Arc<GbaContext>,
security_context: &'b Arc<SecurityContext>,
digest_answer: Option<&'a DigestAnswerParams>,
progress_callback: F,
) -> BoxFuture<'a, Result<(), FileDownloadError>>