flarer 0.1.0

Rust client and CLI for Cloudflare's Browser Rendering REST API (content, screenshot, PDF, snapshot, markdown, scrape, JSON extraction, links, crawl).
Documentation
//! # flarer
//!
//! Rust client and CLI for [Cloudflare's Browser Rendering REST API].
//!
//! `flarer` ships as both a library (this crate) and a `flarer` binary.
//! The library exposes the high-level [`Flarer`] client; the binary is gated
//! behind the default `cli` feature and provides an interactive CLI plus a
//! one-shot non-interactive mode.
//!
//! ## Library quickstart
//!
//! ```no_run
//! use flarer::{Account, Flarer, Tool};
//!
//! # async fn run() -> flarer::Result<()> {
//! let account = Account::from_env()?;
//! let flarer = Flarer::builder().account(account).build()?;
//! flarer.verify().await?;
//!
//! let markdown = flarer.run(Tool::Markdown, "https://example.com").await?;
//! println!("{}", markdown.display_string());
//! # Ok(()) }
//! ```
//!
//! ## Library-only usage (no CLI deps)
//!
//! Disable default features to avoid pulling `clap`, `inquire`, `dotenv`,
//! and `tracing-subscriber`:
//!
//! ```toml
//! flarer = { version = "0.1", default-features = false }
//! ```
//!
//! [Cloudflare's Browser Rendering REST API]:
//!     https://developers.cloudflare.com/browser-rendering/

#![forbid(unsafe_code)]
#![warn(missing_docs)]

pub mod account;
pub mod client;
pub mod error;
pub mod tool;
pub mod types;

#[cfg(feature = "cli")]
pub mod cli;

pub use account::Account;
pub use client::{DEFAULT_BASE_URL, Flarer, FlarerBuilder, SnapshotOptions};
pub use error::{FlarerError, Result};
pub use tool::Tool;
pub use types::{CfEnvelope, JsonOptions, Output, ResponseFormat, SnapshotResult};