fn inject_sw_header()

in src/plugin/plugin_curl.rs [404:420]


    fn inject_sw_header(request_id: Option<i64>, ch: ZVal, info: &CurlInfo) -> crate::Result<()> {
        let sw_header = RequestContext::try_get_sw_header(request_id, &info.peer)?;
        let mut val = CURL_HEADERS
            .with(|headers| headers.borrow_mut().remove(&info.cid))
            .unwrap_or_else(|| ZVal::from(ZArray::new()));
        if let Some(arr) = val.as_mut_z_arr() {
            arr.insert(
                InsertKey::NextIndex,
                ZVal::from(format!("{}: {}", SW_HEADER, sw_header)),
            );
            call(
                "curl_setopt",
                &mut [ch, ZVal::from(SKY_CURLOPT_HTTPHEADER), val],
            )?;
        }
        Ok(())
    }