shindan_maker/
http_utils.rs

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