|
@@ -1,4 +1,5 @@
|
|
-import { createError, opine, ErrorRequestHandler, Router, server, createHash } from "./deps.ts";
|
|
|
|
|
|
+import { createError, opine, proxy, ErrorRequestHandler, Router, createHash } from "./deps.ts";
|
|
|
|
+export interface server { host: string; secret: string };
|
|
import { BBB } from './bbb.ts';
|
|
import { BBB } from './bbb.ts';
|
|
|
|
|
|
// give your tinyscale server a secret so it looks like a BBB server
|
|
// give your tinyscale server a secret so it looks like a BBB server
|
|
@@ -44,7 +45,9 @@ function get_available_server(): server {
|
|
|
|
|
|
const router = Router()
|
|
const router = Router()
|
|
// the api itself answering to every call
|
|
// the api itself answering to every call
|
|
-router.all("/bigbluebutton/api/:call", async (req, res, next) => {
|
|
|
|
|
|
+
|
|
|
|
+// @ts-ignore
|
|
|
|
+const api = async (req, res, next) => {
|
|
const handler = new BBB(req)
|
|
const handler = new BBB(req)
|
|
if (!handler.authenticated(secret)) {
|
|
if (!handler.authenticated(secret)) {
|
|
res.setStatus(401).end()
|
|
res.setStatus(401).end()
|
|
@@ -60,8 +63,9 @@ router.all("/bigbluebutton/api/:call", async (req, res, next) => {
|
|
console.log(`Redirecting to ${server.host}`)
|
|
console.log(`Redirecting to ${server.host}`)
|
|
const redirect = handler.rewritten_query(server)
|
|
const redirect = handler.rewritten_query(server)
|
|
console.log(redirect)
|
|
console.log(redirect)
|
|
- res.redirect(redirect)
|
|
|
|
-});
|
|
|
|
|
|
+ return redirect
|
|
|
|
+};
|
|
|
|
+router.all("/bigbluebutton/api/:call", api)
|
|
// the fake answering machine to make sure we are recognized as a proper api
|
|
// the fake answering machine to make sure we are recognized as a proper api
|
|
router.get("/bigbluebutton/api", (req, res, next) => {
|
|
router.get("/bigbluebutton/api", (req, res, next) => {
|
|
console.log('sending fake xml response')
|
|
console.log('sending fake xml response')
|