Increase metadata fetch limit to 1 MB (fixes #5208) (#5266)

This commit is contained in:
Nutomic 2024-12-17 15:01:53 +00:00 committed by GitHub
parent 8d91543a13
commit d346890b1f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -51,9 +51,11 @@ pub fn client_builder(settings: &Settings) -> ClientBuilder {
#[tracing::instrument(skip_all)] #[tracing::instrument(skip_all)]
pub async fn fetch_link_metadata(url: &Url, context: &LemmyContext) -> LemmyResult<LinkMetadata> { pub async fn fetch_link_metadata(url: &Url, context: &LemmyContext) -> LemmyResult<LinkMetadata> {
info!("Fetching site metadata for url: {}", url); info!("Fetching site metadata for url: {}", url);
// We only fetch the first 64kB of data in order to not waste bandwidth especially for large // We only fetch the first MB of data in order to not waste bandwidth especially for large
// binary files // binary files. This high limit is particularly needed for youtube, which includes a lot of
let bytes_to_fetch = 64 * 1024; // javascript code before the opengraph tags. Mastodon also uses a 1 MB limit:
// https://github.com/mastodon/mastodon/blob/295ad6f19a016b3f16e1201ffcbb1b3ad6b455a2/app/lib/request.rb#L213
let bytes_to_fetch = 1024 * 1024;
let response = context let response = context
.client() .client()
.get(url.as_str()) .get(url.as_str())