restructured stuff
[henge/kiak.git] / main.js
diff --git a/main.js b/main.js
index ff85c9c..4ae47da 100644 (file)
--- 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);
+
 });