mirror of
https://github.com/thelounge/thelounge
synced 2024-11-21 19:43:07 +00:00
Add prefetchMaxSearchSize to override limit for link previews
YouTube puts the opengraph tags needed for the preview after ~300KB in the body instead of the beginning of the <head> tag. Instead of hardcoding the value, allow the server admin to set the policy as they prefer.
This commit is contained in:
parent
f99e4eef77
commit
7c17662fea
2 changed files with 16 additions and 3 deletions
|
@ -150,6 +150,14 @@ module.exports = {
|
|||
// This value is set to `2048` kilobytes by default.
|
||||
prefetchMaxImageSize: 2048,
|
||||
|
||||
// ### prefetchMaxSearchSize
|
||||
//
|
||||
// This value controls the maximum request size made to find the link preview
|
||||
// Open Graph tags. For some sites like YouTube this can easily exceed 300 kilobytes.
|
||||
//
|
||||
// This value is set to 50 kilobytes by default.
|
||||
prefetchMaxSearchSize: 50,
|
||||
|
||||
// ### `fileUpload`
|
||||
//
|
||||
// Allow uploading files to the server hosting The Lounge.
|
||||
|
|
|
@ -407,9 +407,14 @@ function fetch(uri, headers) {
|
|||
// We don't need to download the file any further after we received content-type header
|
||||
gotStream.destroy();
|
||||
} else {
|
||||
// if not image, limit download to 50kb, since we need only meta tags
|
||||
// twitter.com sends opengraph meta tags within ~20kb of data for individual tweets
|
||||
limit = 1024 * 50;
|
||||
// if not image, limit download to the max search size, since we need only meta tags
|
||||
// twitter.com sends opengraph meta tags within ~20kb of data for individual tweets, the default is set to 50.
|
||||
// for sites like Youtube the og tags are in the first 300K and hence this is configurable by the admin
|
||||
limit =
|
||||
"prefetchMaxSearchSize" in Helper.config
|
||||
? Helper.config.prefetchMaxSearchSize * 1024
|
||||
: // set to the previous size if config option is unset
|
||||
50 * 1024;
|
||||
}
|
||||
})
|
||||
.on("error", (e) => reject(e))
|
||||
|
|
Loading…
Reference in a new issue