diff --git a/crates/lib/api_clients/openai_sora_client/src/image_gen/raw_sora_image_gen.rs b/crates/lib/api_clients/openai_sora_client/src/image_gen/raw_sora_image_gen.rs index 924483e129..b711e36724 100644 --- a/crates/lib/api_clients/openai_sora_client/src/image_gen/raw_sora_image_gen.rs +++ b/crates/lib/api_clients/openai_sora_client/src/image_gen/raw_sora_image_gen.rs @@ -97,12 +97,12 @@ pub (crate) struct RawSoraErrorResponse { const USER_AGENT : &str = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36"; -pub (crate) async fn call_sora_image_gen(request: RawSoraImageGenRequest, credentials: &SoraCredentials) -> AnyhowResult { +pub (crate) async fn call_sora_image_gen(sora_request: RawSoraImageGenRequest, credentials: &SoraCredentials) -> AnyhowResult { let client = reqwest::Client::new(); - let request_payload = serde_json::to_string(&request)?; + //let request_payload = serde_json::to_string(&request)?; - println!("\n\n >>> request_payload = {:?}", request_payload); + //println!("\n\n >>> request_payload = {:?}", request_payload); //let request = credentials.add_credential_headers_to_request(request); @@ -110,20 +110,33 @@ pub (crate) async fn call_sora_image_gen(request: RawSoraImageGenRequest, creden .header("OpenAI-Sentinel-Token", &credentials.sentinel) .header("User-Agent", USER_AGENT) .header("Cookie", &credentials.cookie) - .header("Authorization", &credentials.bearer_token) + .header("Authorization", credentials.authorization_header_value()) .header("Content-Type", "application/json"); - let response = request.json(&request_payload) - .send() - .await?; - //.error_for_status()?; + let request = request.json(&sora_request).build()?; - println!("\n\n >>> status = {:?}", response.status()); + println!("\n\n >>> raw request = {:?}\n\n", request); + + let response = client.execute(request) + .await?; + + //let response = request.execute() + // .send() + // .await?; + // //.error_for_status()?; + + let status = response.status(); + + println!("\n\n >>> status = {:?}", &status); let json_response = &response.text().await?; println!(" >>> response = {:?}", json_response); + if status != reqwest::StatusCode::OK { + return Err(anyhow::anyhow!("the request failed; improve this message")); + } + let response = serde_json::from_str(json_response)?; Ok(response)