servo-fetch-cli 0.11.1

A browser engine in a binary — fetch, render, and extract web content as Markdown, JSON, or screenshots. Powered by Servo.
1
2
3
4
5
6
7
8
9
10
11
//! Screenshot tool helper.

use super::error::{ToolError, ToolResult};
use super::fetch::fetch_screenshot;

pub(crate) async fn take_screenshot(url: &str, timeout: u64, settle_ms: u64, full_page: bool) -> ToolResult<Vec<u8>> {
    let page = fetch_screenshot(url, full_page, timeout, settle_ms).await?;
    page.screenshot_png()
        .map(<[u8]>::to_vec)
        .ok_or_else(|| ToolError::internal("screenshot capture failed"))
}