mirror of
https://github.com/knightcrawler-stremio/knightcrawler.git
synced 2024-12-20 03:29:51 +00:00
[addon] adds custom landing page for addon configuration
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
const rateLimit = require('express-rate-limit');
|
||||
const { getRouter } = require('stremio-addon-sdk');
|
||||
const landingTemplate = require('stremio-addon-sdk/src/landingTemplate');
|
||||
const addonInterface = require('./addon');
|
||||
const { manifest } = require('./lib/manifest');
|
||||
const parseConfiguration = require('./lib/configuration');
|
||||
const landingTemplate = require('./lib/landingTemplate');
|
||||
const router = getRouter(addonInterface);
|
||||
|
||||
const limiter = rateLimit({
|
||||
@@ -13,11 +15,26 @@ const limiter = rateLimit({
|
||||
router.use(limiter);
|
||||
|
||||
router.get('/', (_, res) => {
|
||||
const landingHTML = landingTemplate(addonInterface.manifest);
|
||||
const landingHTML = landingTemplate(manifest());
|
||||
res.setHeader('content-type', 'text/html');
|
||||
res.end(landingHTML);
|
||||
});
|
||||
|
||||
router.get('/:configuration', (req, res) => {
|
||||
const configValues = parseConfiguration(req.params.configuration);
|
||||
console.log(configValues);
|
||||
const landingHTML = landingTemplate(manifest(), configValues.providers, configValues.realdebrid);
|
||||
res.setHeader('content-type', 'text/html');
|
||||
res.end(landingHTML);
|
||||
});
|
||||
|
||||
router.get('/:configuration/manifest.json', (req, res) => {
|
||||
const configValues = parseConfiguration(req.params.configuration);
|
||||
const manifestBuf = JSON.stringify(manifest(configValues.providers, configValues.realdebrid));
|
||||
res.setHeader('Content-Type', 'application/json; charset=utf-8');
|
||||
res.end(manifestBuf)
|
||||
});
|
||||
|
||||
module.exports = function (req, res) {
|
||||
router(req, res, function () {
|
||||
res.statusCode = 404;
|
||||
|
||||
Reference in New Issue
Block a user