X-Git-Url: http://git.pjr.cc/?p=nodejsws.git;a=blobdiff_plain;f=lib%2Fwsrequest.js;fp=lib%2Fwsrequest.js;h=20e71bab5844191a0b577b6d5386361daafc44d0;hp=c0bf4d10d5ef0f8d09e8af1c757e72c8daf91217;hb=45842e97cccbeffe43832f88ad97723e3a4bda2a;hpb=6beaec1f162befb123cc29c60566cd15da515750 diff --git a/lib/wsrequest.js b/lib/wsrequest.js index c0bf4d1..20e71ba 100644 --- a/lib/wsrequest.js +++ b/lib/wsrequest.js @@ -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") {