firecrawl/apps/rust-sdk/examples/cancel_crawl_example.rs
kkharji f2c01340d1
feat(rust): update rust sdk to support new features (#1446)
* chore(rust-sdk): cargo fmt

* feat(rust-sdk): implement search api + example + test

* feat(rust-sdk): implement crawl cancel api + example + test

* feat(rust-sdk): implement crawl check errors api + example + test

* feat(rust-sdk): implement batch crawl + test + example

+ Fix MapOptions

* feat(rust-sdk): implement extract api + test + example

* feat(rust-sdk): implement llmtxt api + test + example

* chore(rust-sdk): correct mock tests

* chore(rust-sdk): prep for cargo distribution
2025-04-18 06:59:59 +02:00

34 lines
1.0 KiB
Rust

use firecrawl::FirecrawlApp;
use std::error::Error;
use std::time::Duration;
#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
// Get API URL from environment
let api_url = std::env::var("FIRECRAWL_API_URL")
.expect("Please set the FIRECRAWL_API_URL environment variable");
// Create the FirecrawlApp instance
let firecrawl = FirecrawlApp::new_selfhosted(api_url, None::<&str>)?;
// Start a crawl job
println!("Starting a crawl job...");
let crawl_response = firecrawl
.crawl_url_async("https://example.com", None)
.await?;
println!("Crawl job started with ID: {}", crawl_response.id);
// Wait for a moment to let the crawl job start
println!("Waiting for a moment...");
tokio::time::sleep(Duration::from_secs(2)).await;
// Cancel the crawl job
println!("Cancelling the crawl job...");
let cancel_response = firecrawl.cancel_crawl(&crawl_response.id).await?;
println!("Cancellation result:");
println!(" Status: {:?}", cancel_response.status);
Ok(())
}