Merge branch 'master' of github.com:Jlavatai/strapp
[henge/kiak.git] / router.js
index 8fe5235..da32c95 100644 (file)
--- a/router.js
+++ b/router.js
@@ -33,7 +33,7 @@ exports = {
   httpdRoot: undefined,
   bindJail: undefined,
 
-  /** @func    
+  /** @func
    * @summary Start main HTTP server
    * @desc    starts up an HTTP or HTTPS server used for routing
    * @arg     {Object} conf - object containing configuration properties
@@ -83,7 +83,11 @@ exports = {
         console.log(err)
       })
     console.log(`HTTP${(conf.tls == undefined) ? '' : 'S'} ` +
+<<<<<<< HEAD
+                `Server Started on port ${conf.port}${this.httpdRoot ?
+=======
                 `Server Started on port ${conf.port}${this.httpdRoot ? 
+>>>>>>> 3f5fce84645ec2c59aec0908807d1e9cb3e05e2d
                 `, serving files from ${this.httpdRoot}`:''}`)
   },
 
@@ -116,7 +120,7 @@ exports = {
       throw new Error(`${path} not found, ${routeName} not bound`)
   },
 
-  /** @func    
+  /** @func
    * @summary Router
    * @desc    listens for http client requests and services routes/files
    * @arg     {http.ClientRequest} request
@@ -127,6 +131,10 @@ exports = {
     let htArgv = request.url.slice(1).split('?')
     const routeName = htArgv[0].split('/')[0]
     let route = this.routes[routeName]
+<<<<<<< HEAD
+    console.log(`route is ${route}`)
+=======
+>>>>>>> 3f5fce84645ec2c59aec0908807d1e9cb3e05e2d
     /* If the route exists, check if we are a returning host or a new client */
     if (route) {
       if (route.bind) {
@@ -142,7 +150,12 @@ exports = {
                          request.connection.remoteAddress))
         this.serveHost(response, route, htArgv)
       else */
+<<<<<<< HEAD
+      else {
+=======
+>>>>>>> 3f5fce84645ec2c59aec0908807d1e9cb3e05e2d
         this.serveClient(request, response, route)
+      }
     }
     /* If it's a valid routename that doesn't exist, make this client a host */
     else if (this.validRoutes.test(routeName)) {
@@ -211,7 +224,7 @@ exports = {
       this.serveFile(response, bind.path)
   },
 
-  /** @func    
+  /** @func
    * @summary Serve a route to an http client
    * @desc    routes may be bound to the filesystem, or to an outgoing host
    * @arg     {http.ClientRequest} request - request from the client
@@ -234,9 +247,9 @@ exports = {
     case 'client-sdp-offer':
       let data = ''
       if (pubKey) {
+        let data = request.headers['x-strapp-offer']
         route.pendingResponses.addResponse(pubKey, response)
-        request.on('data', (chunk) => data += chunk)
-        request.on('end', () => route.socket.send(`${pubKey} ${type} ${data}`))
+        route.socket.send(`${pubKey} ${type} ${data}`)
       }
       else {
         response.writeHead(401)
@@ -249,7 +262,11 @@ exports = {
     }
   },
 
+<<<<<<< HEAD
+  /** @func
+=======
   /** @func    
+>>>>>>> 3f5fce84645ec2c59aec0908807d1e9cb3e05e2d
    * @summary Create a new route for a host
    * @desc    makes a new route for the given route name
    * @arg     {string} routeName - name of the new route
@@ -284,13 +301,22 @@ exports = {
       })
     route.pendingResponses.addResponse = function (key, response_p) {
       let responses = this.get(key) || []
+<<<<<<< HEAD
+      responses.push(response_p)
+      this.set(key, responses)
+=======
       this.set(key, responses.push(response_p))
+>>>>>>> 3f5fce84645ec2c59aec0908807d1e9cb3e05e2d
     }
     this.routes[routeName] = route
     this.serveHost(response, route, argv)
   },
 
+<<<<<<< HEAD
+  /** @func
+=======
   /** @func    
+>>>>>>> 3f5fce84645ec2c59aec0908807d1e9cb3e05e2d
    * @summary Serve a route to an authorized http host
    * @desc    services host application to the client, establishing a socket
    * @arg     {http.ServerResponse} response - response object to use
@@ -379,7 +405,7 @@ exports = {
     }
   },
 
-  /** @func    
+  /** @func
    * @summary Serve a file to an http client after a request
    * @desc    reads files from the system to be distributed to clients, and
    *          buffers recently accessed files
@@ -401,8 +427,8 @@ exports = {
       response.end()
     })
   },
-  
-  /** @func   
+
+  /** @func
    * @summary Synchronize Reading Multiple Files
    * @desc    reads an array of files into an object, whose keys are the
    *          input filenames, and values are the data read