use ureq::{Agent, agent}; use std::{sync::LazyLock, thread}; use mlua::prelude::*; static AGENT: LazyLock = LazyLock::new(|| agent()); struct Stream(ureq::Body); pub fn get(_: &Lua, url: String, callback: LuaFunction, err_callback: LuaFunction) -> LuaResult<()> { thread::spawn(|| { match AGENT.get(url).call() { Ok(body) => { }, Err(err) => { err_callback.call(err.to_string()); } } // callback.call::<>() }); Ok(()) }