1use color_eyre::eyre::{eyre, Result};
2use reqwest::header::{HeaderMap, HeaderName, HeaderValue};
3use std::str::FromStr;
4
5pub fn build_headers(headers: &[String]) -> Result<HeaderMap> {
6 let mut header_map = HeaderMap::with_capacity(headers.len());
7 for header in headers {
8 let parts: Vec<&str> = header.splitn(2, ':').map(|t| t.trim()).collect();
9 if parts.len() != 2 {
10 return Err(eyre!("Header格式应为 'Key: Value'"));
11 }
12 let key = parts[0];
13 let value = parts[1];
14 header_map.insert(HeaderName::from_str(key)?, HeaderValue::from_str(value)?);
15 }
16 Ok(header_map)
17}
18
19pub fn format_time(time: u64) -> String {
20 let seconds = time % 60;
21 let minutes = (time / 60) % 60;
22 let hours = time / 3600;
23 format!("{:02}:{:02}:{:02}", hours, minutes, seconds)
24}