shindan_maker/
http_utils.rs

1use reqwest::header;
2use reqwest::header::{HeaderMap, HeaderValue};
3use anyhow::{Context, Result};
4
5pub(crate) fn extract_session_cookie(response: &reqwest::Response) -> Result<String> {
6    response.cookies()
7        .find(|cookie| cookie.name() == "_session")
8        .map(|cookie| cookie.value().to_string())
9        .context("Failed to extract session cookie")
10}
11
12pub(crate) fn prepare_headers(session_cookie: &str) -> Result<HeaderMap> {
13    let mut headers = HeaderMap::new();
14    headers.insert(
15        header::CONTENT_TYPE,
16        HeaderValue::from_static("application/x-www-form-urlencoded"),
17    );
18
19    let cookie_value = format!("_session={};", session_cookie);
20    headers.insert(
21        header::COOKIE,
22        HeaderValue::from_str(&cookie_value)?,
23    );
24
25    Ok(headers)
26}