X-Git-Url: https://www.kengrimes.com/gitweb/?p=henge%2Fkiak.git;a=blobdiff_plain;f=main.js;h=4ae47da46fcc9cc034ff440b8f01ab3794996dab;hp=ff85c9c442336495c41605f08306774d15652570;hb=1c99c911f3941f23ceaa5f1b303e986f6de0dc7f;hpb=a7266a96e6dae393b4116bf0fde605b8118d8d82 diff --git a/main.js b/main.js index ff85c9c..4ae47da 100644 --- a/main.js +++ b/main.js @@ -1,71 +1,58 @@ const electron = require('electron') -const http = require('http') -const path = require('path') +const app = electron.app const url = require('url') +const WebSocket = require('ws') +const http = require('http') const fs = require('fs') -const app = electron.app -const BrowserWindow = electron.BrowserWindow -const ipcMain = electron.ipcMain - -let mainWindow - -function beginRendererProcess() { - mainWindow = new BrowserWindow({show: true, webPreferences: { webSecurity: false, experimentalFeatures: true}}) - mainWindow.loadURL(url.format({ - pathname: path.join(__dirname, 'renderer.html'), - protocol: 'file:', - slashes: true - })) - mainWindow.webContents.openDevTools() -} - -function captureStream() { - mainWindow.webContents.send('defaultStreamRequest', 'slr') - let p = new Promise((resolve,reject) => { - ipcMain.on('defaultStreamResponse', (event, arg) => { - console.log('received defaultStreamResponse') - console.log(arg) - resolve(arg) - }) - }) - - return p -} - const routes = { '/': function root(response) { - response.write(fs.readFileSync('admin.html')) + response.write(fs.readFileSync('host/host.html')) response.end() }, '/admin.js': function js(response) { - response.write(fs.readFileSync('admin.js')) + response.write(fs.readFileSync('host/host.js')) response.end() }, - '/admin.css': function css(response) { - response.write(fs.readFileSync('admin.css')) + '/adapter.js': function adapter(response) { + response.write(fs.readFileSync('adapter.js')) response.end() }, - '/favicon.ico': function favicon() { + '/favicon.ico': function favicon(response) { + response.write('N/A') response.end() }, '/streamlist': function streamlist(response) { - let mediaStream = captureStream().then((stream) => { - console.log(stream) - }) - - //response.write(mediaStream) + getDefaultStream() } } -app.on('ready', function() { - beginRendererProcess() +const rooms = {} + +/* TODO: Swap out url.parse with regex? */ +function determineResponse(request) { + const clientIP = request.connection.remoteAddress + || request.socket.remoteAddress + || request.connection.socket.remoteAddress + || req.headers['x-forwarded-for'].split(',')[0] + const parsedURL = url.parse(request.url) + /* Get the room name */ + const pathname = parsedURL.pathname + + +} + +app.on('ready', function() { + console.log('create server') http.createServer(function(request, response) { - const url = request.url - console.log('routing to ' + url); - routes[url](response) + + let route = determineResponse(request) + + console.log('routing to ' + route) + routes[route](response) }).listen(5140); + });