add: var pathMap = this._pathDirectoryMap; 
context:   _getFileForPath: function(path)  {    var pathMap = this._pathDirectoryMap;    // first, decode path and strip the leading '/'    try    {      path = decodeURI(path);    }    catch (e)    {      throw HTTP_400; // malformed path    }    // next, get the directory which contains this path    // An example progression of tmp for a path "/foo/bar/baz/" might be:    // "foo/bar/baz/", "foo/bar/baz", "foo/bar", "foo", ""    var tmp = path.substring(1);    while (true)    {      // do we have a match for current head of the path?      var file = pathMap.get(tmp);      if (file)      {        // XXX hack; basically disable showing mapping for /foo/bar/ when the        //     requested path was /foo/bar, because relative links on the page        //     will all be incorrect -- we really need the ability to easily        //     redirect here instead        if (tmp == path.substring(1) &&            tmp.length != 0 &&            tmp.charAt(tmp.length - 1) != "/")          file = null;        else          break;      }      // if we've finished trying all prefixes, exit      if (tmp == "")        break;      tmp = tmp.substring(0, tmp.lastIndexOf("/"));    }    // no mapping applies, so 404    if (!file)      throw HTTP_404;    // last, get the file for the path within the determined directory    var parentFolder = file.parent;    var dirIsRoot = (parentFolder == null);    // Strategy here is to append components individually, making sure we    // never move above the given directory; this allows paths such as    // "<file>/foo/../bar" but prevents paths such as "<file>/../base-sibling";    // this component-wise approach also means the code works even on platforms    // which don't use "/" as the directory separator, such as Windows    var leafPath = path.substring(tmp.length + 1);    var comps = leafPath.split("/");    for (var i = 0, sz = comps.length; i < sz; i++)    {      var comp = comps[i];      if (comp == "..")        file = file.parent;      else if (comp == "." || comp == "")        continue;      else        file.append(comp);      if (!dirIsRoot && file.equals(parentFolder))        throw HTTP_403;    }    return file;  },
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/9421/426b9b30276096d93f7925ef2410b7acaa05673e/httpd.js/buggy/netwerk/test/httpserver/httpd.js