fixing a purl so it uses the start of the url for the pathname
[nodejsws.git] / lib / wsrequest.js
index 6f7cb52..81278bc 100644 (file)
@@ -137,8 +137,11 @@ function urlServicer(request, response, purl) {
                        }
                }
        } else {
-               // handle the purls
-               var newPurlPath = mainPath+"/"+path.basename(purl.pathname.replace(/\/$/, ""))+".js";
+               // handle the purls... we taje the pathname, drop the beginning "/", then drop every after the next "/"
+               // so we end up with a purl of "abcd" from a url:
+               // http://host/abcd/qewr/asdf/asdf/asdf/asdf/asdf/
+               // and will load mainPath/abcd.js
+               var newPurlPath = mainPath+"/"+path.basename(purl.pathname.replace(/^\//, "").replace(/\/.*$/, ""))+".js";
                console.log("attempting to require: ", newPurlPath);
                try {
                        var newPurlClass = require(newPurlPath);