fn request_options()

in focus/internals/src/lib/project_cache/remote.rs [133:157]


fn request_options(repo: &Repo) -> Result<RequestOptions> {
    match repo.get_project_cache_include_header_file()? {
        Some(header_file) => {
            let mut headers = HeaderMap::new();
            let reader = BufReader::new(
                File::open(header_file.as_str())
                    .with_context(|| format!("Opening header file {} failed", header_file))?,
            );
            for line in reader.lines() {
                let line = line?;
                if let Some((key, value)) = line.split_once(':') {
                    headers.insert(
                        HeaderName::from_bytes(key.as_bytes())?,
                        HeaderValue::from_bytes(value.as_bytes())?,
                    );
                }
            }

            Ok(RequestOptions {
                headers: Some(headers),
            })
        }
        None => Ok(Default::default()),
    }
}