subscan 1.3.0

A subdomain enumeration tool leveraging diverse techniques, designed for advanced pentesting operations
Documentation
use async_trait::async_trait;
use reqwest::Url;
use subscan::{
    enums::content::Content,
    interfaces::requester::RequesterInterface,
    types::{config::requester::RequesterConfig, core::Result},
};

pub struct CustomRequester {
    config: RequesterConfig,
}

#[async_trait]
impl RequesterInterface for CustomRequester {
    async fn config(&mut self) -> &mut RequesterConfig {
        &mut self.config
    }

    async fn configure(&mut self, config: RequesterConfig) {
        self.config = config;
    }

    async fn get_content(&self, _url: Url) -> Result<Content> {
        Ok(Content::Empty)
    }
}

#[tokio::main]
async fn main() {
    let url = Url::parse("https://example.com").unwrap();
    let requester = CustomRequester {
        config: RequesterConfig::default(),
    };

    let content = requester.get_content(url).await.unwrap();

    assert_eq!(content.as_string(), "");
}