-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathindex.js
49 lines (36 loc) · 1.43 KB
/
index.js
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
require('dotenv').config()
const env = require('./helpers/env.js')
// const sentry = require('./helpers/sentry.js')
const cache = require('./helpers/cache.js')
const certs = require('./helpers/certs.js')
const {manifest} = require('./routes/manifest.js')
const {catalog} = require('./routes/catalog.js')
const {meta} = require('./routes/meta.js')
const {streams} = require('./routes/streams.js')
const {url} = require('./routes/url.js')
const {configure} = require('./routes/configure.js')
const express = require('express')
const cors = require('cors')
const app = express()
// sentry.init(app)
app.use(cors())
const port = env.PORT
const baseUrl = '/1/:token'
app.enable('trust proxy')
app.get(baseUrl + '/manifest.json', cache.caching(), manifest)
app.get('/manifest.json', cache.caching(), manifest)
app.get(baseUrl + '/catalog/:type/:id/:extra?.json', cache.caching(), catalog)
app.get(baseUrl + '/meta/:type/:id.json', cache.caching(), meta);
app.get(baseUrl + '/stream/:type/:id.json', streams)
app.get('/stream/url/:id.json', url)
app.get('/', configure)
app.get('/configure', configure)
app.get(baseUrl + '/configure', configure)
cache.initRoutes(app)
certs.start(app, port, env.HTTPS, function () {
let base = `http${env.HTTPS ? "s" : ""}://127.0.0.1:${port}`
console.log(`legacy token ${base}/1/${env.WS_TOKEN}/manifest.json`)
console.log(`${base}/configure`)
console.log(`${base}/manifest.json`)
})
module.exports = app