2023-12-13 09:50:51 +00:00
|
|
|
use actix_web::web::{Data, Json, Query};
|
2022-05-03 17:44:13 +00:00
|
|
|
use lemmy_api_common::{
|
2022-11-28 14:29:33 +00:00
|
|
|
context::LemmyContext,
|
2022-05-03 17:44:13 +00:00
|
|
|
post::{GetSiteMetadata, GetSiteMetadataResponse},
|
2024-01-25 14:22:11 +00:00
|
|
|
request::fetch_link_metadata,
|
2022-05-03 17:44:13 +00:00
|
|
|
};
|
2023-06-06 16:27:22 +00:00
|
|
|
use lemmy_utils::error::LemmyError;
|
2022-04-13 18:12:25 +00:00
|
|
|
|
2023-09-05 09:33:46 +00:00
|
|
|
#[tracing::instrument(skip(context))]
|
|
|
|
pub async fn get_link_metadata(
|
2023-12-13 09:50:51 +00:00
|
|
|
data: Query<GetSiteMetadata>,
|
2023-09-05 09:33:46 +00:00
|
|
|
context: Data<LemmyContext>,
|
|
|
|
) -> Result<Json<GetSiteMetadataResponse>, LemmyError> {
|
2024-01-25 14:22:11 +00:00
|
|
|
let metadata = fetch_link_metadata(&data.url, false, &context).await?;
|
2022-04-13 18:12:25 +00:00
|
|
|
|
2023-09-05 09:33:46 +00:00
|
|
|
Ok(Json(GetSiteMetadataResponse { metadata }))
|
2022-04-13 18:12:25 +00:00
|
|
|
}
|