use crate::Perform; use actix_web::web::Data; use lemmy_api_common::{ context::LemmyContext, post::{GetSiteMetadata, GetSiteMetadataResponse}, request::fetch_site_metadata, }; use lemmy_utils::{error::LemmyError, ConnectionId}; #[async_trait::async_trait(?Send)] impl Perform for GetSiteMetadata { type Response = GetSiteMetadataResponse; #[tracing::instrument(skip(context, _websocket_id))] async fn perform( &self, context: &Data, _websocket_id: Option, ) -> Result { let data: &Self = self; let metadata = fetch_site_metadata(context.client(), &data.url).await?; Ok(GetSiteMetadataResponse { metadata }) } }