diff --git a/crates/collab/src/api/extensions.rs b/crates/collab/src/api/extensions.rs index e34de94692e66d23b4b21a74bf839674f0a683c3..c350895ff4543f32a6cb8de887a5c2090f6c10e7 100644 --- a/crates/collab/src/api/extensions.rs +++ b/crates/collab/src/api/extensions.rs @@ -4,7 +4,7 @@ use anyhow::Context as _; use aws_sdk_s3::presigning::PresigningConfig; use axum::{ Extension, Json, Router, - extract::{Path, Query, RawQuery}, + extract::{Path, Query}, http::StatusCode, response::Redirect, routing::get, @@ -19,7 +19,6 @@ use util::{ResultExt, maybe}; pub fn router() -> Router { Router::new() - .route("/extensions", get(get_extensions)) .route("/extensions/updates", get(get_extension_updates)) .route("/extensions/:extension_id", get(get_extension_versions)) .route( @@ -32,52 +31,6 @@ pub fn router() -> Router { ) } -const UPSTREAM_EXTENSIONS_URL: &str = "https://cloud.zed.dev/extensions"; - -async fn get_extensions(RawQuery(query): RawQuery) -> Result> { - let upstream_url = match query { - Some(query) => format!("{UPSTREAM_EXTENSIONS_URL}?{query}"), - None => UPSTREAM_EXTENSIONS_URL.to_string(), - }; - - let response = reqwest::get(&upstream_url).await.map_err(|error| { - tracing::error!( - ?error, - "failed to proxy request to upstream extensions service" - ); - Error::http( - StatusCode::BAD_GATEWAY, - "upstream extensions service unavailable".into(), - ) - })?; - - let status = response.status(); - if !status.is_success() { - let upstream_status = - StatusCode::from_u16(status.as_u16()).unwrap_or(StatusCode::BAD_GATEWAY); - let body = response.text().await.unwrap_or_default(); - tracing::error!( - status = status.as_u16(), - body, - "upstream extensions service returned an error" - ); - return Err(Error::http(upstream_status, body)); - } - - let body: GetExtensionsResponse = response.json().await.map_err(|error| { - tracing::error!( - ?error, - "failed to parse response from upstream extensions service" - ); - Error::http( - StatusCode::BAD_GATEWAY, - "failed to parse upstream response".into(), - ) - })?; - - Ok(Json(body)) -} - #[derive(Debug, Deserialize)] struct GetExtensionUpdatesParams { ids: String,