Spaces:
Running
Running
File size: 1,902 Bytes
95f4e64 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
## defineMetaHandler
This method handles metadata requests. (title, releaseInfo, poster, background, etc.)
### Arguments:
`args` - request object; parameters described below
### Returns:
A promise resolving to an object containing `{ meta: {} }` with a [Meta Object](../responses/meta.md)
The resolving object can also include the following cache related properties:
- `{ cacheMaxAge: int }` (in seconds) which sets the `Cache-Control` header to `max-age=$cacheMaxAge` and overwrites the global cache time set in `serveHTTP` [options](../../README.md#servehttpaddoninterface-options)
- `{ staleRevalidate: int }` (in seconds) which sets the `Cache-Control` header to `stale-while-revalidate=$staleRevalidate`
- `{ staleError: int }` (in seconds) which sets the `Cache-Control` header to `stale-if-error=$staleError`
## Request Parameters
``type`` - type of the item; e.g. `movie`, `series`, `channel`, `tv` (see [Content Types](../responses/content.types.md))
``id`` - string id of the meta item that is requested; these are set in the [Meta Preview Object](../responses/meta.md#meta-preview-object)
``config`` - object with user settings, see [Manifest - User Data](../responses/manifest.md#user-data)
## Basic Example
```javascript
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: {} })
}
})
```
[Meta Object Definition](../responses/meta.md)
|