moved globals into global.njspurls.
[nodejsws.git] / lib / wsrequest.js
index c0bf4d1..20e71ba 100644 (file)
@@ -99,18 +99,43 @@ function urlServicer(request, response, purl) {
        // first resolve the module making the call and determine layout/purl
        var purlClass = layouts;
        var purlLayout = layouts.standard();
-       var mainPath = path.dirname(require.main.filename) + "/purls/";
+       var mainPath = "";
+       
+       if(typeof global.njspurls.mainPath != "undefined") {
+               mainPath = global.njspurls.mainPath;
+               console.log("gettingmainpath from global: ", mainPath);
+       } else {
+               mainPath = path.dirname(require.main.filename) + "/purls/";
+       }
 
        console.log("main purl path is ", mainPath);
        
        if(purl.pathname == "/") {
                if(defaultMainPurl == null) {
                        console.log("set purl class to layouts");
-                       purlClass = layouts;
+
+                       var mainPurlClassPath = mainPath+"/main.js";
+                       console.log("attempting to load main.js as the main purl class");
+                       try {
+                               var mainPurlClass = require(mainPurlClassPath);
+                               purlClass = mainPurlClass;
+                               console.log("main.js exists");
+                       } catch(err) {
+                               console.log("main.js doesnt exist, using default");
+                       }
                } else {
-                       // find and load the purl
+                       // find and load the purl, we'll use main.js
+                       var mainPurlClassPath = mainPath+"/"+defaultMainPurl+".js";
+                       
+                       console.log("attempting to load main.js as the main purl class");
+                       try {
+                               var mainPurlClass = require(mainPurlClassPath);
+                               purlClass = mainPurlClass;
+                               console.log("main.js exists");
+                       } catch(err) {
+                               console.log("main.js doesnt exist, using default");
+                       }
                }
-               
        } else {
                // handle the purls
                var newPurlPath = mainPath+"/"+path.basename(purl.pathname.replace(/\/$/, ""))+".js";
@@ -124,7 +149,6 @@ function urlServicer(request, response, purl) {
                        response.end();
                        return;
                }
-
        }
 
        if(typeof purlClass.layout == "undefined") {