mod core;
mod dns;
mod headers;
mod ltn12;
mod url;
use mlua::{Error, Lua};
static MODULE_SCRIPT: &str = include_str!("socket.lua");
pub fn preload(lua: &Lua) -> Result<(), Error> {
dns::preload(lua)?;
headers::preload(lua)?;
ltn12::preload(lua)?;
url::preload(lua)?;
core::preload(lua)?;
let script = format!("package.preload['socket'] = function() {} end", MODULE_SCRIPT);
lua.load(script).exec()?;
Ok(())
}
#[cfg(test)]
mod tests {
use mlua::{Lua, Table};
use std::error::Error;
#[test]
fn load() -> Result<(), Box<dyn Error>> {
let lua = Lua::new();
crate::preload(&lua)?;
let _module: Table = lua.load("return require('socket')").eval()?;
Ok(())
}
}