fixing a purl so it uses the start of the url for the pathname
authorpaulr <paulr@tv.pjr.cc>
Sun, 30 Dec 2012 10:50:40 +0000 (21:50 +1100)
committerpaulr <paulr@tv.pjr.cc>
Sun, 30 Dec 2012 10:50:40 +0000 (21:50 +1100)
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);