use swanling::prelude::*;
use std::boxed::Box;
use std::sync::Arc;
fn main() -> Result<(), SwanlingError> {
let mut taskset = taskset!("WebsiteUser")
.set_wait_time(5, 15)?;
let paths = vec!["/", "/about", "/our-team"];
for request_path in paths {
let path = request_path;
let closure: SwanlingTaskFunction = Arc::new(move |user| {
Box::pin(async move {
let _swanling = user.get(path).await?;
Ok(())
})
});
let task = SwanlingTask::new(closure);
let new_taskset = taskset.register_task(task);
taskset = new_taskset;
}
SwanlingAttack::initialize()?
.register_taskset(taskset)
.execute()?
.print();
Ok(())
}