You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: esr_from.rs
    path of file: ./repos/cargo-esr/src
    
    the code of the file until where you have to start completion: /*
    This file is a part of cargo-esr.

    Copyright (C) 2017 Mohammad AlSaleh <CE.Mohammad.AlSaleh at gmail.com>
    https://github.com/rust-alt/cargo-esr

    This Source Code Form 
    
    async fn from_url_multi(url: &str, multi_page: bool) -> Result<Self> {
        let mut initial_self = Self::from_url(url).await?;
        let total = initial_self.total_from_meta();

        // per_page=100 is the maximum number allowed.
        // If total > 100, GET all pages and append all results to initial_self inner vec
        if multi_page && total > 100 {
            let num_pages = (total as f64 / 100.0).ceil() as usize;

            let more_pages_iter = (2..=num_pages)
                .map(|page| url.to_owned() + &*format!("&page={}", page))
                .map(|page_url| Self::from_url_owned(page_url));


            for page_res in future::join_all(more_pages_iter).await {
                let page = page_res?;
                initial_self.get_inner_mut().extend_from_slice(&*page.get_inner());
            }

        }

        if multi_page && initial_self.get_inner().len() != total {
            Err("Total no. of results does not match total reported")?;
        }

        Ok(initial_self)
    }