'use strict'; const { AccessToken } = require('../node_modules/livekit-server-sdk'); const https = require('https'); (async () => { const at = new AccessToken( 'APIBTqTGxf9htMK', '0dOHWPffwneaPg7OYpe4PeAes21zLJfeYJB9cKzSTtXW', { ttl: 3600 }, ); at.addGrant({ roomCreate: true, roomList: true, roomAdmin: true, ingressAdmin: true }); const token = await at.toJwt(); const body = JSON.stringify({ inputType: 1, name: 'test-twirp', roomName: 'test-room', participantIdentity: 'obs', participantName: 'OBS', }); const options = { hostname: 'livekit-server.nextream.sytes.net', path: '/twirp/livekit.Ingress/CreateIngress', method: 'POST', headers: { 'Content-Type': 'application/json', Authorization: 'Bearer ' + token, 'Content-Length': Buffer.byteLength(body), }, }; const req = https.request(options, (res) => { let data = ''; res.on('data', (c) => (data += c)); res.on('end', () => { console.log('Status:', res.statusCode); console.log(data); }); }); req.on('error', (e) => console.error(e.message)); req.write(body); req.end(); })();