A self hosted livestreaming server.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
 
 
 
 
 
 
satyr/src/http.ts

47 lines
1.1 KiB

import * as express from "express";
import * as njk from "nunjucks";
import * as bodyparser from "body-parser";
import * as api from "./api";
import * as db from "./database";
var app = express();
var njkconf;
function init(satyr: any){
app.listen(8000);
njk.configure('templates', {
autoescape: true,
express : app,
watch: true
});
njkconf ={
sitename: satyr.name,
domain: satyr.domain,
email: satyr.email,
user: '',
streamtitle: '',
};
app.use(bodyparser.json());
app.use(bodyparser.urlencoded({ extended: true }));
app.get('/', (req, res) => {
res.render('index.njk', njkconf);
});
app.get('/about', (req, res) => {
res.render('about.njk', njkconf);
});
app.get('/users/*', (req, res) => {
njkconf.user = req.url.split('/')[2].toLowerCase();
res.render('user.njk', njkconf);
});
app.get('/registration', (req, res) => {
res.render('registration.njk', njkconf);
});
app.post('/api/register', (req, res) => {
api.register(req.body.username, req.body.password, req.body.streamer).then( (result) => {
res.send({"error":""});
});
});
app.use(express.static('site'));
}
export { init };