in src/plugin/plugin_curl.rs [107:129]
fn hook_curl_setopt(&self) -> (Box<BeforeExecuteHook>, Box<AfterExecuteHook>) {
(
Box::new(|_, execute_data| {
validate_num_args(execute_data, 3)?;
let cid = Self::get_resource_id(execute_data)?;
let options = execute_data.get_parameter(1).as_long();
if options == Some(SKY_CURLOPT_HTTPHEADER) {
*execute_data.get_mut_parameter(1) = CURLOPT_HTTPHEADER.into();
} else if options == Some(CURLOPT_HTTPHEADER) {
let value = execute_data.get_parameter(2);
if value.get_type_info().is_array() {
CURL_HEADERS
.with(|headers| headers.borrow_mut().insert(cid, value.clone()));
}
}
Ok(Box::new(()))
}),
Noop::noop(),
)
}