Revert "Use alt CDN URL when request header is passed (#4921)" (#4923)

This reverts commit 609e3896eb.
This commit is contained in:
Prospector
2025-12-18 18:40:27 +00:00
committed by GitHub
parent 8d894541e8
commit 5bbc3872f3
18 changed files with 43 additions and 282 deletions
+13 -42
View File
@@ -3,7 +3,6 @@ use crate::auth::checks::{filter_visible_versions, is_visible_version};
use crate::auth::{filter_visible_projects, get_user_from_headers};
use crate::database::ReadOnlyPgPool;
use crate::database::redis::RedisPool;
use crate::file_hosting::{CdnConfig, UseAltCdn};
use crate::models::ids::VersionId;
use crate::models::pats::Scopes;
use crate::models::projects::VersionType;
@@ -42,8 +41,6 @@ pub async fn get_version_from_hash(
redis: web::Data<RedisPool>,
hash_query: web::Query<HashQuery>,
session_queue: web::Data<AuthQueue>,
cdn_config: web::Data<CdnConfig>,
UseAltCdn(use_alt_cdn): UseAltCdn,
) -> Result<HttpResponse, ApiError> {
let user_option = get_user_from_headers(
&req,
@@ -78,10 +75,8 @@ pub async fn get_version_from_hash(
return Err(ApiError::NotFound);
}
Ok(HttpResponse::Ok().json(models::projects::Version::from(
version,
&cdn_config.make_choice(use_alt_cdn),
)))
Ok(HttpResponse::Ok()
.json(models::projects::Version::from(version)))
} else {
Err(ApiError::NotFound)
}
@@ -132,8 +127,6 @@ pub async fn get_update_from_hash(
hash_query: web::Query<HashQuery>,
update_data: web::Json<UpdateData>,
session_queue: web::Data<AuthQueue>,
cdn_config: web::Data<CdnConfig>,
UseAltCdn(use_alt_cdn): UseAltCdn,
) -> Result<HttpResponse, ApiError> {
let user_option = get_user_from_headers(
&req,
@@ -202,12 +195,9 @@ pub async fn get_update_from_hash(
return Err(ApiError::NotFound);
}
return Ok(HttpResponse::Ok().json(
models::projects::Version::from(
first,
&cdn_config.make_choice(use_alt_cdn),
),
));
return Ok(
HttpResponse::Ok().json(models::projects::Version::from(first))
);
}
}
Err(ApiError::NotFound)
@@ -226,8 +216,6 @@ pub async fn get_versions_from_hashes(
redis: web::Data<RedisPool>,
file_data: web::Json<FileHashes>,
session_queue: web::Data<AuthQueue>,
cdn_config: web::Data<CdnConfig>,
UseAltCdn(use_alt_cdn): UseAltCdn,
) -> Result<HttpResponse, ApiError> {
let user_option = get_user_from_headers(
&req,
@@ -260,7 +248,6 @@ pub async fn get_versions_from_hashes(
&user_option,
&pool,
&redis,
&cdn_config.make_choice(use_alt_cdn),
)
.await?;
@@ -348,8 +335,6 @@ pub async fn update_files(
pool: web::Data<ReadOnlyPgPool>,
redis: web::Data<RedisPool>,
update_data: web::Json<ManyUpdateData>,
cdn_config: web::Data<CdnConfig>,
UseAltCdn(use_alt_cdn): UseAltCdn,
) -> Result<HttpResponse, ApiError> {
let algorithm = update_data
.algorithm
@@ -407,11 +392,10 @@ pub async fn update_files(
.find(|x| x.inner.project_id == file.project_id)
&& let Some(hash) = file.hashes.get(&algorithm)
{
let version = models::projects::Version::from(
version.clone(),
&cdn_config.make_choice(use_alt_cdn),
response.insert(
hash.clone(),
models::projects::Version::from(version.clone()),
);
response.insert(hash.clone(), version);
}
}
@@ -438,8 +422,6 @@ pub async fn update_individual_files(
redis: web::Data<RedisPool>,
update_data: web::Json<ManyFileUpdateData>,
session_queue: web::Data<AuthQueue>,
cdn_config: web::Data<CdnConfig>,
UseAltCdn(use_alt_cdn): UseAltCdn,
) -> Result<HttpResponse, ApiError> {
let user_option = get_user_from_headers(
&req,
@@ -542,11 +524,10 @@ pub async fn update_individual_files(
)
.await?
{
let version = models::projects::Version::from(
version.clone(),
&cdn_config.make_choice(use_alt_cdn),
response.insert(
hash.clone(),
models::projects::Version::from(version.clone()),
);
response.insert(hash.clone(), version);
}
}
}
@@ -693,7 +674,6 @@ pub async fn download_version(
redis: web::Data<RedisPool>,
hash_query: web::Query<HashQuery>,
session_queue: web::Data<AuthQueue>,
UseAltCdn(use_alt_cdn): UseAltCdn,
) -> Result<HttpResponse, ApiError> {
let user_option = get_user_from_headers(
&req,
@@ -724,15 +704,6 @@ pub async fn download_version(
database::models::DBVersion::get(file.version_id, &**pool, &redis)
.await?;
let url = if use_alt_cdn {
let cdn_url = dotenvy::var("CDN_URL").unwrap();
let cdn_alt_url = dotenvy::var("CDN_ALT_URL").unwrap();
file.url.replace(&cdn_url, &cdn_alt_url)
} else {
file.url.clone()
};
if let Some(version) = version {
if !is_visible_version(&version.inner, &user_option, &pool, &redis)
.await?
@@ -741,8 +712,8 @@ pub async fn download_version(
}
Ok(HttpResponse::TemporaryRedirect()
.append_header(("Location", &*url))
.json(DownloadRedirect { url }))
.append_header(("Location", &*file.url))
.json(DownloadRedirect { url: file.url }))
} else {
Err(ApiError::NotFound)
}