This method handles metadata requests. (title, releaseInfo, poster, background, etc.)
args
- request object; parameters described below
A promise resolving to an object containing { meta: {} }
with a Meta Object
The resolving object can also include the following cache related properties:
-
{ cacheMaxAge: int }
(in seconds) which sets theCache-Control
header tomax-age=$cacheMaxAge
and overwrites the global cache time set inserveHTTP
options -
{ staleRevalidate: int }
(in seconds) which sets theCache-Control
header tostale-while-revalidate=$staleRevalidate
-
{ staleError: int }
(in seconds) which sets theCache-Control
header tostale-if-error=$staleError
type
- type of the item; e.g. movie
, series
, channel
, tv
(see Content Types)
id
- string id of the meta item that is requested; these are set in the Meta Preview Object
config
- object with user settings, see Manifest - User Data
builder.defineMetaHandler(function(args) {
if (args.type === 'movie' && args.id === 'tt1254207') {
// serve metadata for Big Buck Bunny
const metaObj = {
id: 'tt1254207',
name: 'Big Buck Bunny',
releaseInfo: '2008',
poster: 'https://image.tmdb.org/t/p/w600_and_h900_bestv2/uVEFQvFMMsg4e6yb03xOfVsDz4o.jpg',
posterShape: 'poster',
type: 'movie'
}
return Promise.resolve({ meta: metaObj })
} else {
// otherwise return no meta
return Promise.resolve({ meta: {} })
}
})