Create "working" example
This commit is contained in:
66
gobot-gui/webrtc_test/api/main.ts
Normal file
66
gobot-gui/webrtc_test/api/main.ts
Normal file
@@ -0,0 +1,66 @@
|
||||
import { Application, Router } from "jsr:@oak/oak@14";
|
||||
import { router_webrtc } from "./webrtc_fake.ts";
|
||||
|
||||
const app = new Application();
|
||||
const router = new Router({
|
||||
prefix: "/api",
|
||||
});
|
||||
|
||||
let offer: any = {};
|
||||
let answer: any = {};
|
||||
|
||||
router.post("/offer", async (ctx) => {
|
||||
const body = await ctx.request.body.json();
|
||||
if (body) {
|
||||
offer = body;
|
||||
ctx.response.status = 200;
|
||||
ctx.response.body = { message: "Answer stored successfully" };
|
||||
} else {
|
||||
ctx.response.status = 400;
|
||||
ctx.response.body = { error: "Invalid JSON" };
|
||||
}
|
||||
});
|
||||
|
||||
router.post("/answer", async (ctx) => {
|
||||
const body = await ctx.request.body.json();
|
||||
if (body) {
|
||||
answer = body;
|
||||
ctx.response.status = 200;
|
||||
ctx.response.body = { message: "Answer stored successfully" };
|
||||
} else {
|
||||
ctx.response.status = 400;
|
||||
ctx.response.body = { error: "Invalid JSON" };
|
||||
}
|
||||
});
|
||||
|
||||
router.get("/offer", (ctx) => {
|
||||
ctx.response.body = offer;
|
||||
if(Object.keys(answer).length === 0) {
|
||||
ctx.response.status = 204;
|
||||
} else {
|
||||
offer = {};
|
||||
ctx.response.status = 200;
|
||||
}
|
||||
ctx.response.headers.set("Content-Type", "application/json");
|
||||
});
|
||||
|
||||
router.get("/answer", (ctx) => {
|
||||
ctx.response.body = answer;
|
||||
if(Object.keys(answer).length === 0) {
|
||||
ctx.response.status = 204;
|
||||
} else {
|
||||
answer = {};
|
||||
ctx.response.status = 200;
|
||||
}
|
||||
ctx.response.headers.set("Content-Type", "application/json");
|
||||
});
|
||||
|
||||
app.use(router_webrtc.routes());
|
||||
app.use(router_webrtc.allowedMethods());
|
||||
|
||||
app.use(router.routes());
|
||||
app.use(router.allowedMethods());
|
||||
|
||||
app.listen({
|
||||
port: 8080,
|
||||
});
|
||||
Reference in New Issue
Block a user