From 2fbd2c8f8b4da6d30936e02fee1191dda4642828 Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Wed, 1 Oct 2025 22:42:04 -0400 Subject: [PATCH] single browser agent constant --- .../openai_sora_client/src/constants/mod.rs | 1 + .../src/constants/user_agent.rs | 22 +++++++++++++++++++ .../api_clients/openai_sora_client/src/lib.rs | 4 +++- .../image_gen/image_gen_http_request.rs | 4 +--- .../requests/image_gen/image_gen_status.rs | 4 +--- .../src/requests/job/sora_job_status.rs | 3 +-- .../sentinel_refresh/generate/token.rs | 3 +-- .../upload/upload_media_http_request.rs | 2 +- 8 files changed, 31 insertions(+), 12 deletions(-) create mode 100644 crates/api_clients/openai_sora_client/src/constants/mod.rs create mode 100644 crates/api_clients/openai_sora_client/src/constants/user_agent.rs diff --git a/crates/api_clients/openai_sora_client/src/constants/mod.rs b/crates/api_clients/openai_sora_client/src/constants/mod.rs new file mode 100644 index 0000000000..e4782e128e --- /dev/null +++ b/crates/api_clients/openai_sora_client/src/constants/mod.rs @@ -0,0 +1 @@ +pub (crate) mod user_agent; \ No newline at end of file diff --git a/crates/api_clients/openai_sora_client/src/constants/user_agent.rs b/crates/api_clients/openai_sora_client/src/constants/user_agent.rs new file mode 100644 index 0000000000..bd771bb61a --- /dev/null +++ b/crates/api_clients/openai_sora_client/src/constants/user_agent.rs @@ -0,0 +1,22 @@ + +// TODO: enum UserAgent { Mac, Linux, Windows } which maps to these. + +/// This user agent is tied to the sentinel generation. +/// If we need to change it, we may need to change sentinel generation too. +pub (crate) 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"; + + +// NB: from sentinel token request - +// /// This user agent is tied to the sentinel generation. If we need to change it, we may need to change sentinel generation too. +// 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"; + +// NB: from image gen request - +// /// This user agent is tied to the sentinel generation. If we need to change it, we may need to change sentinel generation too. +// //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"; + +// Previous job status user agent +// 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"; + +// NB: image gen status - +// /// This user agent is tied to the sentinel generation. If we need to change it, we may need to change sentinel generation too. +// pub (crate) 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"; diff --git a/crates/api_clients/openai_sora_client/src/lib.rs b/crates/api_clients/openai_sora_client/src/lib.rs index 7d270cd4be..af59c35e8a 100644 --- a/crates/api_clients/openai_sora_client/src/lib.rs +++ b/crates/api_clients/openai_sora_client/src/lib.rs @@ -1,5 +1,7 @@ +pub (crate) mod constants; + pub mod creds; pub mod error; pub mod recipes; pub mod requests; -pub mod utils; \ No newline at end of file +pub mod utils; diff --git a/crates/api_clients/openai_sora_client/src/requests/image_gen/image_gen_http_request.rs b/crates/api_clients/openai_sora_client/src/requests/image_gen/image_gen_http_request.rs index 2440e45065..c94a36ec33 100644 --- a/crates/api_clients/openai_sora_client/src/requests/image_gen/image_gen_http_request.rs +++ b/crates/api_clients/openai_sora_client/src/requests/image_gen/image_gen_http_request.rs @@ -1,3 +1,4 @@ +use crate::constants::user_agent::USER_AGENT; use crate::creds::sora_credential_set::SoraCredentialSet; use crate::requests::image_gen::image_gen_status::TaskId; use log::warn; @@ -8,9 +9,6 @@ use wreq::{Client, StatusCode}; const SORA_IMAGE_GEN_URL: &str = "https://sora.com/backend/video_gen"; -/// This user agent is tied to the sentinel generation. If we need to change it, we may need to change sentinel generation too. -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"; - #[derive(Error, Debug)] pub enum SoraImageGenError { #[error("Sora token expired: {0}")] diff --git a/crates/api_clients/openai_sora_client/src/requests/image_gen/image_gen_status.rs b/crates/api_clients/openai_sora_client/src/requests/image_gen/image_gen_status.rs index 86b7b69908..2dbcf9ce40 100644 --- a/crates/api_clients/openai_sora_client/src/requests/image_gen/image_gen_status.rs +++ b/crates/api_clients/openai_sora_client/src/requests/image_gen/image_gen_status.rs @@ -1,3 +1,4 @@ +use crate::constants::user_agent::USER_AGENT; use crate::creds::sora_credential_set::SoraCredentialSet; use crate::creds::sora_jwt_bearer_token::SoraJwtBearerToken; use crate::error::sora_client_error::SoraClientError; @@ -15,9 +16,6 @@ use wreq::Client; const SORA_STATUS_URL: &str = "https://sora.com/backend/video_gen"; -/// This user agent is tied to the sentinel generation. If we need to change it, we may need to change sentinel generation too. -pub (crate) 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"; - /// A strongly typed task ID for Sora tasks. #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] pub struct TaskId(pub String); diff --git a/crates/api_clients/openai_sora_client/src/requests/job/sora_job_status.rs b/crates/api_clients/openai_sora_client/src/requests/job/sora_job_status.rs index ac7fb97b30..86f838ab4c 100644 --- a/crates/api_clients/openai_sora_client/src/requests/job/sora_job_status.rs +++ b/crates/api_clients/openai_sora_client/src/requests/job/sora_job_status.rs @@ -1,3 +1,4 @@ +use crate::constants::user_agent::USER_AGENT; use crate::creds::sora_credential_set::SoraCredentialSet; use crate::error::sora_client_error::SoraClientError; use crate::error::sora_error::SoraError; @@ -5,8 +6,6 @@ use crate::error::sora_generic_api_error::SoraGenericApiError; use log::error; use wreq::Client; -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"; - // https://sora.com/backend/notif?limit=100&before=task_01jqwwrkvgeqp8jsf5mqk1jceh pub async fn sora_job_status( diff --git a/crates/api_clients/openai_sora_client/src/requests/sentinel_refresh/generate/token.rs b/crates/api_clients/openai_sora_client/src/requests/sentinel_refresh/generate/token.rs index da03f238db..3a9798ef4e 100644 --- a/crates/api_clients/openai_sora_client/src/requests/sentinel_refresh/generate/token.rs +++ b/crates/api_clients/openai_sora_client/src/requests/sentinel_refresh/generate/token.rs @@ -9,11 +9,10 @@ use log::error; use serde_derive::{Deserialize, Serialize}; use thiserror::Error; use wreq::Client; +use crate::constants::user_agent::USER_AGENT; const SORA_IMAGE_GEN_URL: &str = "https://chatgpt.com/backend-api/sentinel/req"; -/// This user agent is tied to the sentinel generation. If we need to change it, we may need to change sentinel generation too. -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"; const SENTINEL_FLOW: &str = "sora_create_task"; diff --git a/crates/api_clients/openai_sora_client/src/requests/upload/upload_media_http_request.rs b/crates/api_clients/openai_sora_client/src/requests/upload/upload_media_http_request.rs index 37a685c64a..53b9e9f53a 100644 --- a/crates/api_clients/openai_sora_client/src/requests/upload/upload_media_http_request.rs +++ b/crates/api_clients/openai_sora_client/src/requests/upload/upload_media_http_request.rs @@ -1,9 +1,9 @@ +use crate::constants::user_agent::USER_AGENT; use crate::creds::sora_credential_set::SoraCredentialSet; use crate::error::sora_client_error::SoraClientError; use crate::error::sora_error::SoraError; use crate::error::sora_generic_api_error::SoraGenericApiError; use crate::requests::bearer::generate_bearer_with_cookie::SoraAuthResponse; -use crate::requests::image_gen::image_gen_status::USER_AGENT; use crate::utils::classify_general_http_error::classify_general_http_error; use log::{error, info}; use serde::Deserialize;