Skip to content

Latest commit

 

History

History
55 lines (36 loc) · 1.99 KB

defineResourceHandler.md

File metadata and controls

55 lines (36 loc) · 1.99 KB

defineResourceHandler

This method currently handles addon catalog requests. As opposed to defineCatalogHandler() which handles meta catalogs, this method handles catalogs of addon manifests. This means that an addon can be used to just pass a list of other addons that can be installed in Stremio.

Arguments:

args - request object; parameters described below

Returns:

A promise that resolves to an object containing { addons: [] } with an array of Catalog Addon Object

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

  • { 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 catalog's content; e.g. movie, series, channel, tv (see Content Types)

id - string id of the catalog that is requested; these are set in the Manifest Object

Basic Example

builder.defineResourceHandler('addon_catalog', function(args) {
    return Promise.resolve({
        addons: [
            {
                transportName: 'http',
                transportUrl: 'https://example.addon.org/manifest.json',
                manifest: {
                    id: 'org.myexampleaddon',
                    version: '1.0.0',
                    name: 'simple example',
                    catalogs: [],
                    resources: ['stream'],
                    types: ['movie'],
                    idPrefixes: ['tt']
                }
            }
        ]
    })
})

Catalog Addon Object Definition