use super::html_escape; pub(super) fn cover( target_name: &str, session_id: &str, date_short: &str, target_url: &str, requester_name: &str, requester_email: &str, app_screenshot_b64: Option<&str>, ) -> String { let screenshot_html = app_screenshot_b64 .filter(|s| !s.is_empty()) .map(|b64| { format!( r#"
Application screenshot
"# ) }) .unwrap_or_default(); format!( r##"
CONFIDENTIAL
Penetration Test Report
{target_name}
Report ID: {session_id}
Date: {date_short}
Target: {target_url}
Prepared for: {requester_name} ({requester_email})
{screenshot_html}
"##, target_name = html_escape(target_name), session_id = html_escape(session_id), date_short = date_short, target_url = html_escape(target_url), requester_name = html_escape(requester_name), requester_email = html_escape(requester_email), ) }